Prepare 0.1.0 snapshot
This commit is contained in:
parent
0e484dd17f
commit
dcf62a8ac5
162
build.gradle
162
build.gradle
|
@ -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
|
|
||||||
}
|
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
||||||
|
|
|
@ -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),
|
||||||
|
|
Loading…
Reference in New Issue