mirror of
https://github.com/google/nomulus
synced 2026-08-21 14:46:12 +00:00
This also deletes the associated commands and domain application specific entities. We haven't used any of these TLD phases since early 2015 and have no intent to do so in the future, so it makes sense to delete them now so we don't have to carry them through the Registry 3.0 migration. Note that, while there are data model changes, there should be no required data migrations. The fields and entities being removed will simply remain as orphans. I confirmed that the removed types (such as the SUNRUSH_ADD GracePeriodType) are no longer used in production data, and left types that are still used, e.g. BillingEvent.Flag.LANDRUSH or HistoryEntry.Type.ALLOCATE. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=228752843
484 lines
19 KiB
Groovy
484 lines
19 KiB
Groovy
plugins {
|
|
id 'java-library'
|
|
}
|
|
|
|
// Path to code generated by ad hoc tasks in this project. A separate path is
|
|
// used for easy inspection.
|
|
def generatedDir = "${project.buildDir}/generated/source/custom/main"
|
|
|
|
// Tests that conflict with (mostly unidentified) members of the main test
|
|
// suite. It is unclear if they are offenders (i.e., those that pollute global
|
|
// state) or victims.
|
|
// TODO(weiminyu): identify cause and fix offending tests.
|
|
def outcastTestPatterns = [
|
|
"google/registry/batch/DeleteContactsAndHostsActionTest.*",
|
|
"google/registry/batch/RefreshDnsOnHostRenameActionTest.*",
|
|
"google/registry/flows/CheckApiActionTest.*",
|
|
"google/registry/flows/EppLifecycleHostTest.*",
|
|
"google/registry/flows/domain/DomainCreateFlowTest.*",
|
|
"google/registry/flows/domain/DomainUpdateFlowTest.*",
|
|
"google/registry/tools/CreateDomainCommandTest.*",
|
|
"google/registry/tools/server/CreatePremiumListActionTest.*",
|
|
// Conflicts with WhoisActionTest
|
|
"google/registry/whois/WhoisHttpActionTest.*",
|
|
]
|
|
|
|
// Tests that conflict with members of both the main test suite and the
|
|
// outcast suite.
|
|
// TODO(weiminyu): identify cause and fix offending tests.
|
|
def fragileTestPatterns = [
|
|
"google/registry/cron/TldFanoutActionTest.*"
|
|
]
|
|
|
|
sourceSets {
|
|
main {
|
|
java {
|
|
srcDirs += generatedDir
|
|
}
|
|
resources {
|
|
exclude '**/*.xjb'
|
|
}
|
|
}
|
|
test {
|
|
resources {
|
|
exclude '**/*.xjb', '**/*.xsd'
|
|
}
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
css
|
|
jaxb
|
|
soy
|
|
// Label for all dependencies inherited from Bazel build but not used in
|
|
// either compile or testRuntime. However, they may be needed at runtime.
|
|
// TODO(weiminyu): identify runtime dependencies and remove the rest.
|
|
maybeRuntime
|
|
}
|
|
|
|
// Known issues:
|
|
// - The (test/)compile/runtime labels are deprecated. We continue using these
|
|
// labels due to nebula-lint.
|
|
// TODO(weiminyu): switch to api/implementation labels.
|
|
// See https://github.com/nebula-plugins/gradle-lint-plugin/issues/130 for
|
|
// issue status.
|
|
// - Nebula-lint's conflict between unused and undeclared dependency check.
|
|
// If an undeclared dependency is added, the unused-dependency check will flag
|
|
// it. For now we wrap affected dependency in gradleLint.ignore block.
|
|
// TODO(weiminyu): drop gradleLint.ignore block when issue is fixed.
|
|
// See https://github.com/nebula-plugins/gradle-lint-plugin/issues/181 for
|
|
// issue status.
|
|
dependencies {
|
|
def deps = rootProject.dependencyMap
|
|
|
|
// 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')
|
|
|
|
compile deps['com.beust:jcommander']
|
|
compile deps['com.google.api-client:google-api-client']
|
|
maybeRuntime deps['com.google.api-client:google-api-client-appengine']
|
|
maybeRuntime deps['com.google.api-client:google-api-client-jackson2']
|
|
compile deps['com.google.monitoring-client:metrics']
|
|
compile deps['com.google.monitoring-client:stackdriver']
|
|
compile deps['com.google.api-client:google-api-client-java6']
|
|
maybeRuntime deps['com.google.api-client:google-api-client-servlet']
|
|
compile deps['com.google.apis:google-api-services-admin-directory']
|
|
compile deps['com.google.apis:google-api-services-appengine']
|
|
compile deps['com.google.apis:google-api-services-bigquery']
|
|
maybeRuntime deps['com.google.apis:google-api-services-clouddebugger']
|
|
compile deps['com.google.apis:google-api-services-cloudkms']
|
|
maybeRuntime deps['com.google.apis:google-api-services-cloudresourcemanager']
|
|
compile deps['com.google.apis:google-api-services-dataflow']
|
|
compile deps['com.google.apis:google-api-services-dns']
|
|
compile deps['com.google.apis:google-api-services-drive']
|
|
compile deps['com.google.apis:google-api-services-groupssettings']
|
|
compile deps['com.google.apis:google-api-services-monitoring']
|
|
compile deps['com.google.apis:google-api-services-sheets']
|
|
maybeRuntime deps['com.google.apis:google-api-services-storage']
|
|
// TODO(b/71631624): change appengine:appengine-api-1.0-sdk to
|
|
// testCompileOnly after BillingEmailUtilsTest.java is fixed.
|
|
compile deps['com.google.appengine:appengine-api-1.0-sdk']
|
|
maybeRuntime deps['com.google.appengine:appengine-api-labs']
|
|
maybeRuntime deps['com.google.appengine:appengine-api-stubs']
|
|
testCompile deps['com.google.appengine:appengine-api-stubs']
|
|
compile deps['com.google.appengine.tools:appengine-gcs-client']
|
|
compile deps['com.google.appengine.tools:appengine-mapreduce']
|
|
compile deps['com.google.appengine.tools:appengine-pipeline']
|
|
compile deps['com.google.appengine:appengine-remote-api']
|
|
maybeRuntime deps['com.google.appengine:appengine-tools-sdk']
|
|
compile deps['com.google.auth:google-auth-library-credentials']
|
|
compile deps['com.google.auth:google-auth-library-oauth2-http']
|
|
maybeRuntime deps['com.google.auto:auto-common']
|
|
maybeRuntime deps['com.google.auto.factory:auto-factory']
|
|
compile deps['com.google.code.gson:gson']
|
|
compile deps['com.google.auto.value:auto-value-annotations']
|
|
maybeRuntime deps['com.google.cloud.bigdataoss:gcsio']
|
|
maybeRuntime deps['com.google.cloud.bigdataoss:util']
|
|
compile deps['com.google.code.findbugs:jsr305']
|
|
compile deps['com.google.dagger:dagger']
|
|
maybeRuntime deps['com.google.dagger:dagger-producers']
|
|
compile deps['com.google.errorprone:error_prone_annotations']
|
|
maybeRuntime deps['com.google.errorprone:javac-shaded']
|
|
compile deps['com.google.flogger:flogger']
|
|
runtime deps['com.google.flogger:flogger-system-backend']
|
|
maybeRuntime deps['com.google.gdata:core']
|
|
maybeRuntime deps['com.google.googlejavaformat:google-java-format']
|
|
compile deps['com.google.guava:guava']
|
|
gradleLint.ignore('unused-dependency') {
|
|
compile deps['com.google.gwt:gwt-user']
|
|
}
|
|
compile deps['com.google.http-client:google-http-client']
|
|
compile deps['com.google.http-client:google-http-client-appengine']
|
|
compile deps['com.google.http-client:google-http-client-jackson2']
|
|
compile deps['com.google.oauth-client:google-oauth-client']
|
|
maybeRuntime deps['com.google.oauth-client:google-oauth-client-appengine']
|
|
compile deps['com.google.oauth-client:google-oauth-client-java6']
|
|
compile deps['com.google.oauth-client:google-oauth-client-jetty']
|
|
maybeRuntime deps['com.google.oauth-client:google-oauth-client-servlet']
|
|
maybeRuntime deps['com.google.protobuf:protobuf-java']
|
|
compile deps['com.google.re2j:re2j']
|
|
compile deps['com.google.template:soy']
|
|
maybeRuntime deps['com.googlecode.charts4j:charts4j']
|
|
compile deps['com.googlecode.json-simple:json-simple']
|
|
compile deps['com.jcraft:jsch']
|
|
maybeRuntime deps['com.jcraft:jzlib']
|
|
maybeRuntime deps['com.squareup:javapoet']
|
|
maybeRuntime deps['com.squareup:javawriter']
|
|
maybeRuntime deps['com.sun.activation:javax.activation']
|
|
maybeRuntime deps['com.thoughtworks.paranamer:paranamer']
|
|
maybeRuntime deps['commons-codec:commons-codec']
|
|
compile deps['commons-io:commons-io']
|
|
maybeRuntime deps['commons-logging:commons-logging']
|
|
compile deps['dnsjava:dnsjava']
|
|
maybeRuntime deps['io.netty:netty-buffer']
|
|
maybeRuntime deps['io.netty:netty-codec']
|
|
maybeRuntime deps['io.netty:netty-codec-http']
|
|
maybeRuntime deps['io.netty:netty-common']
|
|
maybeRuntime deps['io.netty:netty-handler']
|
|
maybeRuntime deps['io.netty:netty-resolver']
|
|
maybeRuntime deps['io.netty:netty-tcnative']
|
|
maybeRuntime deps['io.netty:netty-tcnative-boringssl-static']
|
|
maybeRuntime deps['io.netty:netty-transport']
|
|
maybeRuntime deps['it.unimi.dsi:fastutil']
|
|
maybeRuntime deps['javax.annotation:jsr250-api']
|
|
runtime deps['org.glassfish.jaxb:jaxb-runtime']
|
|
testCompile deps['javax.annotation:jsr250-api']
|
|
compile deps['javax.inject:javax.inject']
|
|
compile deps['javax.mail:mail']
|
|
compile deps['javax.servlet:servlet-api']
|
|
compile deps['javax.xml.bind:jaxb-api']
|
|
maybeRuntime deps['javax.xml.soap:javax.xml.soap-api']
|
|
compile deps['jline:jline']
|
|
compile deps['joda-time:joda-time']
|
|
compile deps['org.apache.avro:avro']
|
|
maybeRuntime deps['org.apache.beam:beam-runners-direct-java']
|
|
testCompile deps['org.apache.beam:beam-runners-direct-java']
|
|
compile deps['org.apache.beam:beam-runners-google-cloud-dataflow-java']
|
|
maybeRuntime deps['org.apache.beam:beam-sdks-common-runner-api']
|
|
compile deps['org.apache.beam:beam-sdks-java-core']
|
|
compile deps['org.apache.beam:beam-sdks-java-extensions-google-cloud-platform-core']
|
|
compile deps['org.apache.beam:beam-sdks-java-io-google-cloud-platform']
|
|
maybeRuntime deps['org.apache.commons:commons-compress']
|
|
maybeRuntime deps['org.apache.ftpserver:ftplet-api']
|
|
testCompile deps['org.apache.ftpserver:ftplet-api']
|
|
maybeRuntime deps['org.apache.ftpserver:ftpserver-core']
|
|
testCompile deps['org.apache.ftpserver:ftpserver-core']
|
|
compile deps['org.apache.httpcomponents:httpclient']
|
|
compile deps['org.apache.httpcomponents:httpcore']
|
|
maybeRuntime deps['org.apache.mina:mina-core']
|
|
maybeRuntime deps['org.apache.sshd:sshd-core']
|
|
testCompile deps['org.apache.sshd:sshd-core']
|
|
maybeRuntime deps['org.apache.sshd:sshd-scp']
|
|
testCompile deps['org.apache.sshd:sshd-scp']
|
|
maybeRuntime deps['org.apache.sshd:sshd-sftp']
|
|
testCompile deps['org.apache.sshd:sshd-sftp']
|
|
compile deps['org.apache.tomcat:servlet-api']
|
|
maybeRuntime deps['org.apache.tomcat:tomcat-annotations-api']
|
|
testCompile deps['org.apache.tomcat:tomcat-annotations-api']
|
|
compile deps['org.bouncycastle:bcpg-jdk15on']
|
|
testCompile deps['org.bouncycastle:bcpkix-jdk15on']
|
|
compile deps['org.bouncycastle:bcprov-jdk15on']
|
|
maybeRuntime deps['org.codehaus.jackson:jackson-core-asl']
|
|
maybeRuntime deps['org.codehaus.jackson:jackson-mapper-asl']
|
|
compile deps['org.joda:joda-money']
|
|
compile deps['org.json:json']
|
|
maybeRuntime deps['org.khronos:opengl-api']
|
|
maybeRuntime deps['org.mortbay.jetty:jetty']
|
|
testCompile deps['org.mortbay.jetty:jetty']
|
|
compile deps['org.mortbay.jetty:servlet-api']
|
|
maybeRuntime deps['org.mortbay.jetty:jetty-util']
|
|
maybeRuntime deps['org.slf4j:slf4j-api']
|
|
maybeRuntime deps['org.tukaani:xz']
|
|
maybeRuntime deps['org.xerial.snappy:snappy-java']
|
|
compile deps['xerces:xmlParserAPIs']
|
|
compile deps['xpp3:xpp3']
|
|
|
|
// Known issue: nebula-lint misses inherited dependency.
|
|
compile project(':third_party')
|
|
compile project(':util')
|
|
|
|
// Include auto-value in compile until nebula-lint understands
|
|
// annotationProcessor
|
|
gradleLint.ignore('unused-dependency') {
|
|
compile deps['com.google.auto.value:auto-value']
|
|
}
|
|
annotationProcessor deps['com.google.auto.value:auto-value']
|
|
testAnnotationProcessor deps['com.google.auto.value:auto-value']
|
|
annotationProcessor deps['com.google.dagger:dagger-compiler']
|
|
testAnnotationProcessor deps['com.google.dagger:dagger-compiler']
|
|
|
|
testCompile deps['com.google.appengine:appengine-testing']
|
|
testCompile deps['com.google.guava:guava-testlib']
|
|
testCompile deps['com.google.monitoring-client:contrib']
|
|
testCompile deps['com.google.truth:truth']
|
|
testCompile deps['com.google.truth.extensions:truth-java8-extension']
|
|
testCompile deps['org.hamcrest:hamcrest-all']
|
|
testCompile deps['org.hamcrest:hamcrest-core']
|
|
testCompile deps['org.hamcrest:hamcrest-library']
|
|
testCompile deps['junit:junit']
|
|
testCompile deps['org.mockito:mockito-all']
|
|
|
|
// Indirect dependency found by undeclared-dependency check. Such
|
|
// dependencies should go after all other compile and testCompile
|
|
// dependencies to avoid overriding them accidentally.
|
|
compile deps['javax.servlet:javax.servlet-api'] // google-api-client-appeng
|
|
compile deps['com.google.oauth-client:google-oauth-client-java6']
|
|
|
|
// Dependencies needed for jaxb compilation.
|
|
// Use jaxb 2.2.11 because 2.3 is known to break the Ant task we use.
|
|
// TODO: upgrade jaxb versions to 2.4.0, already in beta by Sept 2018
|
|
jaxb deps['javax.xml.bind:jaxb-api']
|
|
jaxb deps['com.sun.activation:javax.activation']
|
|
jaxb deps['com.sun.xml.bind:jaxb-xjc']
|
|
jaxb deps['com.sun.xml.bind:jaxb-impl']
|
|
jaxb deps['com.sun.xml.bind:jaxb-osgi']
|
|
|
|
// Dependency needed for soy to java compilation.
|
|
soy deps['com.google.template:soy']
|
|
|
|
// Dependencies needed for compiling stylesheets to javascript
|
|
css deps['com.google.closure-stylesheets:closure-stylesheets']
|
|
css deps['args4j:args4j']
|
|
|
|
// Tool dependencies. used for doc generation.
|
|
compile files("${System.properties['java.home']}/../lib/tools.jar")
|
|
}
|
|
|
|
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.
|
|
def xjcTempSourceDir = file("${temporaryDir}/xjc")
|
|
xjcTempSourceDir.mkdirs()
|
|
ant.copy(
|
|
todir: "${xjcTempSourceDir}",
|
|
overwrite: true) {
|
|
fileSet(
|
|
dir: "${javaDir}/google/registry/xml/xsd",
|
|
includes: '**.xsd')
|
|
}
|
|
ant.copy(
|
|
todir: "${xjcTempSourceDir}",
|
|
overwrite: true,
|
|
file:
|
|
"${javaDir}/google/registry/xjc/bindings.xjb")
|
|
|
|
ant.taskdef(
|
|
name: 'xjc',
|
|
classname: 'com.sun.tools.xjc.XJCTask',
|
|
classpath: configurations.jaxb.asPath)
|
|
ant.xjc(
|
|
destdir: "${generatedDir}",
|
|
binding: "${xjcTempSourceDir}/bindings.xjb",
|
|
removeOldOutput: 'yes', extension: 'true') {
|
|
project.fileTree(
|
|
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.
|
|
arg(line: '-npa -quiet -extension')
|
|
}
|
|
exec {
|
|
workingDir "${generatedDir}"
|
|
|
|
executable "${javaDir}/google/registry/xjc/make_pkginfo.sh"
|
|
args "${javaDir}/google/registry/xjc/package-info.java.in",
|
|
"${generatedDir}/google/registry/xjc"
|
|
}
|
|
}
|
|
}
|
|
|
|
task soyToJava {
|
|
ext.soyToJava = { javaPackage, outputDirectory, soyFiles ->
|
|
javaexec {
|
|
main = "com.google.template.soy.SoyParseInfoGenerator"
|
|
classpath configurations.soy
|
|
args "--javaPackage", "${javaPackage}",
|
|
"--outputDirectory", "${outputDirectory}",
|
|
"--javaClassNameSource", "filename",
|
|
"--allowExternalCalls", "true",
|
|
"--srcs", "${soyFiles.join(',')}"
|
|
}
|
|
}
|
|
|
|
doLast {
|
|
|
|
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']))
|
|
|
|
soyToJava('google.registry.ui.soy.otesetup',
|
|
"${generatedDir}/google/registry/ui/soy/otesetup",
|
|
fileTree(
|
|
dir: "${javaDir}/google/registry/ui/soy/otesetup",
|
|
include: ['**/*.soy']))
|
|
|
|
soyToJava('google.registry.ui.soy',
|
|
"${generatedDir}/google/registry/ui/soy",
|
|
files {
|
|
file("${javaDir}/google/registry/ui/soy").listFiles()
|
|
}.filter {
|
|
it.name.endsWith(".soy")
|
|
})
|
|
}
|
|
}
|
|
|
|
task stylesheetsToJavascript {
|
|
ext.cssCompile = { outputName, debug, cssFiles ->
|
|
javaexec {
|
|
main = "com.google.common.css.compiler.commandline.ClosureCommandLineCompiler"
|
|
classpath configurations.css
|
|
|
|
def argsBuffer = [
|
|
"--output-file", "${outputName}.css",
|
|
"--output-source-map", "${outputName}.css.map",
|
|
"--input-orientation", "LTR",
|
|
"--output-orientation", "NOCHANGE",
|
|
"--output-renaming-map", "${outputName}.css.js",
|
|
"--output-renaming-map-format", "CLOSURE_COMPILED_SPLIT_HYPHENS"
|
|
]
|
|
if (debug) {
|
|
argsBuffer.addAll(["--rename", "DEBUG", "--pretty-print"])
|
|
} else {
|
|
argsBuffer.addAll(["--rename", "CLOSURE"])
|
|
}
|
|
|
|
argsBuffer.addAll(cssFiles)
|
|
args argsBuffer
|
|
}
|
|
}
|
|
|
|
doLast {
|
|
def cssSourceDir = "${javaDir}/google/registry/ui/css"
|
|
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"
|
|
]
|
|
cssCompile("${outputDir}/registrar_bin", false, srcFiles)
|
|
cssCompile("${outputDir}/registrar_dbg", true, srcFiles)
|
|
}
|
|
}
|
|
|
|
compileJava.dependsOn jaxbToJava
|
|
compileJava.dependsOn soyToJava
|
|
|
|
// stylesheetsToJavascript must happen after processResources, which wipes the
|
|
// resources folder before copying data into it.
|
|
stylesheetsToJavascript.dependsOn processResources
|
|
classes.dependsOn stylesheetsToJavascript
|
|
|
|
// Make testing artifacts available to be depended up on by other projects.
|
|
// TODO: factor out google.registry.testing to be a separate project.
|
|
task testJar(type: Jar) {
|
|
classifier = 'test'
|
|
from sourceSets.test.output
|
|
}
|
|
|
|
artifacts {
|
|
testRuntime testJar
|
|
}
|
|
|
|
task fragileTest(type: Test) {
|
|
// Common exclude pattern. See README in parent directory for explanation.
|
|
exclude "**/*TestCase.*", "**/*TestSuite.*"
|
|
include fragileTestPatterns
|
|
|
|
// Run every test class in a freshly started process.
|
|
forkEvery 1
|
|
|
|
// Uncomment to see test outputs in stdout.
|
|
//testLogging.showStandardStreams = true
|
|
}
|
|
|
|
task outcastTest(type: Test) {
|
|
// Common exclude pattern. See README in parent directory for explanation.
|
|
exclude "**/*TestCase.*", "**/*TestSuite.*"
|
|
include outcastTestPatterns
|
|
|
|
// Sets the maximum number of test executors that may exist at the same time.
|
|
maxParallelForks 5
|
|
}
|
|
|
|
test {
|
|
// Common exclude pattern. See README in parent directory for explanation.
|
|
exclude "**/*TestCase.*", "**/*TestSuite.*"
|
|
exclude fragileTestPatterns
|
|
exclude outcastTestPatterns
|
|
|
|
// Run every test class in its own process.
|
|
// TODO: Figure out why we need to do this, fix it and then stop doing it.
|
|
// This setting makes the build take 35 minutes, without it it takes about 10.
|
|
forkEvery 1
|
|
|
|
// Sets the maximum number of test executors that may exist at the same time.
|
|
maxParallelForks 5
|
|
}.dependsOn(fragileTest, outcastTest)
|
|
|
|
task nomulus(type: Jar) {
|
|
manifest {
|
|
attributes 'Main-Class': 'google.registry.tools.RegistryTool'
|
|
}
|
|
zip64 = true
|
|
baseName = 'nomulus'
|
|
version = null
|
|
from {
|
|
configurations.runtimeClasspath.collect {
|
|
it.isDirectory() ? it : zipTree(it)
|
|
}
|
|
}
|
|
// Excludes signature files that accompany some dependency jars, like
|
|
// bonuncycastle. It they are present, only classes from those signed jars are
|
|
// made available to the class loader.
|
|
// see https://discuss.gradle.org/t/signing-a-custom-gradle-plugin-thats-downloaded-by-the-build-system-from-github/1365
|
|
exclude "META-INF/*.SF", "META-INF/*.DSA", "META-INF/*.RSA"
|
|
with jar
|
|
dependsOn project(':third_party').jar
|
|
}
|
|
|
|
ext.generateDependencyPublications()
|