You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
3.6 KiB
120 lines
3.6 KiB
/* |
|
* 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}" |
|
} |
|
}
|
|
|