We can use the properties sourceCompatibility and targetCompatibility provided by the Java plugin to define the Java version compatibility for compiling sources. The value of these properties is a JavaVersion enum constant, a String value or a Number. If the value is a String or Number we can even leave out the 1. portion for Java 1.5 and 1.6. So we can just use 5 or '6' for example.
We can even use our own custom classes as long as we override the toString() method and return a String value that is valid as a Java version.
apply plugin: 'java'
sourceCompatibility = 1.6 // or '1.6', '6', 6, JavaVersion.VERSION_1_6, new Compatibility('Java 6')
class Compatibility {
String version
Compatibility(String versionValue) {
def matcher = (versionValue =~ /Java (\d)/)
version = matcher[0][1]
}
String toString() { version }
}
Written with Gradle 0.9.