diff --git a/ci/ci_common/common.jsonnet b/ci/ci_common/common.jsonnet index deab1b038b5d..1a9944718ce0 100644 --- a/ci/ci_common/common.jsonnet +++ b/ci/ci_common/common.jsonnet @@ -138,8 +138,8 @@ common + common.frequencies + { linux_amd64: common.linux_amd64 + graal_common_extras + linux_deps_extras, linux_amd64_ol9: common.linux_amd64_ol9 + graal_common_extras + linux_deps_extras, linux_amd64_ubuntu: common.linux_amd64_ubuntu + graal_common_extras, - linux_aarch64: linux_deps_extras + common.linux_aarch64 + graal_common_extras, - linux_aarch64_ol9: linux_deps_extras + common.linux_aarch64_ol9 + graal_common_extras, + linux_aarch64: common.linux_aarch64 + graal_common_extras + linux_deps_extras, + linux_aarch64_ol9: common.linux_aarch64_ol9 + graal_common_extras + linux_deps_extras, darwin_amd64: common.darwin_amd64 + graal_common_extras, darwin_aarch64: common.darwin_aarch64 + graal_common_extras, windows_amd64: common.windows_amd64 + graal_common_extras, diff --git a/ci/common.jsonnet b/ci/common.jsonnet index 4272ca2d1516..d544988360ec 100644 --- a/ci/common.jsonnet +++ b/ci/common.jsonnet @@ -109,7 +109,8 @@ local common_json = import "../common.json"; oraclejdkLatest: self["oraclejdk-latest"], }, - # The devkits versions reflect those used to build the JVMCI JDKs (e.g., see devkit_platform_revisions in /make/conf/jib-profiles.js) + # The devkits versions reflect those used to build the JVMCI JDKs (e.g., see devkit_platform_revisions in /make/conf/jib-profiles.js). + # See deps.windows_devkit to add a devkit on windows conveniently. devkits: { "windows-jdk17": { packages+: { "devkit:VS2022-17.1.0+1": "==0" }}, "windows-jdk19": { packages+: { "devkit:VS2022-17.1.0+1": "==0" }}, @@ -174,6 +175,12 @@ local common_json = import "../common.json"; # These dependencies are not included by default in any platform object + # Not included by default in $.windows_amd64 and $.windows_server_2016_amd64 because it needs jdk_name. + # As a note, Native Image needs this to build. + windows_devkit:: { + packages+: if self.os == "windows" then $.devkits["windows-" + self.jdk_name].packages else {}, + }, + eclipse: { downloads+: { ECLIPSE: { @@ -239,6 +246,21 @@ local common_json = import "../common.json"; } else {}, }, + maven:: { + local this = self, + packages+: (if self.os == "linux" && self.arch == "amd64" then { + maven: '==3.9.10', + } else {}), + # no maven package available on other platforms + downloads+: (if self.os != "linux" || self.arch != "amd64" then { + # GR-68921: 3.9.10 does not work on Windows + MAVEN_HOME: {name: 'maven', version: (if this.os == "windows" then '3.3.9' else '3.9.10'), platformspecific: false}, + } else {}), + setup+: (if self.os != "linux" || self.arch != "amd64" then [ + ['set-export', 'PATH', (if self.os == "windows" then '$MAVEN_HOME\\bin;$PATH' else '$MAVEN_HOME/bin:$PATH')], + ] else []), + }, + sulong:: self.cmake + { packages+: if self.os == "windows" then { msvc_source: "==14.0", @@ -275,12 +297,11 @@ local common_json = import "../common.json"; } else {}, }, - graalpy:: self.gradle + self.cmake + { + graalpy:: self.gradle + self.cmake + self.maven + { packages+: if (self.os == "linux") then { libffi: '==3.2.1', bzip2: '==1.0.6', zlib: '==1.2.11', - maven: "==3.6.3", } else {}, }, diff --git a/sdk/mx.sdk/mx_sdk.py b/sdk/mx.sdk/mx_sdk.py index b7b810dbaa50..3c7a68511d89 100644 --- a/sdk/mx.sdk/mx_sdk.py +++ b/sdk/mx.sdk/mx_sdk.py @@ -341,6 +341,10 @@ def description(self): def maven_deploy_public_repo_dir(): return os.path.join(_suite.get_mx_output_dir(), 'public-maven-repo') +@mx.command(_suite.name, 'maven-deploy-public-repo-dir') +def print_maven_deploy_public_repo_dir(args): + print(maven_deploy_public_repo_dir()) + @mx.command(_suite.name, 'maven-deploy-public') def maven_deploy_public(args, licenses=None, deploy_snapshots=True): """Helper to simplify deploying all public Maven dependendencies into the mxbuild directory""" @@ -373,7 +377,6 @@ def maven_deploy_public(args, licenses=None, deploy_snapshots=True): mx.log(f'mx maven-deploy {" ".join(deploy_args)}') mx.maven_deploy(deploy_args) mx.log(f'Deployed Maven artefacts to {path}') - return path @mx.command(_suite.name, 'nativebridge-benchmark') def nativebridge_benchmark(args): diff --git a/sulong/ci/ci_common/sulong-common.jsonnet b/sulong/ci/ci_common/sulong-common.jsonnet index a0f78af6b51e..e1f2f8da5dae 100644 --- a/sulong/ci/ci_common/sulong-common.jsonnet +++ b/sulong/ci/ci_common/sulong-common.jsonnet @@ -80,10 +80,7 @@ local sulong_deps = common.deps.sulong; linux_aarch64:: linux_aarch64 + sulong_deps, darwin_amd64:: darwin_amd64 + sulong_deps, darwin_aarch64:: darwin_aarch64 + sulong_deps, - windows_amd64:: windows_amd64 + sulong_deps + { - local jdk = if self.jdk_name == "jdk-latest" then "jdkLatest" else self.jdk_name, - packages+: common.devkits["windows-" + jdk].packages - }, + windows_amd64:: windows_amd64 + sulong_deps + common.deps.windows_devkit, sulong_notifications:: { notify_groups:: ["sulong"], diff --git a/tools/ci/ci.jsonnet b/tools/ci/ci.jsonnet index fa3e96448120..0334f96e0a3d 100644 --- a/tools/ci/ci.jsonnet +++ b/tools/ci/ci.jsonnet @@ -2,7 +2,6 @@ local common = import '../../ci/ci_common/common.jsonnet', local utils = import '../../ci/ci_common/common-utils.libsonnet', local top_level_ci = utils.top_level_ci, - local devkits = common.devkits, local tools_common = { setup+: [ @@ -90,8 +89,8 @@ common.linux_aarch64 + common.labsjdkLatest + tools_weekly, common.linux_aarch64 + common.labsjdk21 + tools_weekly, - common.windows_amd64 + common.oraclejdkLatest + tools_weekly + devkits["windows-jdkLatest"], - common.windows_amd64 + common.oraclejdk21 + tools_weekly + devkits["windows-jdk21"], + common.windows_amd64 + common.oraclejdkLatest + tools_weekly + common.deps.windows_devkit, + common.windows_amd64 + common.oraclejdk21 + tools_weekly + common.deps.windows_devkit, common.darwin_amd64 + common.oraclejdkLatest + tools_weekly, common.darwin_amd64 + common.oraclejdk21 + tools_weekly,