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 b9fc8b08ab3eef24f04f05bb400ec1e68e9b7373 Author: Cole Greer <[email protected]> AuthorDate: Tue Jul 21 15:38:07 2026 -0700 Automate GLV version propagation for Python, JavaScript, and Gremlint --- gremlin-javascript/pom.xml | 14 +++++++++ .../javascript/gremlin-javascript/lib/utils.js | 2 +- gremlin-python/pom.xml | 36 ++++++++++++++++++++++ gremlint/pom.xml | 9 ++++++ 4 files changed, 60 insertions(+), 1 deletion(-) diff --git a/gremlin-javascript/pom.xml b/gremlin-javascript/pom.xml index dea2967ef9..d36ae807c5 100644 --- a/gremlin-javascript/pom.xml +++ b/gremlin-javascript/pom.xml @@ -112,8 +112,21 @@ limitations under the License. def mavenVersion = "${project.version}" def versionForJs = mavenVersion.replace("-SNAPSHOT", "-alpha1") def platformAgnosticBaseDirPath = project.basedir.getAbsolutePath().replace("\\", "/") + + // Update package.json def file = new File(platformAgnosticBaseDirPath + "/src/main/javascript/gremlin-javascript/package.json") file.write(file.getText("UTF-8").replaceFirst(/"version": "(.*)",/, "\"version\": \"" + versionForJs + "\",")) + + // Update package-lock.json + file = new File(platformAgnosticBaseDirPath + "/src/main/javascript/gremlin-javascript/package-lock.json") + def lockContent = file.getText("UTF-8") + lockContent = lockContent.replaceFirst(/"version": ".*",\n\s+"lockfileVersion"/, "\"version\": \"" + versionForJs + "\",\n \"lockfileVersion\"") + lockContent = lockContent.replaceFirst(/("": \{\n\s+"name": "gremlin",\n\s+"version": )".*"/, "\$1\"" + versionForJs + "\"") + file.write(lockContent) + + // Update utils.js + file = new File(platformAgnosticBaseDirPath + "/src/main/javascript/gremlin-javascript/lib/utils.js") + file.write(file.getText("UTF-8").replaceFirst(/gremlinVersion = '.*'/, "gremlinVersion = '" + versionForJs + "'")) </script> </scripts> </configuration> @@ -223,6 +236,7 @@ limitations under the License. <groupId>com.google.code.maven-replacer-plugin</groupId> <artifactId>replacer</artifactId> <configuration> + <skip>true</skip> <file>src/main/javascript/gremlin-javascript/lib/utils.js</file> <replacements> <replacement> diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/utils.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/utils.js index e2fd9b0250..686fe53e9d 100644 --- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/utils.js +++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/utils.js @@ -25,7 +25,7 @@ const uuid = require('uuid'); -const gremlinVersion = '3.7.7-SNAPSHOT'; // DO NOT MODIFY - Configured automatically by Maven Replacer Plugin +const gremlinVersion = '3.7.7-alpha1'; // DO NOT MODIFY - Configured automatically by Maven build exports.toLong = function toLong(value) { return new Long(value); diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml index 21ccc02a84..d80f849d96 100644 --- a/gremlin-python/pom.xml +++ b/gremlin-python/pom.xml @@ -82,6 +82,42 @@ limitations under the License. </replacements> </configuration> </plugin> + <plugin> + <groupId>org.codehaus.gmavenplus</groupId> + <artifactId>gmavenplus-plugin</artifactId> + <dependencies> + <dependency> + <groupId>org.apache.groovy</groupId> + <artifactId>groovy-all</artifactId> + <version>${groovy.version}</version> + <type>pom</type> + <scope>runtime</scope> + </dependency> + </dependencies> + <executions> + <execution> + <id>update-version</id> + <phase>generate-sources</phase> + <goals> + <goal>execute</goal> + </goals> + <configuration> + <scripts> + <script> + def mavenVersion = "${project.version}" + // Translate Maven version to PEP 440: + // "x.y.z-SNAPSHOT" -> "x.y.z.dev1" + // "x.y.z" -> "x.y.z" + def pythonVersion = mavenVersion.replace("-SNAPSHOT", ".dev1") + def platformAgnosticBaseDirPath = project.basedir.getAbsolutePath().replace("\\", "/") + def file = new File(platformAgnosticBaseDirPath + "/src/main/python/gremlin_python/__init__.py") + file.write(file.getText("UTF-8").replaceFirst(/__version__ = '.*'/, "__version__ = '" + pythonVersion + "'")) + </script> + </scripts> + </configuration> + </execution> + </executions> + </plugin> </plugins> </build> diff --git a/gremlint/pom.xml b/gremlint/pom.xml index 43984f33c0..1a9b16122a 100644 --- a/gremlint/pom.xml +++ b/gremlint/pom.xml @@ -82,8 +82,17 @@ limitations under the License. <script> def versionForJs = mavenVersion.replace("-SNAPSHOT", "-alpha1") def platformAgnosticBaseDirPath = project.basedir.getAbsolutePath().replace("\\","/") + + // Update package.json def file = new File(platformAgnosticBaseDirPath + "/package.json") file.write(file.getText("UTF-8").replaceFirst(/"version": "(.*)",/, "\"version\": \"" + versionForJs + "\",")) + + // Update package-lock.json + file = new File(platformAgnosticBaseDirPath + "/package-lock.json") + def lockContent = file.getText("UTF-8") + lockContent = lockContent.replaceFirst(/"version": ".*",\n\s+"lockfileVersion"/, "\"version\": \"" + versionForJs + "\",\n \"lockfileVersion\"") + lockContent = lockContent.replaceFirst(/("": \{\n\s+"name": "gremlint",\n\s+"version": )".*"/, "\$1\"" + versionForJs + "\"") + file.write(lockContent) </script> </scripts> </configuration>
