This is an automated email from the ASF dual-hosted git repository. Cole-Greer pushed a commit to branch version-propagation in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 55be7655dacdf7a061416607cae91d0a32b50c71 Author: Cole Greer <[email protected]> AuthorDate: Tue Jul 21 15:40:52 2026 -0700 Update release docs and changelog for automated GLV version propagation --- CHANGELOG.asciidoc | 1 + docs/src/dev/developer/release.asciidoc | 20 +++++++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 5e54133fcc..b1ff3c6f69 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -31,6 +31,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima * Added `FailResponseException` to `gremlin-driver` which is thrown `fail()` step is triggered on the server making it more consistent with embedded behavior. * Fixed conjoin has incorrect null handling. * Expanded `gremlin-python` CI matrix to test against Python 3.9, 3.10, 3.11, 3.12, and 3.13. +* Automated version propagation to Python (`__version__`), JavaScript (`package-lock.json`), and Gremlint (`package-lock.json`) during the Maven build. * Add Node 26 support for `gremlin-javascript` and `gremlint`. [[release-3-7-6]] diff --git a/docs/src/dev/developer/release.asciidoc b/docs/src/dev/developer/release.asciidoc index f6374fda9a..ca29412697 100644 --- a/docs/src/dev/developer/release.asciidoc +++ b/docs/src/dev/developer/release.asciidoc @@ -68,6 +68,11 @@ mvn deploy -pl gremlin-javascript -Dnpm` Python, .NET and Javascript do not use the snapshot model the JVM does, however, the build is smart in that it will dynamically generate a development version number for the GLV artifacts when "-SNAPSHOT" is in the `pom.xml`. +NOTE: Running `mvn clean install -DskipTests` automatically propagates the Maven version to all GLV artifacts with the +correct per-language suffix conventions: Python uses `.devN` (e.g. `3.7.7.dev1`), JavaScript/npm uses `-alphaN` (e.g. +`3.7.7-alpha1`), and .NET/Go use the raw Maven version (e.g. `3.7.7-SNAPSHOT`). This includes `package-lock.json` in +both `gremlin-javascript` and `gremlint`, and `__version__` in `gremlin-python`. No manual version edits are required. + If you wish to verify that `mvn deploy` works before doing it officially then: * For Python, use the `testpypi` test environment by updating the `gremlin-python/pom.xml`. @@ -149,20 +154,20 @@ deployment. . `docker/build.sh -t -i -n` . `bin/publish-docs.sh <username>` - note that under a release candidate the documentation is published as SNAPSHOT . `mvn versions:set -DnewVersion=xx.yy.zz -DgenerateBackupPoms=false` to update the project files to reference a non-SNAPSHOT version -.. Manually update the `__version__` for `gremlin-python` in `gremlin-python/src/main/python/gremlin_python/__init__.py` . `mvn clean install -DskipTests` to update GLV versions +.. Verify that `__version__` in `gremlin-python/src/main/python/gremlin_python/__init__.py` was updated automatically by the build .. Review `Gremlin.Net.csproj`, `Gremlin.Net.Template.csproj` and `Gremlin.Net.Template.nuspec` in `gremlin-dotnet` -.. Review `package.json` and `package-lock.json` in `gremlin-javascript` and in `gremlint` +.. Review `package.json` and `package-lock.json` in `gremlin-javascript` and in `gremlint` (both are now updated automatically) . `pushd gremlin-console/bin; ln -fs ../target/apache-tinkerpop-gremlin-console-xx.yy.zz-standalone/bin/gremlin.sh gremlin.sh; popd` . `git diff` and review the updated files . `git commit -a -m "TinkerPop xx.yy.zz release"` and `git push` . `git tag -a -m "TinkerPop xx.yy.zz release" xx.yy.zz` and `git push --tags` . `mvn clean install` . `mvn versions:set -DnewVersion=xx.yy.zz-SNAPSHOT -DgenerateBackupPoms=false` to go back to SNAPSHOT -.. Manually update the `__version__` for `gremlin-python` in `gremlin-python/src/main/python/gremlin_python/__init__.py` to a dev version like `xx.yy.zz.dev1` . `mvn clean install -DskipTests` to update GLV versions +.. Verify that `__version__` in `gremlin-python/src/main/python/gremlin_python/__init__.py` was updated automatically by the build .. Review `Gremlin.Net.csproj`, `Gremlin.Net.Template.csproj` and `Gremlin.Net.Template.nuspec` in `gremlin-dotnet` -.. Review `package.json` and `package-lock.json` in `gremlin-javascript` and in `gremlint` +.. Review `package.json` and `package-lock.json` in `gremlin-javascript` and in `gremlint` (both are now updated automatically) . `pushd gremlin-console/bin; ln -fs ../target/apache-tinkerpop-gremlin-console-xx.yy.zz-SNAPSHOT-standalone/bin/gremlin.sh gremlin.sh; popd` . `git commit -a -m "Returned to xx.yy.zz-SNAPSHOT"` and `git push` . Announce the release candidate to `dev` mailing list and await feedback @@ -210,10 +215,10 @@ current release was under development as this new release will have those change .. Update the release date. .. Update the link to `CHANGELOG.asciidoc` - this link may already be correct but will not exist until the repository is tagged. . `mvn versions:set -DnewVersion=xx.yy.zz -DgenerateBackupPoms=false` to update project files to reference the non-SNAPSHOT version -.. Manually update the `__version__` for `gremlin-python` in `gremlin-python/src/main/python/gremlin_python/__init__.py` . `mvn clean install -DskipTests` to update GLV versions +.. Verify that `__version__` in `gremlin-python/src/main/python/gremlin_python/__init__.py` was updated automatically by the build .. Review `Gremlin.Net.csproj`, `Gremlin.Net.Template.csproj` and `Gremlin.Net.Template.nuspec` in `gremlin-dotnet` -.. Review `package.json` and `package-lock.json` in `gremlin-javascript` and in `gremlint` +.. Review `package.json` and `package-lock.json` in `gremlin-javascript` and in `gremlint` (both are now updated automatically) . `pushd gremlin-console/bin; ln -fs ../target/apache-tinkerpop-gremlin-console-xx.yy.zz-standalone/bin/gremlin.sh gremlin.sh; popd` . `git diff` and review the updated files . `mvn clean install` - need to build first so that the right version of the console is used with `bin/publish-docs.sh` @@ -320,8 +325,9 @@ the help of a PMC member for those steps. .. Make the appropriate branching changes as required by the release and bump the version to `SNAPSHOT` with `mvn versions:set -DnewVersion=xx.yy.zz-SNAPSHOT -DgenerateBackupPoms=false`. . `mvn clean install -DskipTests` to update GLV versions +.. Verify that `__version__` in `gremlin-python/src/main/python/gremlin_python/__init__.py` was updated automatically by the build .. Review `Gremlin.Net.csproj`, `Gremlin.Net.Template.csproj` and `Gremlin.Net.Template.nuspec` in `gremlin-dotnet` -.. Review `package.json` and `package-lock.json` in `gremlin-javascript` and in `gremlint` +.. Review `package.json` and `package-lock.json` in `gremlin-javascript` and in `gremlint` (both are now updated automatically) .. `pushd gremlin-console/bin; ln -fs ../target/apache-tinkerpop-gremlin-console-xx.yy.zz-SNAPSHOT-standalone/bin/gremlin.sh gremlin.sh; popd` .. Update CHANGELOG and upgrade docs to have the appropriate headers for the next version. .. `mvn clean install -DskipTests` - need to build first so that the right version of the console is used with `bin/publish-docs.sh`
