Summary: This improves the quality of the published POM files, adding dependencies and marking the object as an 'aar'. It also bumps the version to 1.2.0 for JCenter. Reviewed By: emilsjolander Differential Revision: D4620150 fbshipit-source-id: 968f1cea21af4b2f19aeff3f32ad575b185fa1bb
93 lines
2.8 KiB
Groovy
93 lines
2.8 KiB
Groovy
ext {
|
|
bintrayUserOrg = 'facebook'
|
|
bintrayRepo = 'maven'
|
|
siteURL = "https://facebook.github.io/yoga/"
|
|
projectLicenses = {
|
|
license {
|
|
name 'BSD License'
|
|
url 'https://github.com/facebook/yoga/blob/master/LICENSE'
|
|
distribution 'repo'
|
|
}
|
|
}
|
|
}
|
|
|
|
def getBintrayUsername() {
|
|
return hasProperty('bintrayUsername') ? property('bintrayUsername') : System.getenv('BINTRAY_USERNAME')
|
|
}
|
|
|
|
def getBintrayApiKey() {
|
|
return hasProperty('bintrayApiKey') ? property('bintrayApiKey') : System.getenv('BINTRAY_API_KEY')
|
|
}
|
|
|
|
def getBintrayGpgPassword() {
|
|
return hasProperty('bintrayGpgPassword') ? property('bintrayGpgPassword') : System.getenv('BINTRAY_GPG_PASSWORD')
|
|
}
|
|
|
|
def dryRunOnly() {
|
|
return hasProperty('dryRun') ? property('dryRun').toBoolean() : false
|
|
}
|
|
|
|
def pomConfig = {
|
|
licenses {
|
|
// TODO Can we grab this from above?
|
|
license {
|
|
name 'BSD License'
|
|
url 'https://github.com/facebook/yoga/blob/master/LICENSE'
|
|
distribution 'repo'
|
|
}
|
|
}
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
primaryPublication(MavenPublication) {
|
|
groupId group
|
|
artifact(sourcesJar)
|
|
artifact(javadocJar)
|
|
pom.packaging='aar'
|
|
pom.withXml {
|
|
def root = asNode()
|
|
root.appendNode('name', 'Yoga')
|
|
root.appendNode('url', siteURL)
|
|
root.children().last() + pomConfig
|
|
def dependenciesNode = root.appendNode('dependencies')
|
|
//Iterate over the compile dependencies (we don't want the test ones), adding a <dependency> node for each
|
|
configurations.compile.allDependencies.each {
|
|
if(it.group != null && (it.name != null || "unspecified".equals(it.name)) && it.version != null) {
|
|
def dependencyNode = dependenciesNode.appendNode('dependency')
|
|
dependencyNode.appendNode('groupId', it.group)
|
|
dependencyNode.appendNode('artifactId', it.name)
|
|
dependencyNode.appendNode('version', it.version)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
bintray {
|
|
user = getBintrayUsername()
|
|
key = getBintrayApiKey()
|
|
publications = ['primaryPublication']
|
|
configurations = ['archives']
|
|
pkg {
|
|
repo = bintrayRepo
|
|
userOrg = bintrayUserOrg
|
|
name = project.bintrayName
|
|
dryRun = dryRunOnly()
|
|
licenses = projectLicenses
|
|
override = true
|
|
publish = true
|
|
publicDownloadNumbers = true
|
|
version {
|
|
name = project.version
|
|
released = new Date()
|
|
gpg {
|
|
sign = true
|
|
passphrase = getBintrayGpgPassword()
|
|
}
|
|
}
|
|
}
|
|
}
|