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):