mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-04-19 04:45:07 -04:00
Static fields dont do well in Gradle with configuration cache enabled. - Use buildParams extension in build scripts - Keep BuildParams.ci for now for easy serverless migration - Tweak testing doc
50 lines
1.8 KiB
Groovy
50 lines
1.8 KiB
Groovy
/*
|
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
* or more contributor license agreements. Licensed under the "Elastic License
|
|
* 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side
|
|
* Public License v 1"; you may not use this file except in compliance with, at
|
|
* your election, the "Elastic License 2.0", the "GNU Affero General Public
|
|
* License v3.0 only", or the "Server Side Public License, v 1".
|
|
*/
|
|
|
|
import org.elasticsearch.gradle.OS
|
|
import org.elasticsearch.gradle.VersionProperties
|
|
import org.elasticsearch.gradle.internal.info.BuildParams
|
|
|
|
apply plugin: 'elasticsearch.java'
|
|
|
|
configurations {
|
|
patch
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'org.ow2.asm:asm:9.7'
|
|
implementation 'org.ow2.asm:asm-tree:9.7'
|
|
}
|
|
|
|
def outputDir = layout.buildDirectory.dir("jdk-patches")
|
|
def generatePatch = tasks.register("generatePatch", JavaExec)
|
|
generatePatch.configure {
|
|
dependsOn tasks.named("compileJava")
|
|
inputs.property("java-home-set", buildParams.getIsRuntimeJavaHomeSet())
|
|
inputs.property("java-version", buildParams.runtimeJavaVersion)
|
|
outputs.dir(outputDir)
|
|
|
|
classpath = sourceSets.main.runtimeClasspath
|
|
mainClass = 'org.elasticsearch.jdk.patch.ImmutableCollectionsPatcher'
|
|
if (buildParams.getIsRuntimeJavaHomeSet()) {
|
|
executable = "${buildParams.runtimeJavaHome.get()}/bin/java" + (OS.current() == OS.WINDOWS ? '.exe' : '')
|
|
} else {
|
|
javaLauncher = javaToolchains.launcherFor {
|
|
languageVersion = JavaLanguageVersion.of(VersionProperties.bundledJdkMajorVersion)
|
|
vendor = VersionProperties.bundledJdkVendor == "openjdk" ?
|
|
JvmVendorSpec.ORACLE :
|
|
JvmVendorSpec.matching(VersionProperties.bundledJdkVendor)
|
|
}
|
|
}
|
|
doFirst {
|
|
args outputDir.get().getAsFile().toString()
|
|
}
|
|
}
|
|
|
|
artifacts.add("patch", generatePatch);
|