blob: 4f586dff717ec858bc7c3f856dedf510c09edfbb [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
plugins {
id("java")
id("maven-publish")
}
group = 'com.android'
version = '1.0.6'
if (System.env.OUT_DIR != null) {
buildDir = file("${System.env.OUT_DIR}/gradle/external/doclava/build").getCanonicalFile()
} else {
buildDir = file('../../out/host/gradle/external/doclava/build')
}
repositories {
maven { url file('../../prebuilts/androidx/external').absolutePath }
}
dependencies {
implementation("org.antlr:antlr:3.5.2")
implementation("com.google.jsilver:jsilver:1.0.0")
implementation("org.ccil.cowan.tagsoup:tagsoup:1.2.1")
// tools.jar required for com.sun.javadoc
def toolsJar
if (JavaVersion.current().getMajorVersion() == "8") {
toolsJar = ((URLClassLoader) ToolProvider.getSystemToolClassLoader()).getURLs()
} else if (System.env.JAVA_TOOLS_JAR != null) {
toolsJar = System.env.JAVA_TOOLS_JAR
} else {
throw new Exception("If you are not using Java 8, JAVA_TOOLS_JAR env variable " +
"needs to be set to tools.jar from a Java 8 installation to build Doclava")
}
implementation(files(toolsJar))
testImplementation("junit:junit:4.12")
}
sourceSets {
main {
java.srcDirs = ['src/']
resources.srcDirs = ['res/']
}
test {
java.srcDirs = ['test/']
resources.srcDirs = ['test/api']
}
}
tasks.withType(JavaCompile) {
// Suppress build warnings that we're not interested in: b/154755010
options.warnings = false
}
tasks.withType(Jar) { task ->
task.reproducibleFileOrder = true
task.preserveFileTimestamps = false
}