From 878e1033f1f5576db77bf64e27a9841a7ad2eb39 Mon Sep 17 00:00:00 2001
From: "Erik C. Thauvin"
import net.thauvin.erik.semver.Version;
-@Version(major = 1, minor = 0, patch = 0, preRelease = "beta")
+@Version(major = 2, minor = 1, patch = 1, preRelease = "beta")
public class A {
-// ...
@Version(properties = "version.properties")
public class A {
-// ...
+// ...
+ }
# version.properties
version.major=1
@@ -200,7 +203,8 @@ processor will automatically look for it.
@Version(template = "version.mustache")
public class A {
-// ...
+// ...
+ }
The default @@ -479,7 +483,7 @@ keys may be assigned custom values:
@Version(
= "example.properties",
- properties = "example."
+ keysPrefix = "example.",
keysPrefix = "maj",
majorKey = "min",
minorKey = "build",
@@ -488,7 +492,8 @@ class="sourceCode java"> patchKey projectKey = "project"
)
public class Example {
-// ...
# example.properties
example.project=Example
@@ -514,7 +519,7 @@ follows:
class="sourceCode xml">dependency>
<groupId>net.thauvin.erik</groupId>
<artifactId>semver</artifactId>
- <version>1.2.0</version>
+ <version>1.2.1-SNAPSHOT</version>
<dependency> </
Please look at pom.xml @@ -523,24 +528,40 @@ href="https://github.com/ethauvin/semver/tree/master/examples/java">examples/jav directory for a sample:
mvn verify
To install and run from bld, just +add the dependency to your build file:
+public class ExampleBuild extends Project {
+public ExampleBuild() {
+ // ...
+ scope(compile)
+ .include(dependency("net.thauvin.erik", "semver", version(1, 2, 1, "SNAPSHOT")));
+ }
+ }
Please look at ExamapleBuild +in the examples/java/bld +directory for a sample.
To install and run from Gradle, add the following to build.gradle:
-{
- repositories mavenCentral()
- }
-
-{
- dependencies 'net.thauvin.erik:semver:1.2.0'
- annotationProcessor 'net.thauvin.erik:semver:1.2.0'
- compileOnly }
-
-.withType(JavaCompile) {
- tasks.compilerArgs += [ "-Asemver.project.dir=$projectDir" ]
- options}
{
+ repositories mavenCentral()
+ }
+
+{
+ dependencies 'net.thauvin.erik:semver:1.2.1-SNAPSHOT'
+ annotationProcessor 'net.thauvin.erik:semver:1.2.1-SNAPSHOT'
+ compileOnly }
+
+.withType(JavaCompile) {
+ tasks.compilerArgs += [ "-Asemver.project.dir=$projectDir" ]
+ options}
The directory containing the configuration files
(version.properties
, version.mustache
) must be
specified using the semver.project.dir
processor
@@ -550,18 +571,18 @@ href="https://github.com/ethauvin/semver/blob/master/examples/java/src/generated
class will be automatically created in the build/generated
directory upon compiling.
Please look at build.gradle +href="https://github.com/ethauvin/semver/blob/master/examples/java/gradle/build.gradle">build.gradle in the examples/java +href="https://github.com/ethauvin/semver/tree/master/examples/java/gradle">examples/java/gradle directory for a sample.
In order to also incorporate the generated source code into the
source tree
, add the following to build.gradle:
.withType(JavaCompile) {
- tasks.generatedSourceOutputDirectory.set(file("${projectDir}/src/generated/java"))
- options}
.withType(JavaCompile) {
+ tasks.generatedSourceOutputDirectory.set(file("${projectDir}/src/generated/java"))
+ options}
The GeneratedVersion.java
file will now be located in src/generated
.
src/generated
.
href="https://kotlinlang.org/">Kotlin.
To generate a Kotlin version file, simply specify the
type
as follows:
import net.thauvin.erik.semver.Version
-
-@Version(properties = "version.properties", type="kt")
-open class Main {
-// ...
import net.thauvin.erik.semver.Version
+
+@Version(properties = "version.properties", type="kt")
+open class Main {
+// ...
+ }
The Kotlin default template implements the same static fields and functions as @@ -589,19 +611,19 @@ sample.
To install and run from Gradle, add the following to build.gradle.kts:
-var semverProcessor = "net.thauvin.erik:semver:1.2.0"
-
-{
- dependencies (semverProcessor)
- kapt(semverProcessor)
- compileOnly}
-
-{
- kapt {
- arguments ("semver.project.dir", projectDir)
- arg}
- }
var semverProcessor = "net.thauvin.erik:semver:1.2.1-SNAPSHOT"
+
+{
+ dependencies (semverProcessor)
+ kapt(semverProcessor)
+ compileOnly}
+
+{
+ kapt {
+ arguments ("semver.project.dir", projectDir)
+ arg}
+ }
The directory containing the configuration files
(version.properties
, version.mustache
) must be
specified using the semver.project.dir
processor