This is an automated email from the ASF dual-hosted git repository.

Cole-Greer pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git


The following commit(s) were added to refs/heads/master by this push:
     new b99d3bf6a9 CTR Update docs and enforment of java and maven versions
b99d3bf6a9 is described below

commit b99d3bf6a9cd0cfb0242307ff1ef04560271eac9
Author: Cole Greer <[email protected]>
AuthorDate: Wed Oct 14 13:06:55 2026 -0700

    CTR Update docs and enforment of java and maven versions
    
    Updates docs and maven-enforcer-plugin config to enforce Java 17+ and
    maven 3.6.3+. Both of these requirements are pre-existing in the repo,
    this is just updating docs and enforcement to reflect the existing
    reality.
---
 .skills/tinker-dev/SKILL.md                            |  2 +-
 .skills/tinker-dev/references/dev-environment-setup.md |  4 ++--
 .skills/tinker-dev/scripts/check-env.sh                | 18 ++++++++++--------
 .../src/dev/developer/development-environment.asciidoc |  5 ++++-
 pom.xml                                                |  2 +-
 5 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/.skills/tinker-dev/SKILL.md b/.skills/tinker-dev/SKILL.md
index ccf0d0728b..ce4a03c43a 100644
--- a/.skills/tinker-dev/SKILL.md
+++ b/.skills/tinker-dev/SKILL.md
@@ -7,7 +7,7 @@ description: >
   Covers coding conventions, build recipes, test evaluation, documentation,
   development environment setup, and Gremlin MCP server usage.
 license: Apache-2.0
-compatibility: Requires Java 11+, Maven 3.5.3+, Docker. Individual GLVs may 
need Python, Node.js, .NET SDK, or Go.
+compatibility: Requires Java 17, 21, or 25, Maven 3.6.3+, Docker. Individual 
GLVs may need Python, Node.js, .NET SDK, or Go.
 metadata:
   version: 1.0.0
   project: Apache TinkerPop
diff --git a/.skills/tinker-dev/references/dev-environment-setup.md 
b/.skills/tinker-dev/references/dev-environment-setup.md
index 6e5ce1c880..15e3229525 100644
--- a/.skills/tinker-dev/references/dev-environment-setup.md
+++ b/.skills/tinker-dev/references/dev-environment-setup.md
@@ -7,10 +7,10 @@ The canonical reference is 
`docs/src/dev/developer/development-environment.ascii
 
 ### Minimum (Java-only build)
 
-- **Java 11 or 17** — OpenJDK recommended. Use [SDKMAN!](https://sdkman.io/) 
to manage versions.
+- **Java 17, 21, or 25** — Java 17 is the minimum; 21 and 25 are the other 
supported LTS releases. OpenJDK recommended. Use [SDKMAN!](https://sdkman.io/) 
to manage versions.
   Note: some deep reflection requires `--add-opens` JVM options, which are 
already configured
   in the pom files.
-- **Maven 3.5.3+** — also manageable via SDKMAN.
+- **Maven 3.6.3+** — also manageable via SDKMAN.
 
 With just Java and Maven you can build JVM modules and get a clean `mvn clean 
install`, but
 GLV builds and many integration tests will be skipped.
diff --git a/.skills/tinker-dev/scripts/check-env.sh 
b/.skills/tinker-dev/scripts/check-env.sh
index ebe8db1cd8..f2c00f7914 100755
--- a/.skills/tinker-dev/scripts/check-env.sh
+++ b/.skills/tinker-dev/scripts/check-env.sh
@@ -44,23 +44,25 @@ echo ""
 echo "Core prerequisites:"
 if command -v java &>/dev/null; then
     java_version=$(java -version 2>&1 | head -1 | sed 's/.*"\(.*\)".*/\1/' | 
cut -d. -f1)
-    if [[ "$java_version" -eq 11 || "$java_version" -eq 17 ]]; then
-        ok "Java $java_version (11 or 17 required)"
-    elif [[ "$java_version" -gt 17 ]]; then
-        bad "Java $java_version found — only Java 11 or 17 are supported (use 
sdkman.io to switch)"
+    if [[ "$java_version" -eq 17 || "$java_version" -eq 21 || "$java_version" 
-eq 25 ]]; then
+        ok "Java $java_version (17, 21, or 25 supported)"
+    elif [[ "$java_version" -gt 17 && "$java_version" -lt 26 ]]; then
+        skip "Java $java_version found — the build accepts 17 through 25, but 
only the LTS releases 17, 21 and 25 are supported"
+    elif [[ "$java_version" -ge 26 ]]; then
+        bad "Java $java_version found — Java 17 through 25 required (use 
sdkman.io to switch)"
     else
-        bad "Java $java_version found — version 11 or 17 required (use 
sdkman.io to install)"
+        bad "Java $java_version found — Java 17, 21, or 25 required (use 
sdkman.io to install)"
     fi
 else
-    bad "Java not found — install Java 11 or 17 (use sdkman.io)"
+    bad "Java not found — install Java 17, 21, or 25 (use sdkman.io)"
 fi
 
 # --- Maven ---
 if command -v mvn &>/dev/null; then
     mvn_version=$(mvn --version 2>/dev/null | head -1 | grep -oE 
'[0-9]+\.[0-9]+\.[0-9]+' | head -1)
-    ok "Maven $mvn_version (3.5.3+ required)"
+    ok "Maven $mvn_version (3.6.3+ required)"
 else
-    bad "Maven not found — install Maven 3.5.3+ (try sdkman.io)"
+    bad "Maven not found — install Maven 3.6.3+ (try sdkman.io)"
 fi
 
 # --- Docker ---
diff --git a/docs/src/dev/developer/development-environment.asciidoc 
b/docs/src/dev/developer/development-environment.asciidoc
index 43aba9a4da..88a49c70ae 100644
--- a/docs/src/dev/developer/development-environment.asciidoc
+++ b/docs/src/dev/developer/development-environment.asciidoc
@@ -33,7 +33,7 @@ At a minimum, development of TinkerPop requires 
link:https://openjdk.org/project
 also run on link:https://openjdk.org/projects/jdk/21/[Java 21] and 
link:https://openjdk.org/projects/jdk/25/[Java 25].
 Note, however, that there are some issues with deep reflection
 so there are `--add-opens` JVM options included in the pom files to enable 
this to work. Maven (requiring a minimum of
-link:https://maven.apache.org/download.cgi[Maven 3.5.3+]) is used as the 
common build system, which even
+link:https://maven.apache.org/download.cgi[Maven 3.6.3+]) is used as the 
common build system, which even
 controls the builds of non-JVM 
link:https://tinkerpop.apache.org/docs/x.y.z/reference/#gremlin-drivers-variants[GLVs]
 such as `gremlin-python`. Java and Maven are described as a "minimum" for a 
development environment, because they
 will only build JVM portions of TinkerPop and many integration tests will not 
fire with this simple setup. It is
@@ -125,6 +125,9 @@ Gremlin Console subprocess, and renders the console output 
as tabbed HTML. The o
 distributions, installs the required plugins into the console, starts a 
Gremlin Server (for the `:remote` examples) and
 a Gephi mock, then invokes Maven to run the extension. Javadocs should be 
built using Java 17.
 
+NOTE: Documentation generation uses the `asciidoctor-maven-plugin`, which 
requires link:https://maven.apache.org/download.cgi[Maven 3.8.8+],
+newer than the Maven 3.6.3 minimum for the rest of the build.
+
 The `docs/tinkeradoc-extension` project is a standalone Maven project rather 
than a module of the root reactor, so a
 `mvn clean install` from the project root does not build it. It must be built 
and installed into the local repository
 before generating documentation -- both because the `asciidoctor-maven-plugin` 
consumes it as a plugin dependency and
diff --git a/pom.xml b/pom.xml
index 5d556aceee..1eb3cdd928 100644
--- a/pom.xml
+++ b/pom.xml
@@ -262,7 +262,7 @@ limitations under the License.
                                     <version>[17,26)</version>
                                 </requireJavaVersion>
                                 <requireMavenVersion>
-                                    <version>[3.5.3,)</version>
+                                    <version>[3.6.3,)</version>
                                 </requireMavenVersion>
                             </rules>
                         </configuration>

Reply via email to