Adding initial patch by Gautam Worah

This commit is contained in:
Dawid Weiss 2021-08-20 08:17:42 +02:00
parent fc67d6aa6e
commit bac22d6116
4 changed files with 68 additions and 59 deletions

View File

@ -16,6 +16,15 @@
*/
// Configure Java project defaults.
java {
toolchain {
languageVersion = JavaLanguageVersion.of(11)
}
}
tasks.withType( JavaCompile ).configureEach {
options.forkOptions.jvmArgs.addAll( ['--add-opens', 'jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED'] )
}
allprojects {
plugins.withType(JavaPlugin) {

View File

@ -18,60 +18,60 @@
// This adds support for compiling and testing against a different Java runtime.
// This is the only way to build against JVMs not yet supported by Gradle itself.
JavaInstallationRegistry registry = extensions.getByType(JavaInstallationRegistry)
JavaInstallation currentJvm = registry.installationForCurrentVirtualMachine.get()
JavaInstallation altJvm = {
def runtimeJavaHome = propertyOrDefault("runtime.java.home", System.getenv('RUNTIME_JAVA_HOME'))
if (!runtimeJavaHome) {
return currentJvm
} else {
return registry.installationForDirectory(
layout.projectDirectory.dir(runtimeJavaHome)).get()
}
}()
// Set up root project's property.
rootProject.ext.runtimeJava = altJvm
rootProject.ext.runtimeJavaVersion = altJvm.javaVersion
if (!currentJvm.javaExecutable.equals(altJvm.javaExecutable)) {
// Set up java toolchain tasks to use the alternative Java.
// This is a related Gradle issue for the future:
// https://github.com/gradle/gradle/issues/1652
configure(rootProject) {
task altJvmWarning() {
doFirst {
logger.warn("""NOTE: Alternative java toolchain will be used for compilation and tests:
Project will use Java ${altJvm.javaVersion} from: ${altJvm.installationDirectory}
Gradle runs with Java ${currentJvm.javaVersion} from: ${currentJvm.installationDirectory}
""")
}
}
}
// Set up toolchain-dependent tasks to use the alternative JVM.
allprojects {
// Any tests
tasks.withType(Test) {
dependsOn ":altJvmWarning"
executable = altJvm.javaExecutable
}
// Any javac compilation tasks
tasks.withType(JavaCompile) {
dependsOn ":altJvmWarning"
options.fork = true
options.forkOptions.javaHome = altJvm.installationDirectory.asFile
}
// Javadoc compilation.
def javadocExecutable = altJvm.jdk.get().javadocExecutable.asFile
tasks.matching { it.name == "renderJavadoc" || it.name == "renderSiteJavadoc" }.all {
dependsOn ":altJvmWarning"
executable = javadocExecutable
}
}
}
//JavaInstallationRegistry registry = extensions.getByType(JavaInstallationRegistry)
//
//JavaInstallation currentJvm = registry.installationForCurrentVirtualMachine.get()
//
//JavaInstallation altJvm = {
// def runtimeJavaHome = propertyOrDefault("runtime.java.home", System.getenv('RUNTIME_JAVA_HOME'))
// if (!runtimeJavaHome) {
// return currentJvm
// } else {
// return registry.installationForDirectory(
// layout.projectDirectory.dir(runtimeJavaHome)).get()
// }
//}()
//
//// Set up root project's property.
//rootProject.ext.runtimeJava = altJvm
rootProject.ext.runtimeJavaVersion = JavaVersion.VERSION_11
//
//if (!currentJvm.javaExecutable.equals(altJvm.javaExecutable)) {
// // Set up java toolchain tasks to use the alternative Java.
// // This is a related Gradle issue for the future:
// // https://github.com/gradle/gradle/issues/1652
//
// configure(rootProject) {
// task altJvmWarning() {
// doFirst {
// logger.warn("""NOTE: Alternative java toolchain will be used for compilation and tests:
// Project will use Java ${altJvm.javaVersion} from: ${altJvm.installationDirectory}
// Gradle runs with Java ${currentJvm.javaVersion} from: ${currentJvm.installationDirectory}
//""")
// }
// }
// }
//
// // Set up toolchain-dependent tasks to use the alternative JVM.
// allprojects {
// // Any tests
// tasks.withType(Test) {
// dependsOn ":altJvmWarning"
// executable = altJvm.javaExecutable
// }
//
// // Any javac compilation tasks
// tasks.withType(JavaCompile) {
// dependsOn ":altJvmWarning"
// options.fork = true
// options.forkOptions.javaHome = altJvm.installationDirectory.asFile
// }
//
// // Javadoc compilation.
// def javadocExecutable = altJvm.jdk.get().javadocExecutable.asFile
// tasks.matching { it.name == "renderJavadoc" || it.name == "renderSiteJavadoc" }.all {
// dependsOn ":altJvmWarning"
// executable = javadocExecutable
// }
// }
//}

View File

@ -1 +1 @@
6.8.3
7.0.2

View File

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists