Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,13 @@ class IntegTestPreconditions {
}
}

static class JavaHomeWithDifferentVersionAvailable implements TestPrecondition {
@Override
boolean isSatisfied() throws Exception {
return AvailableJavaHomes.differentVersion != null
}
}

static final class HasMsBuild implements TestPrecondition {
@Override
boolean isSatisfied() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,11 @@ IntegTestPreconditions$IsDaemonExecutor
IntegTestPreconditions$IsEmbeddedExecutor
IntegTestPreconditions$IsLongLivingProcess
IntegTestPreconditions$Java11HomeAvailable
IntegTestPreconditions$Java14HomeAvailable
IntegTestPreconditions$Java7HomeAvailable
IntegTestPreconditions$Java8HomeAvailable
IntegTestPreconditions$Java8HomeAvailable,IntegTestPreconditions$Java11HomeAvailable
IntegTestPreconditions$Java8HomeAvailable,IntegTestPreconditions$Java9HomeAvailable
IntegTestPreconditions$JavaHomeWithDifferentVersionAvailable
IntegTestPreconditions$MoreThanOneJava8HomeAvailable
IntegTestPreconditions$MoreThanOneJava8HomeAvailable,IntegTestPreconditions$Java9HomeAvailable
IntegTestPreconditions$NotDaemonExecutor
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ package org.gradle.java.compile

import org.gradle.api.Action
import org.gradle.integtests.fixtures.AbstractIntegrationSpec
import org.gradle.integtests.fixtures.AvailableJavaHomes
import org.gradle.internal.classanalysis.JavaClassUtil
import org.gradle.test.fixtures.file.ClassFile
import org.gradle.test.precondition.Requires
Expand Down Expand Up @@ -198,21 +199,23 @@ compileJava {
"""
}

@Requires(IntegTestPreconditions.Java14HomeAvailable)
@Requires(IntegTestPreconditions.JavaHomeWithDifferentVersionAvailable)
def 'computes target jvm version when using toolchain'() {
given:
def jdk = AvailableJavaHomes.differentVersion
def javaVersion = jdk.javaVersion.getMajorVersion()
goodCode()
buildFile << """
java.toolchain {
languageVersion = JavaLanguageVersion.of(14)
languageVersion = JavaLanguageVersion.of(${javaVersion})
}

compileJava {
doFirst {
assert configurations.apiElements.attributes.getAttribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE) == 14
assert configurations.runtimeElements.attributes.getAttribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE) == 14
assert configurations.compileClasspath.attributes.getAttribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE) == 14
assert configurations.runtimeClasspath.attributes.getAttribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE) == 14
assert configurations.apiElements.attributes.getAttribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE) == ${javaVersion}
assert configurations.runtimeElements.attributes.getAttribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE) == ${javaVersion}
assert configurations.compileClasspath.attributes.getAttribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE) == ${javaVersion}
assert configurations.runtimeClasspath.attributes.getAttribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE) == ${javaVersion}
}
}
"""
Expand Down