Drop support for Windows Runtime Component · Issue #815 · angularsen/UnitsNet · GitHub
Skip to content

Drop support for Windows Runtime Component #815

Closed

Description

@angularsen

I just wanted to bring this up again.
We added support for this in 2016 with #150, mainly because it was requested by a Microsoft team working on providing IoT nuget packages.

It is clear that this effort has stopped and the only two dependencies I can track via
fuget.org are:

Both of these stopped getting updates in 2017.

We visited this topic in 2018 in #576 and the Microsoft member that originally requested this feature pretty much confirmed that the Windows Runtime Component effort is dead in its tracks on Microsoft's side of things.

Nothing new has happened since then really, it's just been nagging at the back of my mind and I don't like having crud if it is not actually being used by anyone or it's like 5 people in the world who care.

Proposal

  • Deprecate the nuget package as no longer being maintained with a notice to contact us
  • Stop publishing WRC nugets as part of our normal workflow
  • Listen for a few months if anyone complains, then reconsider
  • If no one complains, then remove all WRC code and build scripts and stop publishing new nugets

Pros:

  • Simplifies UnitsNet code base and build pipeline, the wtf-factor goes down a few notches.

Cons:

  • The nuget is still being downloaded although it is hard to distinguish robots from actual usage.
  • We made an effort to make WRC codegen its own separate thing, so it does not really cost us much to keep it around and update it with new units.

Activity

  1. ebfortin commented on Aug 21, 2020

    @ebfortin
    Contributor

    A bit late to comment. My opinion is if it doesn't cost anything then why not keep it? If at some point it breaks the Windows Runtime build, then we should deprecate it. But right now if my understanding is correct it builds ok and no maintenance is needed. So why not keep it?

  2. angularsen commented on Aug 29, 2020

    @angularsen
    OwnerAuthor

    Thank you for your opinion on this.

    I 66% agree with you 😄 there is a cost however, in on-boarding new contributors having to know what WRC is.

    I'm perfectly open to keep it, but I do think it should be removed at some point in the future if we can determine that pretty much no one relies on it anymore. WRC as a technology is pretty much dropped dead by Microsoft. My hunch is that very, very few use this already today.

    I can't say for sure that no one is using it, which is why I created the issue hoping someone would notice and chime in saying they were actually using this.

  3. angularsen commented on Aug 29, 2020

    @angularsen
    OwnerAuthor

    A couple new sources of usage since last time:

  4. dschuermans commented on Oct 1, 2020

    @dschuermans
    Contributor

    Wouldn't it be an option to extract all the WRC stuff into it's own repository and have it live there? Maybe an entire copy of what currently exists is required (idk if code is being shared between the WRC stuff and UnitsNet?)

    It won't be getting any new units or fixes that are made to the normal UnitsNet library, but there's probably no need to either?
    Then, if someone does find an issue or whatever, it can be fixed there and optionally, a new nuget package published if required?

  5. angularsen commented on Oct 4, 2020

    @angularsen
    OwnerAuthor

    That is probably a good way to deprecate it, yes.

    Its readme could state that ownership of that code is abandoned and those who needs to keep it up to date would have to take ownership of it and sync in the new units from the main repo and set up their own build pipeline if they need one. The WRC nugets would point to the WRC repo to make it discoverable, in addition to having the nuget text describe the situation.

    I personally would like to do this, but if others would rather keep it because it does not add too much burden to this project, then I'm fine with that too (for some time period, not forever). So this issue is basically to hear out opinions of people using UnitsNet or contributing to the project.

  6. stale commented on Dec 4, 2020

    @stale

    This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

  7. added this to the 5.0 milestone on Nov 1, 2021
  8. angularsen commented on Nov 1, 2021

    @angularsen
    OwnerAuthor

    I'm removing WRC in v5, until someone comes screaming about adding it back.
    Beyond the summary listed above, I'd also like to mention that it shortens the build time, which is already pretty painful on appveyor's slow agents with 10-20 minute build times.

  9. changed the title [-]Discuss: Drop support for Windows Runtime Component[/-] [+]Drop support for Windows Runtime Component[/+] on Nov 1, 2021
  10. added a commit that references this issue on Nov 1, 2021
    496ed5d
  11. angularsen commented on Nov 1, 2021

    @angularsen
    OwnerAuthor

    Closed by 496ed5d in release/v5 branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions