/* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import javax.tools.ToolProvider apply plugin: 'java' apply plugin: 'maven' group = 'com.android' version = '1.0.6' def currentJvmVersion = org.gradle.api.JavaVersion.current() if (currentJvmVersion.getMajorVersion() != "8") { throw new Exception("Unsupported java version '" + currentJvmVersion.toString() + "'. Please install java 8.\n" + "\n" + "If you have already installed java 8, you can instruct Gradle to use it by setting the environment variable JAVA_HOME equal to its file path.") } /* * With the build server you are given two env variables: * 1. The OUT_DIR is a temporary directory you can use to put things during the build. * 2. The DIST_DIR is where you want to save things from the build. * * The build server will copy the contents of DIST_DIR to somewhere and make it available. */ if (System.env.DIST_DIR != null && System.env.OUT_DIR != null) { buildDir = file("${System.env.OUT_DIR}/gradle/external/jdiff/build").getCanonicalFile() ext.distDir = file(System.env.DIST_DIR).getCanonicalFile() // The distDir is conveniently named after the build ID. version = "${version}.${ext.distDir.name}" } else { buildDir = file('../../out/host/gradle/external/jdiff/build') ext.distDir = file('../../out/dist') // Local builds are not public release candidates. version = "${version}-SNAPSHOT" } /* * If prebuilts are available, use them. Else, if this is unbundled build use jcenter(). * Finally, if none of that is true, attempt to compile against the full source trees. */ File m2repo = file('../../prebuilts/androidx/external') boolean unbundleBuild = (new File("unbundled-build")).exists() if (m2repo.exists() || unbundleBuild) { repositories { maven { url m2repo.absolutePath } if (unbundleBuild) { jcenter() } } dependencies { compile 'org.antlr:antlr:3.5.2' compile 'com.google.jsilver:jsilver:1.0.0' compile 'org.ccil.cowan.tagsoup:tagsoup:1.2.1' // Transitive dependency required by jsilver. compile 'com.google.guava:guava:15.0' } } else { dependencies { compile project(path: ':antlr', configuration: 'antlrRuntime') compile project(':jsilver') compile project(':tagsoup') } } dependencies { testCompile 'junit:junit:4.12' // tools.jar required for com.sun.javadoc compile files(((URLClassLoader) ToolProvider.getSystemToolClassLoader()).getURLs()) } sourceSets { main { java.srcDirs = ['src/'] resources.srcDirs = ['res/'] } test { java.srcDirs = ['test/'] resources.srcDirs = ['test/api'] } } uploadArchives { repositories { mavenDeployer { repository(url: uri("${buildDir}/repo")) } } } task dist(type: Zip, dependsOn: uploadArchives) { group = BasePlugin.BUILD_GROUP description 'Builds distribution artifacts.' from uploadArchives.artifacts destinationDir distDir doLast { logger.lifecycle "Compressed maven artifacts to ${archivePath}" } }