Add nebula-lint plugin to Gradle scripts

Updated the project config so that the plugin can work.

Reverted to the deprecated compile/testCompile labels
so that the plugin can work. This plugin provides valuable
checks that we do not want to give up.

Added undeclared-dependency check. Still need to add
unused-dependency and one-version check.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=219406600
This commit is contained in:
weiminyu 2018-10-30 19:05:13 -07:00 committed by jianglai
parent 09202562c7
commit 00d0284d5b
2 changed files with 211 additions and 182 deletions

View file

@ -1,29 +1,36 @@
buildscript {
repositories {
jcenter()
mavenCentral()
maven {
url 'https://plugins.gradle.org/m2/'
}
}
plugins {
id 'java'
id 'nebula.lint' version '10.1.2'
}
allprojects {
repositories {
jcenter()
mavenCentral()
flatDir {
// The objectify jar that comes with Nomulus.
dirs "${rootDir}/../third_party/objectify/v4_1"
}
}
// Single version across all projects for now.
version = '1.0'
// Java plugin:
apply plugin: 'java'
apply plugin: 'nebula.lint'
gradleLint.rules = [
// Checks if Gradle wrapper is up-to-date
'archaic-wrapper',
// Checks for indirect dependencies with dynamic version spec. Best
// practice calls for declaring them with specific versions.
'undeclared-dependency'
// TODO(weiminyu): enable more dependency check
]
}
project(':core') {
dependencies {
// Custom-built objectify jar at commit ecd5165, included in Nomulus
// release.
implementation files(
"${rootDir}/../third_party/objectify/v4_1/objectify-4.1.3.jar")
testImplementation project(':third_party')
}
}

View file

@ -45,162 +45,171 @@ configurations {
}
// Relevant canned dependency labels:
// - implementation: Dependencies to be included in release distribution.
// - compileOnly: Dependencies used at compile time only for production code. They will not be
// included in release.
// - testImplementation: Dependencies needed for testing only.
// TODO(weiminyu): switch to api/implementation labels.
// Gradle has deprecated the compile/testCompile labels, but nebula-lint has
// not caught up. The plugin provides valuable dependency checks that we do not
// want to give up.
// See https://github.com/nebula-plugins/gradle-lint-plugin/issues/130 for
// issue status.
dependencies {
implementation 'com.beust:jcommander:1.48'
implementation 'com.fasterxml.jackson.core:jackson-core:2.8.5'
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.8.0'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.8.5'
implementation 'com.google.api-client:google-api-client:1.22.0'
implementation 'com.google.api-client:google-api-client-appengine:1.22.0'
implementation 'com.google.api-client:google-api-client-jackson2:1.20.0'
implementation 'com.google.monitoring-client:metrics:1.0.4'
implementation 'com.google.monitoring-client:stackdriver:1.0.4'
implementation 'com.google.api-client:google-api-client-java6:1.20.0'
implementation 'com.google.api-client:google-api-client-servlet:1.22.0'
implementation 'com.google.apis:google-api-services-admin-directory:directory_v1-rev72-1.22.0'
implementation 'com.google.apis:google-api-services-bigquery:v2-rev325-1.22.0'
implementation 'com.google.apis:google-api-services-clouddebugger:v2-rev8-1.22.0'
implementation 'com.google.apis:google-api-services-cloudkms:v1-rev12-1.22.0'
implementation 'com.google.apis:google-api-services-cloudresourcemanager:v1-rev6-1.22.0'
implementation 'com.google.apis:google-api-services-dataflow:v1b3-rev196-1.22.0'
implementation 'com.google.apis:google-api-services-dns:v2beta1-rev6-1.22.0'
implementation 'com.google.apis:google-api-services-drive:v2-rev160-1.19.1'
implementation 'com.google.apis:google-api-services-groupssettings:v1-rev60-1.22.0'
implementation 'com.google.apis:google-api-services-monitoring:v3-rev11-1.22.0'
implementation 'com.google.apis:google-api-services-sheets:v4-rev483-1.22.0'
implementation 'com.google.apis:google-api-services-storage:v1-rev86-1.22.0'
// TODO(b/71631624): change appengine:appengine-api-1.0-sdk to testCompileOnly after
// BillingEmailUtilsTest.java is fixed.
implementation 'com.google.appengine:appengine-api-1.0-sdk:1.9.48'
implementation 'com.google.appengine:appengine-api-labs:1.9.48'
implementation 'com.google.appengine:appengine-api-stubs:1.9.48'
implementation 'com.google.appengine.tools:appengine-gcs-client:0.6'
implementation 'com.google.appengine.tools:appengine-mapreduce:0.8.5'
implementation 'com.google.appengine.tools:appengine-pipeline:0.2.13'
implementation 'com.google.appengine:appengine-tools-sdk:1.9.48'
implementation 'com.google.auth:google-auth-library-credentials:0.7.1'
implementation 'com.google.auth:google-auth-library-oauth2-http:0.7.1'
implementation 'com.google.auto:auto-common:0.8'
implementation 'com.google.auto.factory:auto-factory:1.0-beta3'
implementation 'com.google.auto.value:auto-value-annotations:1.6.2'
implementation 'com.google.cloud.bigdataoss:gcsio:1.4.5'
implementation 'com.google.cloud.bigdataoss:util:1.4.5'
implementation 'com.google.code.findbugs:jsr305:3.0.2'
implementation 'com.google.dagger:dagger:2.15'
implementation 'com.google.dagger:dagger-producers:2.15'
implementation 'com.google.errorprone:error_prone_annotations:2.1.3'
implementation 'com.google.errorprone:javac-shaded:9-dev-r4023-3'
implementation 'com.google.flogger:flogger:0.1'
implementation 'com.google.flogger:flogger-system-backend:0.1'
implementation 'com.google.gdata:core:1.47.1'
implementation 'com.google.googlejavaformat:google-java-format:1.4'
implementation 'com.google.guava:guava:25.1-jre'
implementation 'com.google.http-client:google-http-client:1.22.0'
implementation 'com.google.http-client:google-http-client-appengine:1.22.0'
implementation 'com.google.http-client:google-http-client-jackson2:1.22.0'
implementation 'com.google.oauth-client:google-oauth-client:1.22.0'
implementation 'com.google.oauth-client:google-oauth-client-appengine:1.22.0'
implementation 'com.google.oauth-client:google-oauth-client-java6:1.22.0'
implementation 'com.google.oauth-client:google-oauth-client-jetty:1.22.0'
implementation 'com.google.oauth-client:google-oauth-client-servlet:1.22.0'
implementation 'com.google.protobuf:protobuf-java:2.6.0'
implementation 'com.google.re2j:re2j:1.1'
implementation 'com.google.template:soy:2018-03-14'
implementation 'com.googlecode.charts4j:charts4j:1.3'
implementation 'com.googlecode.json-simple:json-simple:1.1.1'
implementation 'com.ibm.icu:icu4j:57.1'
implementation 'com.jcraft:jsch:0.1.53'
implementation 'com.jcraft:jzlib:1.1.3'
implementation 'com.squareup:javapoet:1.8.0'
implementation 'com.squareup:javawriter:2.5.1'
implementation 'com.sun.activation:javax.activation:1.2.0'
implementation 'com.thoughtworks.paranamer:paranamer:2.7'
implementation 'commons-codec:commons-codec:1.6'
implementation 'commons-logging:commons-logging:1.1.1'
implementation 'dnsjava:dnsjava:2.1.7'
implementation 'io.netty:netty-buffer:4.1.28.Final'
implementation 'io.netty:netty-codec:4.1.28.Final'
implementation 'io.netty:netty-codec-http:4.1.28.Final'
implementation 'io.netty:netty-common:4.1.28.Final'
implementation 'io.netty:netty-handler:4.1.28.Final'
implementation 'io.netty:netty-resolver:4.1.28.Final'
implementation 'io.netty:netty-tcnative:2.0.12.Final'
implementation 'io.netty:netty-tcnative-boringssl-static:2.0.12.Final'
implementation 'io.netty:netty-transport:4.1.28.Final'
implementation 'it.unimi.dsi:fastutil:6.5.16'
implementation 'javax.annotation:jsr250-api:1.0'
implementation 'javax.inject:javax.inject:1'
implementation 'javax.mail:mail:1.4'
implementation 'javax.servlet:servlet-api:2.5'
implementation 'javax.xml.bind:jaxb-api:2.3.0'
implementation 'javax.xml.soap:javax.xml.soap-api:1.4.0'
implementation 'jline:jline:1.0'
implementation 'joda-time:joda-time:2.3'
implementation 'org.apache.avro:avro:1.8.2'
implementation 'org.apache.beam:beam-runners-direct-java:2.2.0'
implementation 'org.apache.beam:beam-runners-google-cloud-dataflow-java:2.1.0'
implementation 'org.apache.beam:beam-sdks-common-runner-api:2.1.0'
implementation 'org.apache.beam:beam-sdks-java-core:2.2.0'
implementation 'org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.1.0'
implementation 'org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.2.0'
implementation 'org.apache.commons:commons-compress:1.8.1'
implementation 'org.apache.ftpserver:ftpserver-core:1.0.6'
implementation 'org.apache.httpcomponents:httpclient:4.5.2'
implementation 'org.apache.httpcomponents:httpcore:4.4.4'
implementation 'org.apache.mina:mina-core:2.0.4'
implementation 'org.apache.sshd:sshd-core:2.0.0'
implementation 'org.apache.sshd:sshd-scp:2.0.0'
implementation 'org.apache.sshd:sshd-sftp:2.0.0'
implementation 'org.apache.tomcat:servlet-api:6.0.45'
implementation 'org.apache.tomcat:tomcat-annotations-api:8.0.5'
implementation 'org.bouncycastle:bcpg-jdk15on:1.52'
implementation 'org.bouncycastle:bcpkix-jdk15on:1.52'
implementation 'org.bouncycastle:bcprov-jdk15on:1.52'
implementation 'org.codehaus.jackson:jackson-core-asl:1.9.13'
implementation 'org.codehaus.jackson:jackson-mapper-asl:1.9.13'
implementation 'org.joda:joda-money:0.10.0'
implementation 'org.json:json:20160810'
implementation 'org.khronos:opengl-api:gl1.1-android-2.1_r1'
implementation 'org.mortbay.jetty:jetty:6.1.26'
implementation 'org.mortbay.jetty:servlet-api:2.5-20081211'
implementation 'org.mortbay.jetty:jetty-util:6.1.26'
implementation 'org.slf4j:slf4j-api:1.7.16'
implementation 'org.tukaani:xz:1.5'
implementation 'org.xerial.snappy:snappy-java:1.1.4-M3'
implementation 'org.yaml:snakeyaml:1.17'
implementation 'xerces:xmlParserAPIs:2.6.2'
implementation 'xpp3:xpp3:1.1.4c'
// Custom-built objectify jar at commit ecd5165, included in Nomulus release.
implementation name: 'objectify-4.1.3'
compile 'com.beust:jcommander:1.48'
compile 'com.fasterxml.jackson.core:jackson-core:2.8.5'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.8.0'
compile 'com.fasterxml.jackson.core:jackson-databind:2.8.5'
compile 'com.google.api-client:google-api-client:1.22.0'
compile 'com.google.api-client:google-api-client-appengine:1.22.0'
compile 'com.google.api-client:google-api-client-jackson2:1.20.0'
compile 'com.google.monitoring-client:metrics:1.0.4'
compile 'com.google.monitoring-client:stackdriver:1.0.4'
compile 'com.google.api-client:google-api-client-java6:1.20.0'
compile 'com.google.api-client:google-api-client-servlet:1.22.0'
compile 'com.google.apis:google-api-services-admin-directory:directory_v1-rev72-1.22.0'
compile 'com.google.apis:google-api-services-bigquery:v2-rev325-1.22.0'
compile 'com.google.apis:google-api-services-clouddebugger:v2-rev8-1.22.0'
compile 'com.google.apis:google-api-services-cloudkms:v1-rev12-1.22.0'
compile 'com.google.apis:google-api-services-cloudresourcemanager:v1-rev6-1.22.0'
compile 'com.google.apis:google-api-services-dataflow:v1b3-rev196-1.22.0'
compile 'com.google.apis:google-api-services-dns:v2beta1-rev6-1.22.0'
compile 'com.google.apis:google-api-services-drive:v2-rev160-1.19.1'
compile 'com.google.apis:google-api-services-groupssettings:v1-rev60-1.22.0'
compile 'com.google.apis:google-api-services-monitoring:v3-rev11-1.22.0'
compile 'com.google.apis:google-api-services-sheets:v4-rev483-1.22.0'
compile 'com.google.apis:google-api-services-storage:v1-rev86-1.22.0'
// TODO(b/71631624): change appengine:appengine-api-1.0-sdk to
// testCompileOnly after BillingEmailUtilsTest.java is fixed.
compile 'com.google.appengine:appengine-api-1.0-sdk:1.9.48'
compile 'com.google.appengine:appengine-api-labs:1.9.48'
compile 'com.google.appengine:appengine-api-stubs:1.9.48'
compile 'com.google.appengine.tools:appengine-gcs-client:0.6'
compile 'com.google.appengine.tools:appengine-mapreduce:0.8.5'
compile 'com.google.appengine.tools:appengine-pipeline:0.2.13'
compile 'com.google.appengine:appengine-remote-api:1.9.48'
compile 'com.google.appengine:appengine-tools-sdk:1.9.48'
compile 'com.google.auth:google-auth-library-credentials:0.7.1'
compile 'com.google.auth:google-auth-library-oauth2-http:0.7.1'
compile 'com.google.auto:auto-common:0.8'
compile 'com.google.auto.factory:auto-factory:1.0-beta3'
compile 'com.google.auto.value:auto-value-annotations:1.6.2'
compile 'com.google.cloud.bigdataoss:gcsio:1.4.5'
compile 'com.google.cloud.bigdataoss:util:1.4.5'
compile 'com.google.code.findbugs:jsr305:3.0.2'
compile 'com.google.dagger:dagger:2.15'
compile 'com.google.dagger:dagger-producers:2.15'
compile 'com.google.errorprone:error_prone_annotations:2.3.1'
compile 'com.google.errorprone:javac-shaded:9-dev-r4023-3'
compile 'com.google.flogger:flogger:0.1'
compile 'com.google.flogger:flogger-system-backend:0.1'
compile 'com.google.gdata:core:1.47.1'
compile 'com.google.googlejavaformat:google-java-format:1.4'
compile 'com.google.guava:guava-jdk5:17.0'
compile 'com.google.guava:guava:25.1-jre'
compile 'com.google.gwt:gwt-user:2.8.2'
compile 'com.google.http-client:google-http-client:1.22.0'
compile 'com.google.http-client:google-http-client-appengine:1.22.0'
compile 'com.google.http-client:google-http-client-jackson2:1.22.0'
compile 'com.google.oauth-client:google-oauth-client:1.22.0'
compile 'com.google.oauth-client:google-oauth-client-appengine:1.22.0'
compile 'com.google.oauth-client:google-oauth-client-java6:1.22.0'
compile 'com.google.oauth-client:google-oauth-client-jetty:1.22.0'
compile 'com.google.oauth-client:google-oauth-client-servlet:1.22.0'
compile 'com.google.protobuf:protobuf-java:2.6.0'
compile 'com.google.re2j:re2j:1.1'
compile 'com.google.template:soy:2018-03-14'
compile 'com.googlecode.charts4j:charts4j:1.3'
compile 'com.googlecode.json-simple:json-simple:1.1.1'
compile 'com.ibm.icu:icu4j:57.1'
compile 'com.jcraft:jsch:0.1.53'
compile 'com.jcraft:jzlib:1.1.3'
compile 'com.squareup:javapoet:1.8.0'
compile 'com.squareup:javawriter:2.5.1'
compile 'com.sun.activation:javax.activation:1.2.0'
compile 'com.thoughtworks.paranamer:paranamer:2.7'
compile 'commons-codec:commons-codec:1.6'
compile 'commons-logging:commons-logging:1.1.1'
compile 'dnsjava:dnsjava:2.1.7'
compile 'io.netty:netty-buffer:4.1.28.Final'
compile 'io.netty:netty-codec:4.1.28.Final'
compile 'io.netty:netty-codec-http:4.1.28.Final'
compile 'io.netty:netty-common:4.1.28.Final'
compile 'io.netty:netty-handler:4.1.28.Final'
compile 'io.netty:netty-resolver:4.1.28.Final'
compile 'io.netty:netty-tcnative:2.0.12.Final'
compile 'io.netty:netty-tcnative-boringssl-static:2.0.12.Final'
compile 'io.netty:netty-transport:4.1.28.Final'
compile 'it.unimi.dsi:fastutil:6.5.16'
compile 'javax.annotation:jsr250-api:1.0'
compile 'javax.inject:javax.inject:1'
compile 'javax.mail:mail:1.4'
compile 'javax.servlet:servlet-api:2.5'
compile 'javax.xml.bind:jaxb-api:2.3.0'
compile 'javax.xml.soap:javax.xml.soap-api:1.4.0'
compile 'jline:jline:1.0'
compile 'joda-time:joda-time:2.3'
compile 'org.apache.avro:avro:1.8.2'
compile 'org.apache.beam:beam-runners-direct-java:2.2.0'
compile 'org.apache.beam:beam-runners-google-cloud-dataflow-java:2.1.0'
compile 'org.apache.beam:beam-sdks-common-runner-api:2.1.0'
compile 'org.apache.beam:beam-sdks-java-core:2.2.0'
compile 'org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core:2.1.0'
compile 'org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.2.0'
compile 'org.apache.commons:commons-compress:1.8.1'
compile 'org.apache.ftpserver:ftplet-api:1.0.6'
compile 'org.apache.ftpserver:ftpserver-core:1.0.6'
compile 'org.apache.httpcomponents:httpclient:4.5.2'
compile 'org.apache.httpcomponents:httpcore:4.4.4'
compile 'org.apache.mina:mina-core:2.0.4'
compile 'org.apache.sshd:sshd-core:2.0.0'
compile 'org.apache.sshd:sshd-scp:2.0.0'
compile 'org.apache.sshd:sshd-sftp:2.0.0'
compile 'org.apache.tomcat:servlet-api:6.0.45'
compile 'org.apache.tomcat:tomcat-annotations-api:8.0.5'
compile 'org.bouncycastle:bcpg-jdk15on:1.52'
compile 'org.bouncycastle:bcpkix-jdk15on:1.52'
compile 'org.bouncycastle:bcprov-jdk15on:1.52'
compile 'org.codehaus.jackson:jackson-core-asl:1.9.13'
compile 'org.codehaus.jackson:jackson-mapper-asl:1.9.13'
compile 'org.joda:joda-money:0.10.0'
compile 'org.json:json:20160810'
compile 'org.khronos:opengl-api:gl1.1-android-2.1_r1'
compile 'org.mortbay.jetty:jetty:6.1.26'
compile 'org.mortbay.jetty:servlet-api:2.5-20081211'
compile 'org.mortbay.jetty:jetty-util:6.1.26'
compile 'org.slf4j:slf4j-api:1.7.16'
compile 'org.tukaani:xz:1.5'
compile 'org.xerial.snappy:snappy-java:1.1.4-M3'
compile 'org.yaml:snakeyaml:1.17'
compile 'xerces:xmlParserAPIs:2.6.2'
compile 'xpp3:xpp3:1.1.4c'
compileOnly 'com.google.appengine:appengine-remote-api:1.9.48' // Also testImplementation
compileOnly 'com.google.auto.service:auto-service:1.0-rc4'
compileOnly 'org.osgi:org.osgi.core:4.3.0'
// Known issue: nebula-lint misses inherited dependency.
compile project(':third_party')
// Include auto-value in compile until nebula-lint understands
// annotationProcessor
compile 'com.google.auto.value:auto-value:1.6.2'
annotationProcessor 'com.google.auto.value:auto-value:1.6.2'
testAnnotationProcessor 'com.google.auto.value:auto-value:1.6.2'
annotationProcessor 'com.google.dagger:dagger-compiler:2.15'
testAnnotationProcessor 'com.google.dagger:dagger-compiler:2.15'
testImplementation 'com.google.appengine:appengine-remote-api:1.9.48' // Also compileOnly
testImplementation 'com.google.appengine:appengine-testing:1.9.58'
testImplementation 'com.google.guava:guava-testlib:25.0-jre'
testImplementation 'com.google.monitoring-client:contrib:1.0.4'
testImplementation 'com.google.truth:truth:0.42'
testImplementation 'com.google.truth.extensions:truth-java8-extension:0.39'
testImplementation 'org.hamcrest:hamcrest-all:1.3'
testImplementation 'org.hamcrest:hamcrest-core:1.3'
testImplementation 'org.hamcrest:hamcrest-library:1.3'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-all:1.9.5'
testImplementation 'org.slf4j:slf4j-simple:1.7.16' // Not needed by Bazel
// Use compile to work around nebula bug. This should be testCompile.
compile 'com.google.appengine:appengine-testing:1.9.58'
testImplementation project(':third_party')
testCompile 'com.google.guava:guava-testlib:25.0-jre'
testCompile 'com.google.monitoring-client:contrib:1.0.4'
testCompile 'com.google.truth:truth:0.42'
testCompile 'com.google.truth.extensions:truth-java8-extension:0.39'
testCompile 'org.hamcrest:hamcrest-all:1.3'
testCompile 'org.hamcrest:hamcrest-core:1.3'
testCompile 'org.hamcrest:hamcrest-library:1.3'
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-all:1.9.5'
testCompile 'org.slf4j:slf4j-simple:1.7.16' // Not needed by Bazel
// Indirect dependency found by undeclared-dependency check. Such
// dependencies should go after all other compile and testCompile
// dependencies to avoid overriding them accidentally.
compile 'javax.servlet:javax.servlet-api:3.1.0' // google-api-client-appeng
// Dependencies needed for jaxb compilation.
// Use jaxb 2.2.11 because 2.3 is known to break the Ant task we use.
@ -219,12 +228,13 @@ dependencies {
css 'args4j:args4j:2.0.26'
}
task jaxbToJava() {
task jaxbToJava {
doLast {
file(generatedDir).mkdirs()
// Temp dir to hold schema and bindings files. Files must be in the same directory because
// the bindings (.xjb) file does not declare relative paths to schema (.xsd) files.
// Temp dir to hold schema and bindings files. Files must be in the same
// directory because the bindings (.xjb) file does not declare relative
// paths to schema (.xsd) files.
def xjcTempSourceDir = file("${temporaryDir}/xjc")
xjcTempSourceDir.mkdirs()
ant.copy(
@ -252,7 +262,8 @@ task jaxbToJava() {
dir: new File("$xjcTempSourceDir"),
include: ['**/*.xsd'])
.addToAntBuilder(ant, 'schema', FileCollection.AntType.FileSet)
// -npa: do not generate package-info.java files. They will be generated below.
// -npa: do not generate package-info.java files. They will be generated
// below.
arg(line: '-npa -quiet -extension')
}
exec {
@ -265,7 +276,7 @@ task jaxbToJava() {
}
}
task soyToJava() {
task soyToJava {
ext.soyToJava = { javaPackage, outputDirectory, soyFiles ->
javaexec {
main = "com.google.template.soy.SoyParseInfoGenerator"
@ -280,12 +291,17 @@ task soyToJava() {
doLast {
soyToJava('google.registry.tools.soy', "${generatedDir}/google/registry/tools/soy",
fileTree(dir: "${javaDir}/google/registry/tools/soy", include: ['**/*.soy']))
soyToJava('google.registry.tools.soy',
"${generatedDir}/google/registry/tools/soy",
fileTree(
dir: "${javaDir}/google/registry/tools/soy",
include: ['**/*.soy']))
soyToJava('google.registry.ui.soy.registrar',
"${generatedDir}/google/registry/ui/soy/registrar",
fileTree(dir: "${javaDir}/google/registry/ui/soy/registrar", include: ['**/*.soy']))
fileTree(
dir: "${javaDir}/google/registry/ui/soy/registrar",
include: ['**/*.soy']))
soyToJava('google.registry.ui.soy',
"${generatedDir}/google/registry/ui/soy",
@ -327,11 +343,16 @@ task stylesheetsToJavascript {
def outputDir = "${project.buildDir}/resources/main/google/registry/ui/css"
file("${outputDir}").mkdirs()
def srcFiles = [
"${cssSourceDir}/console.css", "${cssSourceDir}/contact-settings.css",
"${cssSourceDir}/contact-us.css", "${cssSourceDir}/dashboard.css",
"${cssSourceDir}/epp.css", "${cssSourceDir}/forms.css",
"${cssSourceDir}/kd_components.css", "${cssSourceDir}/registry.css",
"${cssSourceDir}/resources.css", "${cssSourceDir}/security-settings.css"
"${cssSourceDir}/console.css",
"${cssSourceDir}/contact-settings.css",
"${cssSourceDir}/contact-us.css",
"${cssSourceDir}/dashboard.css",
"${cssSourceDir}/epp.css",
"${cssSourceDir}/forms.css",
"${cssSourceDir}/kd_components.css",
"${cssSourceDir}/registry.css",
"${cssSourceDir}/resources.css",
"${cssSourceDir}/security-settings.css"
]
cssCompile("${outputDir}/registrar_bin", false, srcFiles)
cssCompile("${outputDir}/registrar_dbg", true, srcFiles)
@ -341,8 +362,8 @@ task stylesheetsToJavascript {
compileJava.dependsOn jaxbToJava
compileJava.dependsOn soyToJava
// stylesheetsToJavascript must happen after processResources, which wipes the resources folder
// before copying data into it.
// stylesheetsToJavascript must happen after processResources, which wipes the
// resources folder before copying data into it.
stylesheetsToJavascript.dependsOn processResources
classes.dependsOn stylesheetsToJavascript
@ -350,15 +371,16 @@ classes.dependsOn stylesheetsToJavascript
test {
// Test exclusion patterns:
// - *TestCase.java are inherited by concrete test classes.
// - *TestSuite.java are excluded to avoid duplicate execution of suite members. See README
// in this directory for more information.
// - *TestSuite.java are excluded to avoid duplicate execution of suite
// members. See README in this directory for more information.
exclude "**/*TestCase.*", "**/*TestSuite.*"
// Use a single JVM to execute all tests. See README in this directory for more information.
// Use a single JVM to execute all tests. See README in this directory for
// more information.
maxParallelForks 1
// Use a single thread to execute all tests in a JVM. See README in this directory for more
// information.
// Use a single thread to execute all tests in a JVM. See README in this
// directory for more information.
forkEvery 1
// Uncomment to see test outputs in stdout.