[
https://issues.apache.org/jira/browse/TINKERPOP-2085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18098289#comment-18098289
]
ASF GitHub Bot commented on TINKERPOP-2085:
-------------------------------------------
Cole-Greer opened a new pull request, #3548:
URL: https://github.com/apache/tinkerpop/pull/3548
https://issues.apache.org/jira/browse/TINKERPOP-2085
Removes Mono from the gremlin-dotnet packaging/deploy pipeline, replacing
mono nuget.exe pack/push with native dotnet pack/dotnet nuget push. Mono was
only needed to run the Windows-only nuget.exe on Linux; the dotnet CLI has
supported equivalent pack/push functionality since SDK 2.1+, so no
functionality is
lost.
One behavioral change for release managers: the modern dotnet nuget push has
no equivalent to the old nuget.exe setApiKey, which stored the key encrypted
(via Windows DPAPI) in NuGet.Config — that encryption isn't available on
Linux/macOS. Deploys now require an explicit -Dnuget.apiKey=[key] Maven
property,
with a fail-fast check if it's omitted.
(https://github.com/NuGet/Home/issues/6437)
Changes:
- Replace mono nuget.exe pack → dotnet pack for Gremlin.Net.Template (adds
<NuspecFile>/<IsPackable> to its .csproj)
- Replace mono nuget.exe push → dotnet nuget push, gated behind a new
-Dnuget.apiKey property with a fail-fast Ant <fail> check
- Remove now-dead nugetVersion/nugetExe properties and the ant-contrib
antrun dependency
- Remove Mono APT repo, GPG key import, and mono-devel from docker/Dockerfile
- Update development-environment.asciidoc and release.asciidoc for the new
pack/push/API-key workflow
I haven't yet tested this against a deployment to a live environment, my
intention is to pull this forward to master, and try it out during the upcoming
deployment of 4.0.0-beta.3. I will make any adjustments as necessary during
that process.
VOTE +1
> Remove dependency on Mono
> -------------------------
>
> Key: TINKERPOP-2085
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2085
> Project: TinkerPop
> Issue Type: Improvement
> Components: build-release, dotnet
> Affects Versions: 3.2.10
> Reporter: Florian Hockmann
> Priority: Critical
>
> We currently rely on Mono to push NuGet packages and to create the
> Gremlin.Net.Template package.
> To push the packages, we can now also simply use [{{dotnet nuget
> push}}|https://docs.microsoft.com/dotnet/core/tools/dotnet-nuget-push]
> and for dotnet templates, there seems to be [a
> workaround|https://github.com/NuGet/Home/issues/4254#issuecomment-372795990]
> that uses a dummy {{.csproj}} file which enables {{dotnet pack}} to create a
> valid NuGet package for a dotnet template.
> So, we don't have to use Mono any more at all and we also shouldn't need to
> download nuget.exe any more during the build.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)