1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
group = 'com.github.insubstantial'
version = '7.3'
if (JavaVersion.current().isJava8Compatible()) {
allprojects {
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
}
}
}
subprojects {
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'signing'
javadoc.options.encoding = "UTF-8"
group = 'com.github.insubstantial'
version = '7.3'
ext.versionKey = "7.3-destroyer"
sourceCompatibility = 1.6
targetCompatibility = 1.6
configurations {
maven { extendsFrom archives }
published { extendsFrom archives, signatures}
distro {extendsFrom runtime}
}
signing {
required = { gradle.taskGraph.hasTask(uploadPublished) && !version.endsWith("SNAPSHOT") }
sign configurations.archives
}
repositories {
maven { url 'https://oss.sonatype.org/content/groups/staging' }
mavenCentral()
maven { url new File(System.getProperty('user.home'), '.m2/repository').toURI().toString() }
}
task sourceJar(type: Jar) {
from sourceSets.main.java
from sourceSets.main.resources
classifier = 'sources'
}
task javadocJar(type: Jar) {
dependsOn javadoc
from javadoc.destinationDir
classifier = 'javadoc'
}
artifacts {
archives sourceJar
archives javadocJar
}
uploadPublished {
doFirst {
// configure repositories ina doFirst so we can late bind the proeprties
checkPasswords()
repositories {
mavenDeployer {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
authentication userName: sonatypeUsername, password: sonatypePassword
}
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
authentication userName: sonatypeUsername, password: sonatypePassword
}
}
}
}
configuration = configurations.published
}
install {
configuration = configurations.published
}
ext.configureBasePom = { pom ->
pom.project {
modelVersion '4.0.0'
packaging 'jar'
scm {
connection 'scm:git:git@github.com:Insubstantial/insubstantial.git'
developerConnection 'scm:git:git@github.com:Insubstantial/insubstantial.git'
url 'scm:git:git@github.com:Insubstantial/insubstantial.git'
}
developers {
developer {
name 'Kirill Grouchnikov'
email 'kirillcool@yahoo.com'
roles {
role 'author'
role 'developer'
}
}
developer {
name 'Danno Ferrin'
email 'danno.ferrin@shemnon.com'
roles {
role 'maintainer'
}
}
}
}
}
}
task githubDist(type: Zip) {
archiveName = "insubstantial-libraries-${project.version}.zip"
from subprojects*.configurations['distro']*.allArtifacts.files
}
task wrapper(type: Wrapper) {
gradleVersion = '1.0-rc-3'
}
def checkPasswords() {
try {
check = [ext.sonatypeUsername, ext.sonatypePassword]
println "Using sonatype user $sonatypeUsername"
} catch (MissingPropertyException e) {
Console console = System.console()
console.printf "\n\nIn order to upload to Sonatype we need your username and password.\nEnter a blank username or password to skip upload\n\n"
ext.sonatypeUsername = console.readLine("Sonatype Username: ")
ext.sonatypePassword = new String(console.readPassword("Sonatype Password: "))
if (!sonatypePassword || !sonatypeUsername) {
console.printf("\n\nSonatype upload aborted")
subprojects {
signing {
enabled = false
}
uploadPublished {
enabled = false
}
}
throw new StopExecutionException()
}
}
}
|