mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-05 20:48:22 +00:00
0a79555a12
This commit modifies the build to require JDK 9 for compilation. Henceforth, we will compile with a JDK 9 compiler targeting JDK 8 as the class file format. Optionally, RUNTIME_JAVA_HOME can be set as the runtime JDK used for running tests. To enable this change, we separate the meaning of the compiler Java home versus the runtime Java home. If the runtime Java home is not set (via RUNTIME_JAVA_HOME) then we fallback to using JAVA_HOME as the runtime Java home. This enables: - developers only have to set one Java home (JAVA_HOME) - developers can set an optional Java home (RUNTIME_JAVA_HOME) to test on the minimum supported runtime - we can test compiling with JDK 9 running on JDK 8 and compiling with JDK 9 running on JDK 9 in CI
74 lines
2.5 KiB
Groovy
74 lines
2.5 KiB
Groovy
import org.elasticsearch.gradle.LoggedExec
|
|
|
|
esplugin {
|
|
description 'The Google Compute Engine (GCE) Discovery plugin allows to use GCE API for the unicast discovery mechanism.'
|
|
classname 'org.elasticsearch.plugin.discovery.gce.GceDiscoveryPlugin'
|
|
}
|
|
|
|
versions << [
|
|
'google': '1.23.0'
|
|
]
|
|
|
|
dependencies {
|
|
compile "com.google.apis:google-api-services-compute:v1-rev160-${versions.google}"
|
|
compile "com.google.api-client:google-api-client:${versions.google}"
|
|
compile "com.google.oauth-client:google-oauth-client:${versions.google}"
|
|
compile "com.google.http-client:google-http-client:${versions.google}"
|
|
compile "com.google.http-client:google-http-client-jackson2:${versions.google}"
|
|
compile 'com.google.code.findbugs:jsr305:1.3.9'
|
|
compile "org.apache.httpcomponents:httpclient:${versions.httpclient}"
|
|
compile "org.apache.httpcomponents:httpcore:${versions.httpcore}"
|
|
compile "commons-logging:commons-logging:${versions.commonslogging}"
|
|
compile "commons-codec:commons-codec:${versions.commonscodec}"
|
|
}
|
|
|
|
|
|
// needed to be consistent with ssl host checking
|
|
String host = InetAddress.getLoopbackAddress().getHostAddress();
|
|
|
|
// location of keystore and files to generate it
|
|
File keystore = new File(project.buildDir, 'keystore/test-node.jks')
|
|
|
|
// generate the keystore
|
|
task createKey(type: LoggedExec) {
|
|
doFirst {
|
|
project.delete(keystore.parentFile)
|
|
keystore.parentFile.mkdirs()
|
|
}
|
|
executable = new File(project.runtimeJavaHome, 'bin/keytool')
|
|
standardInput = new ByteArrayInputStream('FirstName LastName\nUnit\nOrganization\nCity\nState\nNL\nyes\n\n'.getBytes('UTF-8'))
|
|
args '-genkey',
|
|
'-alias', 'test-node',
|
|
'-keystore', keystore,
|
|
'-keyalg', 'RSA',
|
|
'-keysize', '2048',
|
|
'-validity', '712',
|
|
'-dname', 'CN=' + host,
|
|
'-keypass', 'keypass',
|
|
'-storepass', 'keypass'
|
|
}
|
|
|
|
// add keystore to test classpath: it expects it there
|
|
sourceSets.test.resources.srcDir(keystore.parentFile)
|
|
processTestResources.dependsOn(createKey)
|
|
|
|
dependencyLicenses {
|
|
mapping from: /google-.*/, to: 'google'
|
|
}
|
|
|
|
test {
|
|
// this is needed for insecure plugins, remove if possible!
|
|
systemProperty 'tests.artifact', project.name
|
|
}
|
|
|
|
thirdPartyAudit.excludes = [
|
|
// classes are missing
|
|
'com.google.common.base.Splitter',
|
|
'com.google.common.collect.Lists',
|
|
'javax.servlet.ServletContextEvent',
|
|
'javax.servlet.ServletContextListener',
|
|
'org.apache.avalon.framework.logger.Logger',
|
|
'org.apache.log.Hierarchy',
|
|
'org.apache.log.Logger',
|
|
]
|