44 lines
1.2 KiB
Groovy
44 lines
1.2 KiB
Groovy
apply from: "$rootDir/gradle/instrumentation.gradle"
|
|
|
|
muzzle {
|
|
pass {
|
|
coreJdk()
|
|
}
|
|
}
|
|
|
|
task "rmic", dependsOn: testClasses {
|
|
def clazz = 'rmi.app.ServerLegacy'
|
|
|
|
// Try one level up too in case java.home refers to jre directory inside jdk directory
|
|
def rmicBinaryPath = ['/bin/rmic', '/../bin/rmic'].findResult {
|
|
def path = new File(System.getProperty("java.home"), it).getAbsoluteFile()
|
|
path.isFile() ? path.toString() : null
|
|
} ?: "rmic"
|
|
|
|
String command = """$rmicBinaryPath -g -keep -classpath ${sourceSets.test.output.classesDirs.asPath} -d ${buildDir}/classes/java/test ${clazz}"""
|
|
command.execute().text
|
|
}
|
|
|
|
test.dependsOn "rmic"
|
|
|
|
// We cannot use "--release" javac option here because that will forbid importing "sun.rmi" package.
|
|
// We also can't seem to use the toolchain without the "--release" option. So disable everything.
|
|
|
|
java {
|
|
sourceCompatibility = JavaVersion.toVersion(project.ext.release)
|
|
targetCompatibility = JavaVersion.toVersion(project.ext.release)
|
|
toolchain {
|
|
languageVersion = null
|
|
}
|
|
}
|
|
|
|
tasks.withType(JavaCompile) {
|
|
options.release = null
|
|
}
|
|
tasks.withType(GroovyCompile) {
|
|
options.release = null
|
|
}
|
|
tasks.withType(Test) {
|
|
jvmArgs "-Djava.rmi.server.hostname=127.0.0.1"
|
|
}
|