Refactor the maven upload build stuff

This also adds the required javadoc jars
This commit is contained in:
Ben Gruver
2014-01-18 11:33:39 -08:00
parent 0845df7dd0
commit 1d28b32ff5
6 changed files with 60 additions and 78 deletions

View File

@ -80,15 +80,6 @@ uploadArchives {
} }
} }
task sourcesJar(type: Jar) {
classifier = 'sources'
from sourceSets.main.allJava
}
artifacts {
archives sourcesJar
}
task proguard(type: JavaExec, dependsOn: fatJar) { task proguard(type: JavaExec, dependsOn: fatJar) {
def outFile = fatJar.destinationDir.getPath() + '/' + fatJar.baseName + '-' + fatJar.version + '-small' + '.' + fatJar.extension def outFile = fatJar.destinationDir.getPath() + '/' + fatJar.baseName + '-' + fatJar.version + '-small' + '.' + fatJar.extension
inputs.file fatJar.archivePath inputs.file fatJar.archivePath

View File

@ -64,13 +64,13 @@ if (!('release' in gradle.startParameter.taskNames)) {
task release() { task release() {
} }
// The projects that get pushed to maven
def maven_release_projects = ['smali', 'baksmali', 'dexlib2', 'util']
subprojects { subprojects {
apply plugin: 'java' apply plugin: 'java'
apply plugin: 'idea' apply plugin: 'idea'
apply plugin: 'maven'
apply plugin: 'signing'
group = 'org.smali'
version = parent.version version = parent.version
ext { ext {
@ -93,52 +93,74 @@ subprojects {
mavenCentral() mavenCentral()
} }
signing { if (project.name in maven_release_projects) {
required { gradle.taskGraph.hasTask("uploadArchives") } apply plugin: 'maven'
sign configurations.archives apply plugin: 'signing'
}
uploadArchives { group = 'org.smali'
repositories.mavenDeployer {
configuration = configurations.archives
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')) { task sourcesJar(type: Jar) {
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { classifier = 'sources'
authentication(userName: sonatypeUsername, password: sonatypePassword) from sourceSets.main.allJava
} }
}
pom.artifactId = project.name artifacts {
archives javadocJar
archives sourcesJar
}
pom.project { signing {
name project.name required { gradle.taskGraph.hasTask("uploadArchives") }
url 'http://smali.org' sign configurations.archives
packaging 'jar' }
licenses {
license { uploadArchives {
name 'The BSD 3-Clause License' repositories.mavenDeployer {
url 'http://opensource.org/licenses/BSD-3-Clause' configuration = configurations.archives
distribution 'repo'
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' pom.artifactId = project.name
developerConnection 'scm:git:git@github.com:JesusFreke/smali.git'
} pom.project {
developers { name project.name
developer { url 'http://smali.org'
id 'jesusfreke' packaging 'jar'
name 'Ben Gruver' licenses {
email 'jesusfreke@jesusfreke.com' 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 { buildscript {

View File

@ -36,8 +36,4 @@ dependencies {
compile 'org.antlr:ST4:4.0.7' compile 'org.antlr:ST4:4.0.7'
testCompile 'junit:junit:4.6' 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

View File

@ -118,15 +118,6 @@ task accessorTest(type: Test, dependsOn: generateAccessorTestDex) {
classpath = project.sourceSets.accessorTest.runtimeClasspath classpath = project.sourceSets.accessorTest.runtimeClasspath
} }
task sourcesJar(type: Jar) {
classifier = 'sources'
from sourceSets.main.allJava
}
artifacts {
archives sourcesJar
}
uploadArchives { uploadArchives {
repositories.mavenDeployer { repositories.mavenDeployer {
pom.project { pom.project {

View File

@ -170,15 +170,6 @@ uploadArchives {
} }
} }
task sourcesJar(type: Jar) {
classifier = 'sources'
from sourceSets.main.allJava
}
artifacts {
archives sourcesJar
}
task proguard(type: JavaExec, dependsOn: fatJar) { task proguard(type: JavaExec, dependsOn: fatJar) {
def outFile = fatJar.destinationDir.getPath() + '/' + fatJar.baseName + '-' + fatJar.version + '-small' + '.' + fatJar.extension def outFile = fatJar.destinationDir.getPath() + '/' + fatJar.baseName + '-' + fatJar.version + '-small' + '.' + fatJar.extension
inputs.file fatJar.archivePath inputs.file fatJar.archivePath

View File

@ -36,15 +36,6 @@ dependencies {
testCompile depends.junit testCompile depends.junit
} }
task sourcesJar(type: Jar) {
classifier = 'sources'
from sourceSets.main.allJava
}
artifacts {
archives sourcesJar
}
uploadArchives { uploadArchives {
repositories.mavenDeployer { repositories.mavenDeployer {
pom.project { pom.project {