mirror of
https://github.com/google/nomulus.git
synced 2025-04-30 03:57:51 +02:00
1. The Gradle apt plugin is no longer needed to process annotations. 2. Without the apt plugin, Gralde puts the source files generated by annotation processors in build/generated/sources/annotationProcessor. 3. Change the location of custom generated files to be consistent. 4. Fix a javadoc formatting error.
112 lines
3.2 KiB
Groovy
112 lines
3.2 KiB
Groovy
// Copyright 2019 The Nomulus Authors. All Rights Reserved.
|
|
//
|
|
// 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 static com.google.common.base.Strings.isNullOrEmpty;
|
|
|
|
buildscript {
|
|
if (project.enableDependencyLocking.toBoolean()) {
|
|
// Lock buildscript dependencies.
|
|
configurations.classpath {
|
|
resolutionStrategy.activateDependencyLocking()
|
|
}
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
// Java static analysis plugins. Keep versions consistent with ../build.gradle
|
|
id 'nebula.lint' version '16.0.2'
|
|
id 'net.ltgt.errorprone' version '0.6.1'
|
|
id 'checkstyle'
|
|
id 'com.diffplug.gradle.spotless' version '3.25.0'
|
|
}
|
|
|
|
if (rootProject.enableDependencyLocking.toBoolean()) {
|
|
// Lock application dependencies.
|
|
dependencyLocking {
|
|
lockAllConfigurations()
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
if (isNullOrEmpty(project.ext.properties.mavenUrl)) {
|
|
println "Java dependencies: Using Maven central..."
|
|
mavenCentral()
|
|
google()
|
|
} else {
|
|
maven {
|
|
println "Java dependencies: Using repo ${mavenUrl}..."
|
|
url mavenUrl
|
|
}
|
|
}
|
|
}
|
|
|
|
apply from: '../dependencies.gradle'
|
|
apply from: '../dependency_lic.gradle'
|
|
apply from: '../java_common.gradle'
|
|
|
|
sourceSets {
|
|
main {
|
|
java {
|
|
srcDirs += "${project.buildDir}/generated/source/apt/main"
|
|
}
|
|
}
|
|
}
|
|
|
|
checkstyle {
|
|
configDir file('../config/checkstyle')
|
|
}
|
|
|
|
dependencies {
|
|
def deps = dependencyMap
|
|
compile deps['com.google.auth:google-auth-library-credentials']
|
|
compile deps['com.google.auth:google-auth-library-oauth2-http']
|
|
compile deps['com.google.cloud:google-cloud-core']
|
|
compile deps['com.google.guava:guava']
|
|
compile deps['com.google.auto.value:auto-value-annotations']
|
|
compile deps['com.google.cloud:google-cloud-storage']
|
|
compile deps['org.apache.commons:commons-text']
|
|
compile deps['com.google.template:soy']
|
|
annotationProcessor deps['com.google.auto.value:auto-value']
|
|
testCompile deps['com.google.truth:truth']
|
|
testCompile deps['com.google.truth.extensions:truth-java8-extension']
|
|
testCompile deps['junit:junit']
|
|
testCompile deps['org.junit.jupiter:junit-jupiter-api']
|
|
testCompile deps['org.junit.jupiter:junit-jupiter-engine']
|
|
testCompile deps['org.junit.vintage:junit-vintage-engine']
|
|
testCompile deps['org.mockito:mockito-core']
|
|
}
|
|
|
|
gradle.projectsEvaluated {
|
|
tasks.withType(JavaCompile) {
|
|
options.compilerArgs << "-Xlint:unchecked"
|
|
}
|
|
}
|
|
|
|
task exportDependencies {
|
|
def outputFileProperty = 'dependencyExportFile'
|
|
def output = project.hasProperty(outputFileProperty)
|
|
? new PrintStream(
|
|
new File(project.getProperty(outputFileProperty)))
|
|
: System.out
|
|
|
|
doLast {
|
|
project.configurations.all {
|
|
it.dependencies.findAll {
|
|
it.group != null
|
|
}.each {
|
|
output.println("${it.group}:${it.name}")
|
|
}
|
|
}
|
|
}
|
|
}
|