Only pack Gremlin.Net.Template on demand TINKERPOP-1836
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/492353fa Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/492353fa Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/492353fa Branch: refs/heads/master Commit: 492353fae288e0ad4c52969e6e3662cddd8d5974 Parents: a968c86 Author: Florian Hockmann <[email protected]> Authored: Thu Jun 14 17:29:48 2018 +0200 Committer: Florian Hockmann <[email protected]> Committed: Tue Jun 19 16:41:20 2018 +0200 ---------------------------------------------------------------------- .../developer/development-environment.asciidoc | 10 ++- docs/src/dev/developer/release.asciidoc | 1 + gremlin-dotnet/src/pom.xml | 70 +++++++++----------- 3 files changed, 39 insertions(+), 42 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/492353fa/docs/src/dev/developer/development-environment.asciidoc ---------------------------------------------------------------------- diff --git a/docs/src/dev/developer/development-environment.asciidoc b/docs/src/dev/developer/development-environment.asciidoc index 72aff9c..0cf06f6 100644 --- a/docs/src/dev/developer/development-environment.asciidoc +++ b/docs/src/dev/developer/development-environment.asciidoc @@ -105,8 +105,6 @@ See the <<release-environment,Release Environment>> section for more information The build optionally requires link:https://www.microsoft.com/net/core[.NET Core SDK] (>=2.1.101) to work with the `gremlin-dotnet` module. If .NET Core SDK is not installed, TinkerPop will still build with Maven, but .NET projects will be skipped. -In order to pack the Gremlin.Net Template project, it is also necessary to install link:http://www.mono-project.com/[Mono]. -The template will still be built and tested when Mono is not present but packing will be skipped. `gremlin-dotnet` can be built and tested from the command line with: @@ -118,6 +116,14 @@ and `test` directories of the `gremlin-dotnet` module  which will signify to Ma The `.glv` file need not have any contents and is ignored by Git. A standard `mvn clean install` will then build `gremlin-dotnet` in full. +In order to pack the Gremlin.Net.Template project, it is also necessary to install link:http://www.mono-project.com/[Mono]. +The template can still be built and tested without Mono but packing will be skipped. +To pack the template (which will also download the link:https://docs.microsoft.com/en-us/nuget/tools/nuget-exe-cli-reference[NuGet CLI tool]) +the `nuget` property has to be set: + +[source,text] +mvn clean install -Dnuget + See the <<release-environment,Release Environment>> section for more information on release manager configurations. [[nodejs-environment]] http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/492353fa/docs/src/dev/developer/release.asciidoc ---------------------------------------------------------------------- diff --git a/docs/src/dev/developer/release.asciidoc b/docs/src/dev/developer/release.asciidoc index 5496b31..eeb4679 100644 --- a/docs/src/dev/developer/release.asciidoc +++ b/docs/src/dev/developer/release.asciidoc @@ -112,6 +112,7 @@ during this period. . At some point during the week: .. Run the full integration test suite: `mvn clean install -DskipIntegrationTests=false -DincludeNeo4j` .. Build and test the Docker images: `mvn clean install -pl gremlin-server,gremlin-console -DdockerImages` +.. Ensure that the Gremlin.Net.Template gets packaged successfully: `mvn clean install -Dnuget` .. Deploy a final SNAPSHOT to the snapshot repository as well as GLV and Docker image pre-releases. .. Review LICENSE and NOTICE files to make sure that no <<dependencies,changes are needed>>. .. Review javadoc filters on the "Core API" docs to be sure nothing needs to change. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/492353fa/gremlin-dotnet/src/pom.xml ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/src/pom.xml b/gremlin-dotnet/src/pom.xml index a018c89..664522a 100644 --- a/gremlin-dotnet/src/pom.xml +++ b/gremlin-dotnet/src/pom.xml @@ -93,6 +93,33 @@ limitations under the License. <nugetAddEnabled>false</nugetAddEnabled> </configuration> </plugin> + </plugins> + </build> + </profile> + <!-- + Provides a way to deploy the Gremlin.Net GLV to nuget. This cannot be part of the standard maven execution + because nuget does not have a staging environment like sonatype for releases. As soon as the release is + published it is public. In our release workflow, deploy occurs prior to vote on the release and we can't + make this stuff public until the vote is over. + --> + <profile> + <id>glv-dotnet-deploy</id> + <activation> + <activeByDefault>false</activeByDefault> + <property> + <name>nuget</name> + </property> + </activation> + <properties> + <packaging.type>dotnet-library</packaging.type> + </properties> + <build> + <plugins> + <!-- + not seeing much point to making this OS agnostic really. as far as it is known, no one who does + deployments will do so from a windows machine. this part of the build requires mono. note that + the "correct" version of nuget is downloaded as part of the process. + --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> @@ -132,46 +159,6 @@ limitations under the License. </tasks> </configuration> </execution> - </executions> - <dependencies> - <dependency> - <groupId>ant-contrib</groupId> - <artifactId>ant-contrib</artifactId> - <version>20020829</version> - </dependency> - </dependencies> - </plugin> - </plugins> - </build> - </profile> - <!-- - Provides a way to deploy the Gremlin.Net GLV to nuget. This cannot be part of the standard maven execution - because nuget does not have a staging environment like sonatype for releases. As soon as the release is - published it is public. In our release workflow, deploy occurs prior to vote on the release and we can't - make this stuff public until the vote is over. - --> - <profile> - <id>glv-dotnet-deploy</id> - <activation> - <activeByDefault>false</activeByDefault> - <property> - <name>nuget</name> - </property> - </activation> - <properties> - <packaging.type>dotnet-library</packaging.type> - </properties> - <build> - <plugins> - <!-- - not seeing much point to making this OS agnostic really. as far as it is known, no one who does - deployments will do so from a windows machine. this part of the build requires mono. note that - the "correct" version of nuget is downloaded as part of the process. - --> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> - <executions> <execution> <id>deploy-nuget</id> <phase>deploy</phase> @@ -201,6 +188,9 @@ limitations under the License. <exec executable="mono" failonerror="true"> <arg line="${nugetExe} push Gremlin.Net/bin/Gremlin.Net.*.nupkg -Source https://www.nuget.org/api/v2/package -ConfigFile ${user.home}/.config/NuGet/NuGet.Config"/> </exec> + <exec executable="mono" failonerror="true"> + <arg line="${nugetExe} push Gremlin.Net.Template.*.nupkg -Source https://www.nuget.org/api/v2/package -ConfigFile ${user.home}/.config/NuGet/NuGet.Config"/> + </exec> </tasks> </configuration> </execution>
