-
Notifications
You must be signed in to change notification settings - Fork 262
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
Publish DafnyServer/Driver/Core to NuGet as well #2787
Publish DafnyServer/Driver/Core to NuGet as well #2787
Conversation
Replace version.cs with Directory.Build.props while we’re at it.
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.
This looks good in itself, but I just noticed one other reference to version.cs
, in Source/Dafny.sln
. That should probably go away, too.
strategy: | ||
fail-fast: false | ||
matrix: | ||
library-name: [ DafnyPipeline, DafnyLanguageServer, DafnyRuntime, DafnyCore, DafnyDriver ] |
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 this include DafnyServer
?
Not that we have to do it as part of this PR, but it would be great if there were a way to automatically populate this list.
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.
Yup, definitely, will add.
I made an attempt at automatically populating this, but it's a bit non-trivial since dotnet install Dafny
never works, as it complains that you're supposed to dotnet tool install
that instead, so I'd at least need to special-case that package. Added a comment to that effect too.
match = re.search(r'\[assembly:\s+AssemblyVersion\("([0-9]+.[0-9]+.[0-9]+).([0-9]+)"\)\]', fp.read()) | ||
# Checking Directory.Build.props | ||
with open(path.join(SOURCE_DIRECTORY, "Directory.Build.props")) as fp: | ||
match = re.search(r'\<VersionPrefix\>([0-9]+.[0-9]+.[0-9]+).([0-9]+)"\)', fp.read()) |
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.
@cpitclaudel is going to repair this broken regex :-)
Fixes #2776: the root cause is that
DafnyLanguageServer
depends onDafnyServer
, but the latter was never published. Also publishes the newDafnyDriver
andDafnyCore
packages I extracted out earlier, as otherwise the same problem would affect more packages on the next release.Also replaces
version.cs
with the more automatic mechanism of aBuild.Directory.props
file, just as Boogie uses. The side effect is that the version is more consistently aligned across all the published packages. In particular it changes the currentDafnyRuntime
version from1.2.0
to3.8.1.40901
(or rather3.9.0
by the time we release this).I managed to augment the existing GHA that verifies the
dafny
dotnet tool to also do a very superficial verification that each library we publish can at least resolve all of its dependencies through NuGet.By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.