Use Animal Sniffer to check Java 6 API compatibility.

This commit is contained in:
akwizgran
2018-05-02 16:10:40 +01:00
parent a10dc45a6a
commit 1192f66487
6 changed files with 14 additions and 52 deletions

View File

@@ -22,30 +22,7 @@ buildscript {
classpath 'com.android.tools.build:gradle:3.1.2'
classpath 'net.ltgt.gradle:gradle-apt-plugin:0.9'
classpath 'de.undercouch:gradle-download-task:3.2.0'
classpath 'ru.vyarus:gradle-animalsniffer-plugin:1.4.3'
classpath files('libs/gradle-witness.jar')
}
}
// If a Java 6 JRE is available, check we're not using any Java 7 or 8 APIs
ext.useJava6StandardLibrary = { task ->
def home = System.env.JAVA_6_HOME;
if (home != null && !home.isEmpty()) {
println "Setting Java 6 bootstrap classpath for ${task.name}"
task.dependsOn createJavaLangInvokeJar
task.options.bootstrapClasspath = files(
"${project.rootDir}/build/invoke.jar",
"${home}/jre/lib/rt.jar",
"${home}/jre/lib/jsse.jar"
)
}
}
// Create a jar containing the java.lang.invoke classes for the Java 6 bootstrap classpath
task createJavaLangInvokeJar(type: Zip) {
archiveName 'invoke.jar'
destinationDir file("${project.rootDir}/build")
from zipTree("${System.getProperty('java.home')}/lib/rt.jar").matching {
include 'java/lang/invoke/*'
}
include '**/*'
}