mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-06-29 01:44:36 -04:00
Use bundled JDK by default when testing in CI
This commit is contained in:
parent
66aeaf5810
commit
7c2135c6bc
10 changed files with 22 additions and 24 deletions
|
@ -5,4 +5,3 @@
|
||||||
# are 'java' or 'openjdk' followed by the major release number.
|
# are 'java' or 'openjdk' followed by the major release number.
|
||||||
|
|
||||||
ES_BUILD_JAVA=jdk17
|
ES_BUILD_JAVA=jdk17
|
||||||
ES_RUNTIME_JAVA=jdk17
|
|
||||||
|
|
|
@ -5,4 +5,3 @@
|
||||||
# are 'java' or 'openjdk' followed by the major release number.
|
# are 'java' or 'openjdk' followed by the major release number.
|
||||||
|
|
||||||
ES_BUILD_JAVA=openjdk17
|
ES_BUILD_JAVA=openjdk17
|
||||||
ES_RUNTIME_JAVA=openjdk17
|
|
||||||
|
|
|
@ -5,4 +5,3 @@
|
||||||
# are 'java' or 'openjdk' followed by the major release number.
|
# are 'java' or 'openjdk' followed by the major release number.
|
||||||
|
|
||||||
ES_BUILD_JAVA=openjdk17
|
ES_BUILD_JAVA=openjdk17
|
||||||
ES_RUNTIME_JAVA=openjdk17
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# This file is used as part of a matrix build in Jenkins where the
|
# This file is used as part of a matrix build in Jenkins where the
|
||||||
# values below are included as an axis of the matrix.
|
# values below are included as an axis of the matrix.
|
||||||
|
|
||||||
ES_RUNTIME_JAVA:
|
RUNTIME_JAVA_HOME:
|
||||||
- openjdk17
|
- openjdk17
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
# which Elasticsearch will be tested. Valid Java versions are 'java'
|
# which Elasticsearch will be tested. Valid Java versions are 'java'
|
||||||
# or 'openjdk' followed by the major release number.
|
# or 'openjdk' followed by the major release number.
|
||||||
|
|
||||||
ES_RUNTIME_JAVA:
|
RUNTIME_JAVA_HOME:
|
||||||
- graalvm-ce17
|
- graalvm-ce17
|
||||||
- openjdk17
|
- openjdk17
|
||||||
- openjdk18
|
- openjdk18
|
||||||
|
|
|
@ -9,7 +9,6 @@ If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdent
|
||||||
|
|
||||||
$AppProps = ConvertFrom-StringData (Get-Content .ci/java-versions.properties -raw)
|
$AppProps = ConvertFrom-StringData (Get-Content .ci/java-versions.properties -raw)
|
||||||
$env:ES_BUILD_JAVA=$AppProps.ES_BUILD_JAVA
|
$env:ES_BUILD_JAVA=$AppProps.ES_BUILD_JAVA
|
||||||
$env:ES_RUNTIME_JAVA=$AppProps.ES_RUNTIME_JAVA
|
|
||||||
$env:JAVA_TOOL_OPTIONS=''
|
$env:JAVA_TOOL_OPTIONS=''
|
||||||
|
|
||||||
$ErrorActionPreference="Stop"
|
$ErrorActionPreference="Stop"
|
||||||
|
@ -23,7 +22,6 @@ Copy-Item .ci/init.gradle -Destination $gradleInit
|
||||||
[Environment]::SetEnvironmentVariable("JAVA_HOME", $null, "Machine")
|
[Environment]::SetEnvironmentVariable("JAVA_HOME", $null, "Machine")
|
||||||
$env:PATH="C:\Users\jenkins\.java\$env:ES_BUILD_JAVA\bin\;$env:PATH"
|
$env:PATH="C:\Users\jenkins\.java\$env:ES_BUILD_JAVA\bin\;$env:PATH"
|
||||||
$env:JAVA_HOME=$null
|
$env:JAVA_HOME=$null
|
||||||
$env:SYSTEM_JAVA_HOME="C:\Users\jenkins\.java\$env:ES_RUNTIME_JAVA"
|
|
||||||
Remove-Item -Recurse -Force \tmp -ErrorAction Ignore
|
Remove-Item -Recurse -Force \tmp -ErrorAction Ignore
|
||||||
New-Item -ItemType directory -Path \tmp
|
New-Item -ItemType directory -Path \tmp
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,6 @@ sudo useradd vagrant
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
. .ci/java-versions.properties
|
. .ci/java-versions.properties
|
||||||
RUNTIME_JAVA_HOME=$HOME/.java/$ES_RUNTIME_JAVA
|
|
||||||
BUILD_JAVA_HOME=$HOME/.java/$ES_BUILD_JAVA
|
BUILD_JAVA_HOME=$HOME/.java/$ES_BUILD_JAVA
|
||||||
|
|
||||||
rm -Rfv $HOME/.gradle/init.d/ && mkdir -p $HOME/.gradle/init.d
|
rm -Rfv $HOME/.gradle/init.d/ && mkdir -p $HOME/.gradle/init.d
|
||||||
|
@ -57,7 +56,6 @@ fi
|
||||||
sudo bash -c 'cat > /etc/sudoers.d/elasticsearch_vars' << SUDOERS_VARS
|
sudo bash -c 'cat > /etc/sudoers.d/elasticsearch_vars' << SUDOERS_VARS
|
||||||
Defaults env_keep += "ES_JAVA_HOME"
|
Defaults env_keep += "ES_JAVA_HOME"
|
||||||
Defaults env_keep += "JAVA_HOME"
|
Defaults env_keep += "JAVA_HOME"
|
||||||
Defaults env_keep += "SYSTEM_JAVA_HOME"
|
|
||||||
SUDOERS_VARS
|
SUDOERS_VARS
|
||||||
sudo chmod 0440 /etc/sudoers.d/elasticsearch_vars
|
sudo chmod 0440 /etc/sudoers.d/elasticsearch_vars
|
||||||
|
|
||||||
|
@ -74,9 +72,7 @@ git config --global --add safe.directory $WORKSPACE
|
||||||
# be explicit about Gradle home dir so we use the same even with sudo
|
# be explicit about Gradle home dir so we use the same even with sudo
|
||||||
sudo -E env \
|
sudo -E env \
|
||||||
PATH=$BUILD_JAVA_HOME/bin:`sudo bash -c 'echo -n $PATH'` \
|
PATH=$BUILD_JAVA_HOME/bin:`sudo bash -c 'echo -n $PATH'` \
|
||||||
RUNTIME_JAVA_HOME=`readlink -f -n $RUNTIME_JAVA_HOME` \
|
|
||||||
--unset=ES_JAVA_HOME \
|
--unset=ES_JAVA_HOME \
|
||||||
--unset=JAVA_HOME \
|
--unset=JAVA_HOME \
|
||||||
SYSTEM_JAVA_HOME=`readlink -f -n $RUNTIME_JAVA_HOME` \
|
|
||||||
./gradlew -g $HOME/.gradle --scan --parallel --continue $@
|
./gradlew -g $HOME/.gradle --scan --parallel --continue $@
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,8 @@ import org.elasticsearch.gradle.Architecture
|
||||||
import org.elasticsearch.gradle.OS
|
import org.elasticsearch.gradle.OS
|
||||||
import org.elasticsearch.gradle.VersionProperties
|
import org.elasticsearch.gradle.VersionProperties
|
||||||
import org.elasticsearch.gradle.internal.info.BuildParams
|
import org.elasticsearch.gradle.internal.info.BuildParams
|
||||||
|
import org.elasticsearch.gradle.internal.precommit.ThirdPartyAuditPrecommitPlugin
|
||||||
|
import org.elasticsearch.gradle.internal.precommit.ThirdPartyAuditTask
|
||||||
import org.elasticsearch.gradle.internal.test.rest.RestTestBasePlugin
|
import org.elasticsearch.gradle.internal.test.rest.RestTestBasePlugin
|
||||||
import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask
|
import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask
|
||||||
|
|
||||||
|
@ -54,4 +56,12 @@ configure(allprojects) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
project.plugins.withType(ThirdPartyAuditPrecommitPlugin) {
|
||||||
|
project.getTasks().withType(ThirdPartyAuditTask.class).configureEach {
|
||||||
|
if (BuildParams.getIsRuntimeJavaHomeSet() == false) {
|
||||||
|
javaHome.set(providers.provider(() -> "${project.jdks.provisioned_runtime.javaHomePath}"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ import org.gradle.api.Task;
|
||||||
import org.gradle.api.artifacts.Configuration;
|
import org.gradle.api.artifacts.Configuration;
|
||||||
import org.gradle.api.tasks.TaskProvider;
|
import org.gradle.api.tasks.TaskProvider;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
|
|
||||||
public class ThirdPartyAuditPrecommitPlugin extends PrecommitPlugin {
|
public class ThirdPartyAuditPrecommitPlugin extends PrecommitPlugin {
|
||||||
|
@ -61,7 +62,7 @@ public class ThirdPartyAuditPrecommitPlugin extends PrecommitPlugin {
|
||||||
}));
|
}));
|
||||||
t.dependsOn(resourcesTask);
|
t.dependsOn(resourcesTask);
|
||||||
if (BuildParams.getIsRuntimeJavaHomeSet()) {
|
if (BuildParams.getIsRuntimeJavaHomeSet()) {
|
||||||
t.setJavaHome(BuildParams.getRuntimeJavaHome().getPath());
|
t.getJavaHome().set(project.provider(BuildParams::getRuntimeJavaHome).map(File::getPath));
|
||||||
}
|
}
|
||||||
t.getTargetCompatibility().set(project.provider(BuildParams::getRuntimeJavaVersion));
|
t.getTargetCompatibility().set(project.provider(BuildParams::getRuntimeJavaVersion));
|
||||||
t.setSignatureFile(resourcesDir.resolve("forbidden/third-party-audit.txt").toFile());
|
t.setSignatureFile(resourcesDir.resolve("forbidden/third-party-audit.txt").toFile());
|
||||||
|
|
|
@ -79,7 +79,7 @@ public abstract class ThirdPartyAuditTask extends DefaultTask {
|
||||||
|
|
||||||
private File signatureFile;
|
private File signatureFile;
|
||||||
|
|
||||||
private String javaHome;
|
private Property<String> javaHome;
|
||||||
|
|
||||||
private final Property<JavaVersion> targetCompatibility;
|
private final Property<JavaVersion> targetCompatibility;
|
||||||
|
|
||||||
|
@ -106,6 +106,7 @@ public abstract class ThirdPartyAuditTask extends DefaultTask {
|
||||||
this.fileSystemOperations = fileSystemOperations;
|
this.fileSystemOperations = fileSystemOperations;
|
||||||
this.projectLayout = projectLayout;
|
this.projectLayout = projectLayout;
|
||||||
this.targetCompatibility = objectFactory.property(JavaVersion.class);
|
this.targetCompatibility = objectFactory.property(JavaVersion.class);
|
||||||
|
this.javaHome = objectFactory.property(String.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Input
|
@Input
|
||||||
|
@ -127,16 +128,11 @@ public abstract class ThirdPartyAuditTask extends DefaultTask {
|
||||||
this.signatureFile = signatureFile;
|
this.signatureFile = signatureFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Input
|
@Internal
|
||||||
@Optional
|
public Property<String> getJavaHome() {
|
||||||
public String getJavaHome() {
|
|
||||||
return javaHome;
|
return javaHome;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setJavaHome(String javaHome) {
|
|
||||||
this.javaHome = javaHome;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Internal
|
@Internal
|
||||||
public File getJarExpandDir() {
|
public File getJarExpandDir() {
|
||||||
return projectLayout.getBuildDirectory().dir("precommit/thirdPartyAudit").get().dir(getName()).getAsFile();
|
return projectLayout.getBuildDirectory().dir("precommit/thirdPartyAudit").get().dir(getName()).getAsFile();
|
||||||
|
@ -335,8 +331,8 @@ public abstract class ThirdPartyAuditTask extends DefaultTask {
|
||||||
private String runForbiddenAPIsCli() throws IOException {
|
private String runForbiddenAPIsCli() throws IOException {
|
||||||
ByteArrayOutputStream errorOut = new ByteArrayOutputStream();
|
ByteArrayOutputStream errorOut = new ByteArrayOutputStream();
|
||||||
ExecResult result = execOperations.javaexec(spec -> {
|
ExecResult result = execOperations.javaexec(spec -> {
|
||||||
if (javaHome != null) {
|
if (javaHome.isPresent()) {
|
||||||
spec.setExecutable(javaHome + "/bin/java");
|
spec.setExecutable(javaHome.get() + "/bin/java");
|
||||||
}
|
}
|
||||||
spec.classpath(getForbiddenAPIsClasspath(), classpath);
|
spec.classpath(getForbiddenAPIsClasspath(), classpath);
|
||||||
spec.jvmArgs("-Xmx1g");
|
spec.jvmArgs("-Xmx1g");
|
||||||
|
@ -368,8 +364,8 @@ public abstract class ThirdPartyAuditTask extends DefaultTask {
|
||||||
spec.getMainClass().set(JDK_JAR_HELL_MAIN_CLASS);
|
spec.getMainClass().set(JDK_JAR_HELL_MAIN_CLASS);
|
||||||
spec.args(getJarExpandDir());
|
spec.args(getJarExpandDir());
|
||||||
spec.setIgnoreExitValue(true);
|
spec.setIgnoreExitValue(true);
|
||||||
if (javaHome != null) {
|
if (javaHome.isPresent()) {
|
||||||
spec.setExecutable(javaHome + "/bin/java");
|
spec.setExecutable(javaHome.get() + "/bin/java");
|
||||||
}
|
}
|
||||||
spec.setStandardOutput(standardOut);
|
spec.setStandardOutput(standardOut);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue