mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-06-28 17:34:17 -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.
|
||||
|
||||
ES_BUILD_JAVA=jdk17
|
||||
ES_RUNTIME_JAVA=jdk17
|
||||
|
|
|
@ -5,4 +5,3 @@
|
|||
# are 'java' or 'openjdk' followed by the major release number.
|
||||
|
||||
ES_BUILD_JAVA=openjdk17
|
||||
ES_RUNTIME_JAVA=openjdk17
|
||||
|
|
|
@ -5,4 +5,3 @@
|
|||
# are 'java' or 'openjdk' followed by the major release number.
|
||||
|
||||
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
|
||||
# values below are included as an axis of the matrix.
|
||||
|
||||
ES_RUNTIME_JAVA:
|
||||
RUNTIME_JAVA_HOME:
|
||||
- openjdk17
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
# which Elasticsearch will be tested. Valid Java versions are 'java'
|
||||
# or 'openjdk' followed by the major release number.
|
||||
|
||||
ES_RUNTIME_JAVA:
|
||||
RUNTIME_JAVA_HOME:
|
||||
- graalvm-ce17
|
||||
- openjdk17
|
||||
- openjdk18
|
||||
|
|
|
@ -9,7 +9,6 @@ If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdent
|
|||
|
||||
$AppProps = ConvertFrom-StringData (Get-Content .ci/java-versions.properties -raw)
|
||||
$env:ES_BUILD_JAVA=$AppProps.ES_BUILD_JAVA
|
||||
$env:ES_RUNTIME_JAVA=$AppProps.ES_RUNTIME_JAVA
|
||||
$env:JAVA_TOOL_OPTIONS=''
|
||||
|
||||
$ErrorActionPreference="Stop"
|
||||
|
@ -23,7 +22,6 @@ Copy-Item .ci/init.gradle -Destination $gradleInit
|
|||
[Environment]::SetEnvironmentVariable("JAVA_HOME", $null, "Machine")
|
||||
$env:PATH="C:\Users\jenkins\.java\$env:ES_BUILD_JAVA\bin\;$env:PATH"
|
||||
$env:JAVA_HOME=$null
|
||||
$env:SYSTEM_JAVA_HOME="C:\Users\jenkins\.java\$env:ES_RUNTIME_JAVA"
|
||||
Remove-Item -Recurse -Force \tmp -ErrorAction Ignore
|
||||
New-Item -ItemType directory -Path \tmp
|
||||
|
||||
|
|
|
@ -23,7 +23,6 @@ sudo useradd vagrant
|
|||
set -e
|
||||
|
||||
. .ci/java-versions.properties
|
||||
RUNTIME_JAVA_HOME=$HOME/.java/$ES_RUNTIME_JAVA
|
||||
BUILD_JAVA_HOME=$HOME/.java/$ES_BUILD_JAVA
|
||||
|
||||
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
|
||||
Defaults env_keep += "ES_JAVA_HOME"
|
||||
Defaults env_keep += "JAVA_HOME"
|
||||
Defaults env_keep += "SYSTEM_JAVA_HOME"
|
||||
SUDOERS_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
|
||||
sudo -E env \
|
||||
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=JAVA_HOME \
|
||||
SYSTEM_JAVA_HOME=`readlink -f -n $RUNTIME_JAVA_HOME` \
|
||||
./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.VersionProperties
|
||||
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.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.tasks.TaskProvider;
|
||||
|
||||
import java.io.File;
|
||||
import java.nio.file.Path;
|
||||
|
||||
public class ThirdPartyAuditPrecommitPlugin extends PrecommitPlugin {
|
||||
|
@ -61,7 +62,7 @@ public class ThirdPartyAuditPrecommitPlugin extends PrecommitPlugin {
|
|||
}));
|
||||
t.dependsOn(resourcesTask);
|
||||
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.setSignatureFile(resourcesDir.resolve("forbidden/third-party-audit.txt").toFile());
|
||||
|
|
|
@ -79,7 +79,7 @@ public abstract class ThirdPartyAuditTask extends DefaultTask {
|
|||
|
||||
private File signatureFile;
|
||||
|
||||
private String javaHome;
|
||||
private Property<String> javaHome;
|
||||
|
||||
private final Property<JavaVersion> targetCompatibility;
|
||||
|
||||
|
@ -106,6 +106,7 @@ public abstract class ThirdPartyAuditTask extends DefaultTask {
|
|||
this.fileSystemOperations = fileSystemOperations;
|
||||
this.projectLayout = projectLayout;
|
||||
this.targetCompatibility = objectFactory.property(JavaVersion.class);
|
||||
this.javaHome = objectFactory.property(String.class);
|
||||
}
|
||||
|
||||
@Input
|
||||
|
@ -127,16 +128,11 @@ public abstract class ThirdPartyAuditTask extends DefaultTask {
|
|||
this.signatureFile = signatureFile;
|
||||
}
|
||||
|
||||
@Input
|
||||
@Optional
|
||||
public String getJavaHome() {
|
||||
@Internal
|
||||
public Property<String> getJavaHome() {
|
||||
return javaHome;
|
||||
}
|
||||
|
||||
public void setJavaHome(String javaHome) {
|
||||
this.javaHome = javaHome;
|
||||
}
|
||||
|
||||
@Internal
|
||||
public File getJarExpandDir() {
|
||||
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 {
|
||||
ByteArrayOutputStream errorOut = new ByteArrayOutputStream();
|
||||
ExecResult result = execOperations.javaexec(spec -> {
|
||||
if (javaHome != null) {
|
||||
spec.setExecutable(javaHome + "/bin/java");
|
||||
if (javaHome.isPresent()) {
|
||||
spec.setExecutable(javaHome.get() + "/bin/java");
|
||||
}
|
||||
spec.classpath(getForbiddenAPIsClasspath(), classpath);
|
||||
spec.jvmArgs("-Xmx1g");
|
||||
|
@ -368,8 +364,8 @@ public abstract class ThirdPartyAuditTask extends DefaultTask {
|
|||
spec.getMainClass().set(JDK_JAR_HELL_MAIN_CLASS);
|
||||
spec.args(getJarExpandDir());
|
||||
spec.setIgnoreExitValue(true);
|
||||
if (javaHome != null) {
|
||||
spec.setExecutable(javaHome + "/bin/java");
|
||||
if (javaHome.isPresent()) {
|
||||
spec.setExecutable(javaHome.get() + "/bin/java");
|
||||
}
|
||||
spec.setStandardOutput(standardOut);
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue