diff --git a/graalpython/com.oracle.graal.python.test/src/tests/standalone/test_standalone.py b/graalpython/com.oracle.graal.python.test/src/tests/standalone/test_standalone.py
index f7fe79ad6e..ac2c4ba1f1 100644
--- a/graalpython/com.oracle.graal.python.test/src/tests/standalone/test_standalone.py
+++ b/graalpython/com.oracle.graal.python.test/src/tests/standalone/test_standalone.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# The Universal Permissive License (UPL), Version 1.0
@@ -99,6 +99,16 @@ def get_gp():
return graalpy
+
+def get_graalvm_version():
+ graalvmVersion, _ = run_cmd([get_gp(), "-c", "print(__graalpython__.get_graalvm_version(), end='')"], os.environ.copy())
+ # when JLine is cannot detect a terminal, it prints logging info
+ graalvmVersion = graalvmVersion.split("\n")[-1]
+ # we never test -dev versions here, we always pretend to use release versions
+ graalvmVersion = graalvmVersion.split("-dev")[0]
+ return graalvmVersion
+
+
class PolyglotAppTest(unittest.TestCase):
def setUpClass(self):
@@ -111,9 +121,7 @@ def setUpClass(self):
self.archetypeGroupId = "org.graalvm.python"
self.archetypeArtifactId = "graalpy-archetype-polyglot-app"
self.pluginArtifactId = "graalpy-maven-plugin"
- graalvmVersion, _ = run_cmd([get_gp(), "-c", "print(__graalpython__.get_graalvm_version(), end='')"], self.env)
- # when JLine is cannot detect a terminal, it prints logging info
- self.graalvmVersion = graalvmVersion.split("\n")[-1]
+ self.graalvmVersion = get_graalvm_version()
for custom_repo in os.environ.get("MAVEN_REPO_OVERRIDE", "").split(","):
url = urllib.parse.urlparse(custom_repo)
@@ -392,7 +400,8 @@ def test_native_executable_one_file():
graalpy = get_gp()
if graalpy is None:
return
- env = os.environ.copy()
+ env = os.environ.copy()
+ env["MVN_GRAALPY_VERSION"] = get_graalvm_version()
with tempfile.TemporaryDirectory() as tmpdir:
@@ -417,6 +426,7 @@ def test_native_executable_venv_and_one_file():
if graalpy is None:
return
env = os.environ.copy()
+ env["MVN_GRAALPY_VERSION"] = get_graalvm_version()
with tempfile.TemporaryDirectory() as target_dir:
source_file = os.path.join(target_dir, "hello.py")
@@ -453,6 +463,7 @@ def test_native_executable_module():
if graalpy is None:
return
env = os.environ.copy()
+ env["MVN_GRAALPY_VERSION"] = get_graalvm_version()
with tempfile.TemporaryDirectory() as tmp_dir:
diff --git a/graalpython/graalpy-archetype-polyglot-app/pom.xml b/graalpython/graalpy-archetype-polyglot-app/pom.xml
index f9023950a0..f2d245f150 100644
--- a/graalpython/graalpy-archetype-polyglot-app/pom.xml
+++ b/graalpython/graalpy-archetype-polyglot-app/pom.xml
@@ -44,7 +44,7 @@ SOFTWARE.
org.graalvm.python
graalpy-archetype-polyglot-app
- 24.0.0-dev
+ 24.0.0
maven-archetype
diff --git a/graalpython/graalpy-archetype-polyglot-app/src/main/resources/archetype-resources/pom.xml b/graalpython/graalpy-archetype-polyglot-app/src/main/resources/archetype-resources/pom.xml
index 563110ce7e..7f2cb30f5b 100644
--- a/graalpython/graalpy-archetype-polyglot-app/src/main/resources/archetype-resources/pom.xml
+++ b/graalpython/graalpy-archetype-polyglot-app/src/main/resources/archetype-resources/pom.xml
@@ -10,7 +10,7 @@
#set( $symbol_dollar = '$' )
- 24.0.0-dev
+ 24.0.0
python-community
17
17
diff --git a/graalpython/graalpy-jbang/examples/hello.java b/graalpython/graalpy-jbang/examples/hello.java
index d5d68f566e..286db754fa 100644
--- a/graalpython/graalpy-jbang/examples/hello.java
+++ b/graalpython/graalpy-jbang/examples/hello.java
@@ -40,10 +40,10 @@
*/
///usr/bin/env jbang "$0" "$@" ; exit $?
-//DEPS org.graalvm.python:python-language:24.0.0-dev
-//DEPS org.graalvm.python:python-resources:24.0.0-dev
-//DEPS org.graalvm.python:python-launcher:24.0.0-dev
-//DEPS org.graalvm.python:python-embedding:24.0.0-dev
+//DEPS org.graalvm.python:python-language:24.0.0
+//DEPS org.graalvm.python:python-resources:24.0.0
+//DEPS org.graalvm.python:python-launcher:24.0.0
+//DEPS org.graalvm.python:python-embedding:24.0.0
//PIP termcolor
import org.graalvm.polyglot.Context;
diff --git a/graalpython/graalpy-jbang/templates/graalpy-template.java.qute b/graalpython/graalpy-jbang/templates/graalpy-template.java.qute
index f35c1071a6..b9debac309 100644
--- a/graalpython/graalpy-jbang/templates/graalpy-template.java.qute
+++ b/graalpython/graalpy-jbang/templates/graalpy-template.java.qute
@@ -4,10 +4,10 @@
{/for}
{#if dependencies.isEmpty()}// //DEPS {/if}
-//DEPS org.graalvm.python:python-language:24.0.0-dev
-//DEPS org.graalvm.python:python-resources:24.0.0-dev
-//DEPS org.graalvm.python:python-launcher:24.0.0-dev
-//DEPS org.graalvm.python:python-embedding:24.0.0-dev
+//DEPS org.graalvm.python:python-language:24.0.0
+//DEPS org.graalvm.python:python-resources:24.0.0
+//DEPS org.graalvm.python:python-launcher:24.0.0
+//DEPS org.graalvm.python:python-embedding:24.0.0
//PIP termcolor
import org.graalvm.polyglot.Context;
diff --git a/graalpython/graalpy-jbang/templates/graalpy-template_local_repo.java.qute b/graalpython/graalpy-jbang/templates/graalpy-template_local_repo.java.qute
index 0990adcf46..f39bf4b140 100644
--- a/graalpython/graalpy-jbang/templates/graalpy-template_local_repo.java.qute
+++ b/graalpython/graalpy-jbang/templates/graalpy-template_local_repo.java.qute
@@ -6,10 +6,10 @@
//REPOS mc=https://repo1.maven.org/maven2/
//REPOS local=file://{path_to_local_repo}
-//DEPS org.graalvm.python:python-language:24.0.0-dev
-//DEPS org.graalvm.python:python-resources:24.0.0-dev
-//DEPS org.graalvm.python:python-launcher:24.0.0-dev
-//DEPS org.graalvm.python:python-embedding:24.0.0-dev
+//DEPS org.graalvm.python:python-language:24.0.0
+//DEPS org.graalvm.python:python-resources:24.0.0
+//DEPS org.graalvm.python:python-launcher:24.0.0
+//DEPS org.graalvm.python:python-embedding:24.0.0
//PIP termcolor
import org.graalvm.polyglot.Context;
diff --git a/graalpython/graalpy-maven-plugin/pom.xml b/graalpython/graalpy-maven-plugin/pom.xml
index e74a7ba6c0..e36ecbd15c 100644
--- a/graalpython/graalpy-maven-plugin/pom.xml
+++ b/graalpython/graalpy-maven-plugin/pom.xml
@@ -47,14 +47,14 @@ SOFTWARE.
org.graalvm.python
graalpy-maven-plugin
maven-plugin
- 24.0.0-dev
+ 24.0.0
graalpy-maven-plugin
17
17
UTF-8
- 24.0.0-dev
+ 24.0.0
diff --git a/mx.graalpython/mx_graalpython.py b/mx.graalpython/mx_graalpython.py
index f463055006..31cb7a7bcf 100644
--- a/mx.graalpython/mx_graalpython.py
+++ b/mx.graalpython/mx_graalpython.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2018, 2023, Oracle and/or its affiliates.
+# Copyright (c) 2018, 2024, Oracle and/or its affiliates.
# Copyright (c) 2013, Regents of the University of California
#
# All rights reserved.
@@ -935,8 +935,7 @@ def deploy_local_maven_repo():
# build GraalPy and all the necessary dependencies, so that we can deploy them
mx.run_mx(["build"])
# deploy maven artifacts
- import mx_sdk_vm_impl
- version = mx_sdk_vm_impl.graalvm_version('graalvm')
+ version = GRAAL_VERSION
path = os.path.join(SUITE.get_mx_output_dir(), 'public-maven-repo')
licenses = ['EPL-2.0', 'PSF-License', 'GPLv2-CPE', 'ICU,GPLv2', 'BSD-simplified', 'BSD-new', 'UPL', 'MIT']
deploy_args = [
@@ -954,7 +953,7 @@ def deploy_local_maven_repo():
mx.rmtree(path, ignore_errors=True)
os.mkdir(path)
mx.maven_deploy(deploy_args)
- return path
+ return path, version
def python_jvm(_=None):
@@ -1403,10 +1402,10 @@ def graalpython_gate_runner(args, tasks):
# JUnit tests with Maven
with Task('GraalPython integration JUnit with Maven', tasks, tags=[GraalPythonTags.junit_maven]) as task:
if task:
- mvn_repo_path = pathlib.Path(deploy_local_maven_repo()).as_uri()
+ mvn_repo_path, artifacts_version = deploy_local_maven_repo()
+ mvn_repo_path = pathlib.Path(mvn_repo_path).as_uri()
central_override = mx_urlrewrites.rewriteurl('https://repo1.maven.org/maven2/')
pom_path = os.path.join(SUITE.dir, 'graalpython/com.oracle.graal.python.test.integration/pom.xml')
- artifacts_version = GRAAL_VERSION + '-dev'
mvn_cmd_base = ['-f', pom_path,
f'-Dcom.oracle.graal.python.test.polyglot.version={artifacts_version}',
f'-Dcom.oracle.graal.python.test.polyglot_repo={mvn_repo_path}',
@@ -1481,14 +1480,13 @@ def graalpython_gate_runner(args, tasks):
'JAVA_HOME': graalvm_jdk(),
'PYTHON_STANDALONE_HOME': graalpy_standalone_home('jvm')
}
- mvn_repo_path = deploy_local_maven_repo()
+ mvn_repo_path, version = deploy_local_maven_repo()
# setup maven downloader overrides
env['MAVEN_REPO_OVERRIDE'] = ",".join([
f"{pathlib.Path(mvn_repo_path).as_uri()}/",
mx_urlrewrites.rewriteurl('https://repo1.maven.org/maven2/'),
])
- import mx_sdk_vm_impl
- env["org.graalvm.maven.downloader.version"] = mx_sdk_vm_impl.graalvm_version('graalvm')
+ env["org.graalvm.maven.downloader.version"] = version
env["org.graalvm.maven.downloader.repository"] = f"{pathlib.Path(mvn_repo_path).as_uri()}/"
# run the test
mx.logv(f"running with os.environ extended with: {env=}")
@@ -2048,6 +2046,9 @@ def _python_checkpatchfiles():
'numpy-1.23.1.patch',
'numpy-1.23.4.patch',
'numpy-1.23.5.patch',
+ # pythran started putting the while license text in the field. It's MIT
+ 'pythran-0.12.0.patch',
+ 'pythran-0.13.patch',
# libcst is MIT
'libcst-1.0.1.patch',
# Empty license field, skip it. It's MIT
diff --git a/mx.graalpython/test_json_parsing.py b/mx.graalpython/test_json_parsing.py
index b9a1437fb3..46968578ff 100644
--- a/mx.graalpython/test_json_parsing.py
+++ b/mx.graalpython/test_json_parsing.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# The Universal Permissive License (UPL), Version 1.0
@@ -53,7 +53,8 @@
import mx
except ImportError:
if mx_exe := shutil.which("mx"):
- sys.path.append(os.path.dirname(os.path.realpath(mx_exe)))
+ mx_path = os.path.dirname(os.path.realpath(mx_exe))
+ sys.path.append(os.path.join(mx_path, "src"))
class TestJsonBenchmarkParsers(unittest.TestCase):