opentelemetry-java-instrume.../smoke-tests/java9-modules/java9-modules.gradle

48 lines
1.3 KiB
Groovy

ext {
minJavaVersionForTests = JavaVersion.VERSION_1_9
}
apply from: "${rootDir}/gradle/java.gradle"
jar {
manifest {
attributes(
'Main-Class': 'io.opentelemetry.smoketest.moduleapp.ModuleApplication'
)
}
}
compileMain_java9Java {
options.fork = true
options.forkOptions.javaHome = file(findJavaHome(JavaVersion.VERSION_1_9))
options.compilerArgs = ['--module-path', classpath.asPath]
options.sourcepath = files(sourceSets.main_java9.java.srcDirs)
}
//This test will be automatically disabled by `java.gradle` if tried to run on java earlier than 9
test {
doFirst {
def specificJDKHome = file(executable).parentFile.parent
def jlinkExecutable = specificJDKHome + "/bin/jlink"
def jdkModulesPath = specificJDKHome + "/jmods"
def generatedImageDir = "${buildDir}/${it.name}image"
delete generatedImageDir
// Run the jlink command to create the image
exec {
commandLine jlinkExecutable, '--no-man-pages', '--no-header-files',
'--add-modules', 'java.instrument,io.opentelemetry.smoketest.moduleapp',
"--module-path", "${jdkModulesPath}:" + jar.archiveFile.get().toString(), "--output", generatedImageDir
}
jvmArgs "-Dio.opentelemetry.smoketest.module.image=${generatedImageDir}"
}
dependsOn jar
}
dependencies {
testCompile project(':smoke-tests')
}