Skip to content
Snippets Groups Projects
build.gradle 1.28 KiB
Newer Older
// Top-level build file where you can add configuration options common to all sub-projects/modules.
	repositories {
		jcenter()
		mavenLocal()
	}
}

buildscript {
	repositories {
		jcenter()
			url 'https://plugins.gradle.org/m2/'
	dependencies {
		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'
akwizgran's avatar
akwizgran committed
		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 '**/*'
}