Prepare 0.1.0 snapshot

This commit is contained in:
Rene Treffer 2014-06-22 16:36:19 +02:00
parent 0e484dd17f
commit dcf62a8ac5
3 changed files with 56 additions and 112 deletions

View File

@ -1,27 +1,28 @@
apply plugin: 'java' apply plugin: 'java'
apply plugin: 'eclipse' apply plugin: 'eclipse'
apply plugin: 'maven'
apply plugin: 'osgi' apply plugin: 'osgi'
apply plugin: 'signing' apply plugin: 'nexus'
ext { buildscript {
shortVersion = '0.1' repositories {
isSnapshot = true jcenter()
gitCommit = getGitCommit() mavenLocal()
isReleaseVersion = !shortVersion mavenCentral()
sonatypeCredentialsAvailable = project.hasProperty('sonatypeUsername') && project.hasProperty('sonatypePassword') }
signingRequired = isReleaseVersion
sonatypeSnapshotUrl = 'https://oss.sonatype.org/content/repositories/snapshots' dependencies {
sonatypeStagingUrl = 'https://oss.sonatype.org/service/local/staging/deploy/maven2' classpath 'org.gradle.api.plugins:gradle-nexus-plugin:0.7.1'
buildDate = (new java.text.SimpleDateFormat("yyyy-MM-dd")).format(new Date()) }
} }
group = 'de.measite.minidns' group = 'de.measite.minidns'
description = "A minimal DNS client library with support for A, AAAA, NS and SRV records" description = "A minimal DNS client library with support for A, AAAA, NS and SRV records"
sourceCompatibility = 1.7 sourceCompatibility = 1.7
version = shortVersion version = 'git tag --points-at HEAD'.execute().text.trim()
if (isSnapshot) { isSNAPSHOT = 'git rev-parse --abbrev-ref HEAD'.execute().text.trim() == 'master'
version += '-SNAPSHOT'
if (isSNAPSHOT) {
version = version + '-SNAPSHOT'
} }
repositories { repositories {
@ -29,103 +30,46 @@ repositories {
mavenCentral() mavenCentral()
} }
jar { nexus {
manifest { attachSources = false
instruction 'Implementation-GitRevision:', project.ext.gitCommit attachTests = false
} attachJavadoc = false
sign = true
} }
gradle.taskGraph.whenReady { taskGraph -> modifyPom {
if (signingRequired project {
&& taskGraph.allTasks.any { it instanceof Sign }) { name 'minidns'
// Use Java 6's console to read from the console (no good for a CI environment) description 'Minimal DNS library for java and android systems'
Console console = System.console() url 'https://github.com/rtreffer/minidns'
console.printf '\n\nWe have to sign some things in this build.\n\nPlease enter your signing details.\n\n' inceptionYear '2014'
def password = console.readPassword('GnuPG Private Key Password: ')
allprojects { ext.'signing.password' = password } scm {
url 'https://github.com/rtreffer/minidns'
connection 'scm:https://github.com/rtreffer/minidns'
developerConnection 'scm:git://github.com/rtreffer/minidns.git'
}
console.printf '\nThanks.\n\n' 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'
email 'treffer@measite.de'
}
developer {
id 'flow'
name 'Florian Schmaus'
email 'flow@geekplace.eu'
}
}
}
} }
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
}

View File

@ -11,8 +11,8 @@ import java.util.Arrays;
* A DNS message as defined by rfc1035. The message consists of a header and * A DNS message as defined by rfc1035. The message consists of a header and
* 4 sections: question, answer, nameserver and addition resource record * 4 sections: question, answer, nameserver and addition resource record
* section. * section.
* A message can either be parsed ({@see #parse(byte[])}) or serialized * A message can either be parsed ({@link DNSMessage#parse(byte[])}) or serialized
* ({@see #toArray()}). * ({@link DNSMessage#toArray()}).
*/ */
public class DNSMessage { public class DNSMessage {

View File

@ -19,7 +19,7 @@ public class Record {
/** /**
* The record type. * The record type.
* {@see http://www.iana.org/assignments/dns-parameters} * @see <a href="http://www.iana.org/assignments/dns-parameters">IANA DNS Parameters</a>
*/ */
public static enum TYPE { public static enum TYPE {
A(1), A(1),