conversations-classic/build.gradle
Florian Schmaus 3236432c39 Make minidns Android agnostic
there is really no need for minidns to be Android exclusive. Replacing
the Android log API with JUL make minidns available for Android and Java
SE.
2014-06-08 13:27:25 +02:00

127 lines
3.2 KiB
Groovy

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'maven'
apply plugin: 'osgi'
apply plugin: 'signing'
ext {
shortVersion = '0.1'
isSnapshot = true
gitCommit = getGitCommit()
isReleaseVersion = !shortVersion
sonatypeCredentialsAvailable = project.hasProperty('sonatypeUsername') && project.hasProperty('sonatypePassword')
signingRequired = isReleaseVersion
sonatypeSnapshotUrl = 'https://oss.sonatype.org/content/repositories/snapshots'
sonatypeStagingUrl = 'https://oss.sonatype.org/service/local/staging/deploy/maven2'
buildDate = (new java.text.SimpleDateFormat("yyyy-MM-dd")).format(new Date())
}
group = 'de.measite.minidns'
description = "A minimal DNS client library with support for A, AAAA, NS and SRV records"
sourceCompatibility = 1.7
version = shortVersion
if (isSnapshot) {
version += '-SNAPSHOT'
}
jar {
manifest {
instruction 'Implementation-GitRevision:', project.ext.gitCommit
}
}
gradle.taskGraph.whenReady { taskGraph ->
if (signingRequired
&& taskGraph.allTasks.any { it instanceof Sign }) {
// Use Java 6's console to read from the console (no good for a CI environment)
Console console = System.console()
console.printf '\n\nWe have to sign some things in this build.\n\nPlease enter your signing details.\n\n'
def password = console.readPassword('GnuPG Private Key Password: ')
allprojects { ext.'signing.password' = password }
console.printf '\nThanks.\n\n'
}
}
uploadArchives {
repositories {
mavenDeployer {
if (signingRequired) {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
}
repository(url: project.sonatypeStagingUrl) {
if (sonatypeCredentialsAvailable) {
authentication(userName: sonatypeUsername, password: sonatypePassword)
}
}
snapshotRepository(url: project.sonatypeSnapshotUrl) {
if (sonatypeCredentialsAvailable) {
authentication(userName: sonatypeUsername, password: sonatypePassword)
}
}
pom.project {
name 'minidns'
packaging 'jar'
inceptionYear '2014'
url 'https://github.com/rtreffer/minidns'
description project.description
issueManagement {
system 'GitHub'
url 'https://github.com/rtreffer/minidns/issues'
}
distributionManagement {
snapshotRepository {
id 'minidns.snapshot'
url project.sonatypeSnapshotUrl
}
}
scm {
url 'https://github.com/rtreffer/minidns'
connection 'scm:git:https://github.com/rtreffer/minidns.git'
developerConnection 'scm:git:https://github.com/rtreffer/minidns.git'
}
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
developers {
developer {
id 'rtreffer'
name 'Rene Treffer'
}
developer {
id 'flow'
name 'Florian Schmaus'
email 'flow@geekplace.eu'
}
}
}
}
}
signing {
required { signingRequired }
sign configurations.archives
}
}
def getGitCommit() {
def dotGit = new File("$projectDir/.git")
if (!dotGit.isDirectory()) return 'non-git build'
def cmd = 'git describe --all --dirty=+'
def proc = cmd.execute()
def gitCommit = proc.text.trim()
assert !gitCommit.isEmpty()
gitCommit
}