diff --git a/baksmali/build.gradle b/baksmali/build.gradle index f12d3ba2..1f2e47c8 100644 --- a/baksmali/build.gradle +++ b/baksmali/build.gradle @@ -80,15 +80,6 @@ uploadArchives { } } -task sourcesJar(type: Jar) { - classifier = 'sources' - from sourceSets.main.allJava -} - -artifacts { - archives sourcesJar -} - task proguard(type: JavaExec, dependsOn: fatJar) { def outFile = fatJar.destinationDir.getPath() + '/' + fatJar.baseName + '-' + fatJar.version + '-small' + '.' + fatJar.extension inputs.file fatJar.archivePath diff --git a/build.gradle b/build.gradle index e571f0e9..e291e8fd 100644 --- a/build.gradle +++ b/build.gradle @@ -64,13 +64,13 @@ if (!('release' in gradle.startParameter.taskNames)) { task release() { } +// The projects that get pushed to maven +def maven_release_projects = ['smali', 'baksmali', 'dexlib2', 'util'] + subprojects { apply plugin: 'java' apply plugin: 'idea' - apply plugin: 'maven' - apply plugin: 'signing' - group = 'org.smali' version = parent.version ext { @@ -93,52 +93,74 @@ subprojects { mavenCentral() } - signing { - required { gradle.taskGraph.hasTask("uploadArchives") } - sign configurations.archives - } + if (project.name in maven_release_projects) { + apply plugin: 'maven' + apply plugin: 'signing' - uploadArchives { - repositories.mavenDeployer { - configuration = configurations.archives + group = 'org.smali' - beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } + task javadocJar(type: Jar, dependsOn: javadoc) { + classifier = 'javadoc' + from 'build/docs/javadoc' + } - if (rootProject.hasProperty('sonatypeUsername') && rootProject.hasProperty('sonatypePassword')) { - repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { - authentication(userName: sonatypeUsername, password: sonatypePassword) - } - } + task sourcesJar(type: Jar) { + classifier = 'sources' + from sourceSets.main.allJava + } - pom.artifactId = project.name + artifacts { + archives javadocJar + archives sourcesJar + } - pom.project { - name project.name - url 'http://smali.org' - packaging 'jar' - licenses { - license { - name 'The BSD 3-Clause License' - url 'http://opensource.org/licenses/BSD-3-Clause' - distribution 'repo' + signing { + required { gradle.taskGraph.hasTask("uploadArchives") } + sign configurations.archives + } + + uploadArchives { + repositories.mavenDeployer { + configuration = configurations.archives + + beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } + + if (rootProject.hasProperty('sonatypeUsername') && rootProject.hasProperty('sonatypePassword')) { + repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { + authentication(userName: sonatypeUsername, password: sonatypePassword) } } - scm { - connection 'scm:git:git://github.com/JesusFreke/smali.git' - developerConnection 'scm:git:git@github.com:JesusFreke/smali.git' - } - developers { - developer { - id 'jesusfreke' - name 'Ben Gruver' - email 'jesusfreke@jesusfreke.com' + + pom.artifactId = project.name + + pom.project { + name project.name + url 'http://smali.org' + packaging 'jar' + licenses { + license { + name 'The BSD 3-Clause License' + url 'http://opensource.org/licenses/BSD-3-Clause' + distribution 'repo' + } + } + scm { + connection 'scm:git:git://github.com/JesusFreke/smali.git' + developerConnection 'scm:git:git@github.com:JesusFreke/smali.git' + } + developers { + developer { + id 'jesusfreke' + name 'Ben Gruver' + email 'jesusfreke@jesusfreke.com' + } } } } } - } - tasks.getByPath(':release').dependsOn(uploadArchives) + tasks.getByPath(':release').dependsOn(uploadArchives) + } } buildscript { diff --git a/dexlib2/accessorTestGenerator/build.gradle b/dexlib2/accessorTestGenerator/build.gradle index 606fa0ac..e50bdc0a 100644 --- a/dexlib2/accessorTestGenerator/build.gradle +++ b/dexlib2/accessorTestGenerator/build.gradle @@ -36,8 +36,4 @@ dependencies { compile 'org.antlr:ST4:4.0.7' testCompile 'junit:junit:4.6' -} - -// this is a test-only project that we don't need to upload to maven -signArchives.enabled = false -uploadArchives.enabled = false \ No newline at end of file +} \ No newline at end of file diff --git a/dexlib2/build.gradle b/dexlib2/build.gradle index bcecb19d..d39c5db9 100644 --- a/dexlib2/build.gradle +++ b/dexlib2/build.gradle @@ -118,15 +118,6 @@ task accessorTest(type: Test, dependsOn: generateAccessorTestDex) { classpath = project.sourceSets.accessorTest.runtimeClasspath } -task sourcesJar(type: Jar) { - classifier = 'sources' - from sourceSets.main.allJava -} - -artifacts { - archives sourcesJar -} - uploadArchives { repositories.mavenDeployer { pom.project { diff --git a/smali/build.gradle b/smali/build.gradle index 9c16db77..6682cc35 100644 --- a/smali/build.gradle +++ b/smali/build.gradle @@ -170,15 +170,6 @@ uploadArchives { } } -task sourcesJar(type: Jar) { - classifier = 'sources' - from sourceSets.main.allJava -} - -artifacts { - archives sourcesJar -} - task proguard(type: JavaExec, dependsOn: fatJar) { def outFile = fatJar.destinationDir.getPath() + '/' + fatJar.baseName + '-' + fatJar.version + '-small' + '.' + fatJar.extension inputs.file fatJar.archivePath diff --git a/util/build.gradle b/util/build.gradle index 82d2998f..407ef71f 100644 --- a/util/build.gradle +++ b/util/build.gradle @@ -36,15 +36,6 @@ dependencies { testCompile depends.junit } -task sourcesJar(type: Jar) { - classifier = 'sources' - from sourceSets.main.allJava -} - -artifacts { - archives sourcesJar -} - uploadArchives { repositories.mavenDeployer { pom.project {