Updated for semver 1.2.0.
This commit is contained in:
parent
2a9eccc632
commit
09ab2d5f8e
1 changed files with 8 additions and 73 deletions
|
@ -9,96 +9,31 @@ import java.time.*;
|
|||
/**
|
||||
* Provides semantic version information.
|
||||
*
|
||||
* @author <a href="https://github.com/ethauvin/semver">Semantic Version
|
||||
* Annotation Processor</a>
|
||||
* @author <a href="https://github.com/ethauvin/semver">Semantic Version Annotation Processor</a>
|
||||
*/
|
||||
public final class {{className}} {
|
||||
public final static String PRERELEASE_PREFIX = "-";
|
||||
public final static String BUILDMETA_PREFIX = "+";
|
||||
|
||||
public final static String PROJECT = "{{project}}";
|
||||
public final static LocalDateTime BUILDDATE =
|
||||
LocalDateTime.ofInstant(Instant.ofEpochMilli({{epoch}}L), ZoneId.systemDefault());
|
||||
LocalDateTime.ofInstant(Instant.ofEpochMilli({{epoch}}L), ZoneId.systemDefault());
|
||||
public final static int MAJOR = {{major}};
|
||||
public final static int MINOR = {{minor}};
|
||||
public final static int PATCH = {{patch}};
|
||||
public final static String PRERELEASE = "{{preRelease}}";
|
||||
public final static String BUILDMETA = "{{buildMeta}}";
|
||||
|
||||
/**
|
||||
* The full version string.
|
||||
* <p>
|
||||
* Formatted as:
|
||||
* <blockquote>
|
||||
* <code>MAJOR.MINOR.PATCH[-PRERELEASE][+BUILDMETADATA]</code>
|
||||
* </blockquote>
|
||||
* <p>
|
||||
* For example:
|
||||
* <ul>
|
||||
* <li><code>1.0.0</code></li>
|
||||
* <li><code>1.0.0-beta</code></li>
|
||||
* <li><code>1.0.0+20160124144700</code></li>
|
||||
* <li><code>1.0.0-alpha+001</code></li>
|
||||
* </ul>
|
||||
/**
|
||||
* The full semantic version string.
|
||||
*/
|
||||
public final static String VERSION = Integer.toString(MAJOR) + '.'
|
||||
+ Integer.toString(MINOR) + '.'
|
||||
+ Integer.toString(PATCH)
|
||||
+ preReleaseWithPrefix() + buildMetaWithPrefix();
|
||||
+ ((!PRERELEASE.isEmpty()) ? "-" + PRERELEASE : "")
|
||||
+ ((!BUILDMETA.isEmpty()) ? "+" + BUILDMETA : "");
|
||||
|
||||
/**
|
||||
* Disables the default constructor.
|
||||
*
|
||||
* @throws UnsupportedOperationException If the constructor is called.
|
||||
*/
|
||||
private {{className}}()
|
||||
throws UnsupportedOperationException {
|
||||
private {{className}}() {
|
||||
throw new UnsupportedOperationException("Illegal constructor call.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the build metadata with {@value #BUILDMETA_PREFIX} prefix.
|
||||
*
|
||||
* @return The build metadata, if any.
|
||||
*/
|
||||
public static String buildMetaWithPrefix() {
|
||||
return buildMetaWithPrefix(BUILDMETA_PREFIX);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the build metadata.
|
||||
*
|
||||
* @param prefix Prefix to prepend.
|
||||
* @return The build metadata, if any.
|
||||
*/
|
||||
public static String buildMetaWithPrefix(final String prefix) {
|
||||
if (BUILDMETA.length() > 0 && prefix.length() > 0) {
|
||||
return prefix + BUILDMETA;
|
||||
} else {
|
||||
return BUILDMETA;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the pre-release version with {@value #PRERELEASE_PREFIX} prefix.
|
||||
*
|
||||
* @return The pre-release version, if any.
|
||||
*/
|
||||
public static String preReleaseWithPrefix() {
|
||||
return preReleaseWithPrefix(PRERELEASE_PREFIX);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the pre-release version.
|
||||
*
|
||||
* @param prefix The prefix to prepend.
|
||||
* @return The pre-release version, if any.
|
||||
*/
|
||||
public static String preReleaseWithPrefix(final String prefix) {
|
||||
if (PRERELEASE.length() > 0 && prefix.length() > 0) {
|
||||
return prefix + PRERELEASE;
|
||||
} else {
|
||||
return PRERELEASE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue