Prepare 0.1.0 snapshot

Rene Treffer created

Change summary

build.gradle                                     | 166 +++++------------
src/main/java/de/measite/minidns/DNSMessage.java |   4 
src/main/java/de/measite/minidns/Record.java     |   2 
3 files changed, 58 insertions(+), 114 deletions(-)

Detailed changes

build.gradle 🔗

@@ -1,27 +1,28 @@
 apply plugin: 'java'
 apply plugin: 'eclipse'
-apply plugin: 'maven'
 apply plugin: 'osgi'
-apply plugin: 'signing'
+apply plugin: 'nexus'
 
-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())
+buildscript {
+    repositories {
+        jcenter()
+	mavenLocal()
+	mavenCentral()
+    }
+
+    dependencies {
+        classpath 'org.gradle.api.plugins:gradle-nexus-plugin:0.7.1'
+    }
 }
 
 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'
+version = 'git tag --points-at HEAD'.execute().text.trim()
+isSNAPSHOT = 'git rev-parse --abbrev-ref HEAD'.execute().text.trim() == 'master'
+
+if (isSNAPSHOT) {
+  version = version + '-SNAPSHOT'
 }
 
 repositories {
@@ -29,103 +30,46 @@ repositories {
 	mavenCentral()
 }
 
-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'
-	}
+nexus {
+    attachSources = false
+    attachTests = false
+    attachJavadoc = false
+    sign = true
 }
 
-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
-	}
+modifyPom {
+    project {
+        name 'minidns'
+        description 'Minimal DNS library for java and android systems'
+        url 'https://github.com/rtreffer/minidns'
+        inceptionYear '2014'
+
+        scm {
+            url 'https://github.com/rtreffer/minidns'
+            connection 'scm:https://github.com/rtreffer/minidns'
+            developerConnection 'scm:git://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'
+                email 'treffer@measite.de'
+            }
+            developer {
+                id 'flow'
+                name 'Florian Schmaus'
+                email 'flow@geekplace.eu'
+            }
+        }
+    }
 }
 
-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
-}

src/main/java/de/measite/minidns/DNSMessage.java 🔗

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

src/main/java/de/measite/minidns/Record.java 🔗

@@ -19,7 +19,7 @@ public class Record {
 
     /**
      * 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 {
         A(1),