Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CoreFx test utility depends on Microsoft.DotNet.PlatformAbstractions #25681

Closed
weshaggard opened this issue Mar 29, 2018 · 4 comments
Closed

Comments

@weshaggard
Copy link
Member

@krwq @tarekgh @eerhardt added a dependency on Microsoft.DotNet.PlatformAbstractions to CoreFx.TestUtilities in dotnet/corefx#24531. That cause a cycle in our build-from-source efforts so we have to figure out a solution to break that cycle.

For now I'm going to break the cycle by pinning to an existing version but we cannot do that in general because it requires us to have an existing binary which is bad for new-distro bring-up.

@eerhardt what is your thoughts on bring Microsoft.DotNet.PlatformAbstractions into corefx?

weshaggard referenced this issue in dotnet/corefx Mar 30, 2018
We cannot depend on the latest PlatformAbstractions package
which is built from core-setup as it adds a cycle which we cannot
have in our source-build. To fix this temporarily we are pinning
to the last stable version 2.0.4.

See issue https://github.com/dotnet/corefx/issues/28620.
@weshaggard
Copy link
Member Author

See dotnet/corefx@fa9fe16 for how I plan to pin it for now.

@eerhardt
Copy link
Member

@eerhardt what is your thoughts on bring Microsoft.DotNet.PlatformAbstractions into corefx?

I would absolutely LOVE for this to happen.

However, I don't think it should go wholesale into corefx. I think pieces of it should be removed altogether (I'm looking at you HashCodeCombiner and Platform).

And some things should be folded into System.Runtime.InteropServices.RuntimeInformation, like RuntimeEnvironment.

ApplicationEnvironment can probably be deleted as well now that we have netstandard2.0. I'm not exactly sure what it's main purpose was - mostly for net45 and netstandard1.3 code to be able to call 1 method to get the BaseDirectory without having to #if themselves. With netstandard2.0, users can now call AppContext.BaseDirectory, or AppDomain.CurrentDomain.BaseDirectory for this.

So thinking about it more - probably move RuntimeEnvironment into RuntimeInformation, and delete the rest. Obviously the library will still live in servicing branches, if we ever need to service the already released versions of it. And users can continue to use the already released versions all they want.

weshaggard referenced this issue in weshaggard/corefx Apr 3, 2018
We cannot depend on the latest PlatformAbstractions package
which is built from core-setup as it adds a cycle which we cannot
have in our source-build. To fix this temporarily we are pinning
to the last stable version 2.0.4.

See issue https://github.com/dotnet/corefx/issues/28620.
weshaggard referenced this issue in weshaggard/corefx Apr 3, 2018
We cannot depend on the latest PlatformAbstractions package
which is built from core-setup as it adds a cycle which we cannot
have in our source-build. To fix this temporarily we are pinning
to the last stable version 2.0.4.

See issue https://github.com/dotnet/corefx/issues/28620.
@ghost
Copy link

ghost commented May 9, 2018

[if former offsets the latter] maybe we can try to think it in light of the proposed API at https://github.com/dotnet/corefx/issues/27417 for public consumption when bringing over
https://github.com/dotnet/core-setup/tree/fd1dc48fad5bc32258c8c0fc885fbf4b1e32bebd/src/managed/Microsoft.DotNet.PlatformAbstractions to corefx?

@weshaggard
Copy link
Member Author

@msftgits msftgits transferred this issue from dotnet/corefx Jan 31, 2020
@msftgits msftgits added this to the 3.0 milestone Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 17, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants