-
Notifications
You must be signed in to change notification settings - Fork 3.4k
[dotnet] NuGet packaging for .NET Core #1884
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
Conversation
as part of this, add OutputPath to the csproj so it matches the mono csproj OutputPath
Hey, |
Hi,
published 4.7.1!
can you check if it works for you?
Eric
n.b. many thanks to all that contributed to this target :-)
… Le 27 mai 2017 à 13:57, Will Fuqua ***@***.***> a écrit :
This PR updates the nuspec file so the NuGet package includes the .NET Core DLL. The NuGet package has the following structure to support both .NET 3.5 and up, as well as .NET Core:
lib
├── net35
│ └── Antlr4.Runtime.Standard.dll
└── netstandard
└── Antlr4.Runtime.Core.dll
I've verified that when the NuGet package is installed in .NET Framework projects ("normal" .NET), it references Antlr4.Runtime.Standard.dll, and in .NET Core projects it references Antlr4.Runtime.Core.dll.
For the build process, ideally to do a cross-platform build we could use a multi-targeting build with dotnet, the new command-line tool from Microsoft. However, due to dotnet/msbuild#1333 <dotnet/msbuild#1333> (a bug with msbuild core) we need to continue using mono to build .NET3.5, and dotnet to build .NET core. I've included a script that makes this easier, and updated the documentation.
Please see the conversation from #1229 (comment) <#1229 (comment)> for more context. /cc @ericvergnaud <https://github.com/ericvergnaud>
You can view, comment on, or merge this pull request online at:
#1884 <#1884>
Commit Summary
add dotnetcore dll to nuspec
add build script and update docs
sign the contributors.txt
File Changes
M contributors.txt <https://github.com/antlr/antlr4/pull/1884/files#diff-0> (1)
M doc/releasing-antlr.md <https://github.com/antlr/antlr4/pull/1884/files#diff-1> (42)
M runtime/CSharp/runtime/CSharp/Antlr4.Runtime/Antlr4.Runtime.dotnet.csproj <https://github.com/antlr/antlr4/pull/1884/files#diff-2> (10)
M runtime/CSharp/runtime/CSharp/Package.nuspec <https://github.com/antlr/antlr4/pull/1884/files#diff-3> (1)
A runtime/CSharp/runtime/CSharp/build-nuget-package.sh <https://github.com/antlr/antlr4/pull/1884/files#diff-4> (14)
Patch Links:
https://github.com/antlr/antlr4/pull/1884.patch <https://github.com/antlr/antlr4/pull/1884.patch>
https://github.com/antlr/antlr4/pull/1884.diff <https://github.com/antlr/antlr4/pull/1884.diff>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#1884>, or mute the thread <https://github.com/notifications/unsubscribe-auth/ADLYJP0ccPwJsagvNfpnmGtWy_ASd1bqks5r97sugaJpZM4NoP95>.
|
I have a project that targets both the .NET framework and .NET Core. I upgraded both those projects to 4.7.1, and both worked great! Thank you for packaging it so quickly. One small thing I noticed is that both DLLs are stamped with the "4.7.0.0", even though the NuGet package is is 4.7.1: However, this doesn't appear to have any negative effect. Thanks again! |
Hi,
noted, we’ll ensure the next release is in sync!
tbh, the runtime hasn’t changed, so it’s 4.7.0, but you can’t republish on Nuget (which is good), so had to bump the nuget version.
Eric
… Le 28 mai 2017 à 21:11, Will Fuqua ***@***.***> a écrit :
I have a project that targets both the .NET framework and .NET Core. I upgraded both those projects to 4.7.1, and both worked great! Thank you for packaging it so quickly.
One small thing I noticed is that both DLLs are stamped with the "4.7.0.0", even though the NuGet package is is 4.7.1:
<https://cloud.githubusercontent.com/assets/97195/26528960/fdc71c98-43e0-11e7-8f4b-fd787bb6b966.PNG>
However, this doesn't appear to have any negative effect. Thanks again!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#1884 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/ADLYJN1uO00RAFq6oIrLFhxxn_s564GZks5r-XJzgaJpZM4NoP95>.
|
Hmm...i haven't released 4.7.1 antlr yet so won't 4.7.1 version confuse things? |
TBH I had no choice, given 4.7.0 was already published to Nuget.
It might indeed confuse people a bit, until you release 4.7.2 (skipping 4.7.1?)
Maybe we can add a note in the latest release docs?
… Le 28 mai 2017 à 23:23, Terence Parr ***@***.***> a écrit :
Hmm...i haven't released 4.7.1 antlr yet so won't 4.7.1 version confuse things?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#1884 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/ADLYJHBLYEIbaTS6mQbFMboMjrxd6Rpuks5r-ZFUgaJpZM4NoP95>.
|
no problem but why release 4.7.1 now? is that only way to test it via nuget? |
Nuget has no such thing as a maven snapshot repo, so yes you’d have to publish to test - very bad imho
But my intent was simply to publish on Nuget the 4.7.0 .Net Core runtime which is long due
As mentioned, it’s the exact same 4.7.0 runtime, no code change, only change is for the Nuget packaging
FYI the Nuget package contains both the Standard and Core versions
… Le 28 mai 2017 à 23:35, Terence Parr ***@***.***> a écrit :
no problem but why release 4.7.1 now? is that only way to test it via nuget?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#1884 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/ADLYJHAcdi4ton-deNfVZ3rGLsSGVdrUks5r-ZRdgaJpZM4NoP95>.
|
You could name it as 4.7.0.1 instead of 4.7.1. Antlr version incremented at the third number as usual. |
This PR updates the nuspec file so the NuGet package includes the .NET Core DLL. The NuGet package has the following structure to support both .NET 3.5 and up, as well as .NET Core:
I've verified that when the NuGet package is installed in .NET Framework projects ("normal" .NET), it references Antlr4.Runtime.Standard.dll, and in .NET Core projects it references Antlr4.Runtime.Core.dll.
For the build process, ideally to do a cross-platform build we could use a multi-targeting build with
dotnet
, the new command-line tool from Microsoft. However, due to dotnet/msbuild#1333 (a bug with msbuild core) we need to continue using mono to build .NET3.5, anddotnet
to build .NET core. I've included a script that makes this easier, and updated the documentation.Please see the conversation from #1229 (comment) for more context. /cc @ericvergnaud