-
Notifications
You must be signed in to change notification settings - Fork 5
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
Add limited net11/net30/net35/net403 support (mostly for NuGet packages) #88
Conversation
name = "OldThing", | ||
srcs = ["Class.cs"], | ||
target_frameworks = ["net11"], | ||
include_stdrefs = False, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without this, the error message is:
The dependency @net//:StandardReferences is not compatible with net11!
I think this is a pretty good outcome!
@@ -102,9 +110,13 @@ FrameworkCompatibility = { | |||
"netstandard2.1": ["netstandard2.0"], | |||
|
|||
# .NET Framework | |||
"net11": [], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So the idea here is that we never "fill in" these frameworks with compatible ones (e.g. net20
-> net30
) but these can be used to populate the other direction (net30
-> net40
). The precedence is the natural order.
Maybe we don't need to do this. I wanted to prevent @net//:System.Linq
from existing though, because that's funky. It does mean it'd be extra hard to build net30
things with csharp_library
, but I don't know that we should really be worried about that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh yeah, true, having net20
provide the standard references for everything else wouldn't be amazing.
csharp/private/providers.bzl
Outdated
"net40": ["net20"], | ||
"net45": ["net40", "netstandard1.1"], | ||
"net30": [], | ||
"net35": [], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we just fill out these edges? As you've shown, we're technically supporting building with them, just without the availability of the framework.
Does not having "net35": ["net30"]
mean you can't build a net45 library, that depends on a net35 nuget, which itself depends on a net30 nuget?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was freaked out about accidentally creating @net35//:System.Linq
. I don't feel strongly about it though.
Yeah it might. Ok I'll do the normal thing.
You know, maybe |
Yeah, I was going to say, I think we just want something like a |
e13d2dd
to
758e7d1
Compare
758e7d1
to
d8654e6
Compare
This demonstrates that the framework selection for packages is working right.
The only hits for
|
This an alternative to #66 (for #59 )
I think this is way less hacky.