// 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. 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 '10.4.2' // Config helper for annotation processors such as AutoValue and Dagger. // Ensures that source code is generated at an appropriate location. id 'net.ltgt.apt' version '0.19' apply false id 'net.ltgt.errorprone' version '0.6.1' id 'checkstyle' id 'com.diffplug.gradle.spotless' version '3.18.0' } if (rootProject.enableDependencyLocking.toBoolean()) { // Lock application dependencies. dependencyLocking { lockAllConfigurations() } } repositories { if (project.ext.properties.mavenUrl == null) { println "Plugin dependencies: Using Maven central..." mavenCentral() } else { maven { println "Plugin 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.mockito:mockito-core'] } gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" } } task exportDenpendencies { 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}") } } } }