blob: 3096e0ee193011f1a15f91fbf2cd48ab44805e50 [file] [log] [blame]
/*
* 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}"
}
}