Summary: By declaring the properties first, before using them in the scripts, you no longer get an exception if you fail to specify them. You can now build artifacts or run tests without specifying your bintray password, which is probably what you want. Reviewed By: emilsjolander Differential Revision: D4913103 fbshipit-source-id: 8787af8973cebb84cd59e18c63a3a9f28e0ec348
93 lines
2.7 KiB
Groovy
93 lines
2.7 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 property('bintrayUsername') || System.getenv('BINTRAY_USERNAME')
|
|
}
|
|
|
|
def getBintrayApiKey() {
|
|
return property('bintrayApiKey') || System.getenv('BINTRAY_API_KEY')
|
|
}
|
|
|
|
def getBintrayGpgPassword() {
|
|
return 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()
|
|
}
|
|
}
|
|
}
|
|
}
|