[ 
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)

Reply via email to