// 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.auto.value:auto-value-annotations'] compile deps['com.google.common.html.types:types'] compile deps['com.google.cloud:google-cloud-core'] compile deps['com.google.cloud:google-cloud-storage'] compile deps['com.google.guava:guava'] compile deps['com.google.protobuf:protobuf-java'] compile deps['com.google.template:soy'] compile deps['org.apache.commons:commons-text'] 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['org.junit.jupiter:junit-jupiter-api'] testCompile deps['org.junit.jupiter:junit-jupiter-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}") } } } }