diff --git a/src/generated/java/net/thauvin/erik/mobibot/ReleaseInfo.java b/src/generated/java/net/thauvin/erik/mobibot/ReleaseInfo.java index 913e103..ea0b0ff 100644 --- a/src/generated/java/net/thauvin/erik/mobibot/ReleaseInfo.java +++ b/src/generated/java/net/thauvin/erik/mobibot/ReleaseInfo.java @@ -13,45 +13,20 @@ import java.time.*; * Annotation Processor */ public final class ReleaseInfo { - private final static String buildmeta = "018"; - private final static LocalDateTime date = - LocalDateTime.ofInstant(Instant.ofEpochMilli(1491238266337L), ZoneId.systemDefault()); - private final static int major = 0; - private final static int minor = 7; - private final static int patch = 0; - private final static String prerelease = "beta"; - private final static String project = "mobibot"; + private final static String DEFAULT_PRERELEASE_PREFIX = "-"; + private final static String DEFAULT_BUILDMETA_PREFIX = "+"; + + public final static String project = "mobibot"; + public final static LocalDateTime buildDate = + LocalDateTime.ofInstant(Instant.ofEpochMilli(1492880264977L), ZoneId.systemDefault()); + public final static int major = 0; + public final static int minor = 7; + public final static int patch = 1; + public final static String preRelease = "beta"; + public final static String buildMeta = "018"; /** - * Disables the default constructor. - * - * @throws UnsupportedOperationException If the constructor is called. - */ - private ReleaseInfo() - throws UnsupportedOperationException { - throw new UnsupportedOperationException("Illegal constructor call."); - } - - /** - * Returns the build date. - * - * @return The build date. - */ - public static LocalDateTime getBuildDate() { - return date; - } - - /** - * Returns the project name. - * - * @return The project name, if any. - */ - public static String getProject() { - return project; - } - - /** - * Returns the full version string. + * The full version string. *

* Formatted as: *

@@ -65,94 +40,65 @@ public final class ReleaseInfo { *
  • 1.0.0+20160124144700
  • *
  • 1.0.0-alpha+001
  • * - * - * @return The version string. */ - public static String getVersion() { - return Integer.toString(getMajor()) + '.' - + Integer.toString(getMinor()) + '.' - + Integer.toString(getPatch()) - + getPreRelease(true) + getBuildMetadata(true); + public final static String version = Integer.toString(major) + '.' + + Integer.toString(minor) + '.' + + Integer.toString(patch) + + preReleaseWithPrefix() + buildMetaWithPrefix(); + + /** + * Disables the default constructor. + * + * @throws UnsupportedOperationException If the constructor is called. + */ + private ReleaseInfo() + throws UnsupportedOperationException { + throw new UnsupportedOperationException("Illegal constructor call."); } /** - * Returns the major version. + * Returns the build metadata with default prefix. * - * @return The major version. + * @return The build metadata, if any. */ - public static int getMajor() { - return major; - } - - /** - * Returns the minor version. - * - * @return The minor version. - */ - public static int getMinor() { - return minor; - } - - /** - * Returns the patch version. - * - * @return The patch version. - */ - public static int getPatch() { - return patch; - } - - /** - * Returns the pre-release version. - * - * @param isHyphen Prepend a hyphen, if true. - * @return The pre-release version, if any. - */ - public static String getPreRelease(final boolean isHyphen) { - if (prerelease.length() > 0) { - if (isHyphen) { - return '-' + prerelease; - } else { - return prerelease; - } - } - - return ""; - } - - /** - * Returns the pre-release version. - * - * @return The pre-release version, if any. - */ - public static String getPreRelease() { - return getPreRelease(false); + public static String buildMetaWithPrefix() { + return buildMetaWithPrefix(DEFAULT_PRERELEASE_PREFIX); } /** * Returns the build metadata. * - * @param isPlus Prepend a plus sign, if true. + * @param prefix Prefix to prepend. * @return The build metadata, if any. */ - public static String getBuildMetadata(final boolean isPlus) { - if (buildmeta.length() > 0) { - if (isPlus) { - return '+' + buildmeta; - } else { - return buildmeta; - } + public static String buildMetaWithPrefix(final String prefix) { + if (buildMeta.length() > 0 && prefix.length() > 0) { + return prefix + buildMeta; + } else { + return buildMeta; } - - return ""; } /** - * Returns the build metadata. + * Returns the pre-release version with default prefix. * - * @return The build metadata, if any. + * @return The pre-release version, if any. */ - public static String getBuildMetadata() { - return getBuildMetadata(false); + public static String preReleaseWithPrefix() { + return preReleaseWithPrefix(DEFAULT_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; + } } } \ No newline at end of file diff --git a/src/main/java/net/thauvin/erik/mobibot/Mobibot.java b/src/main/java/net/thauvin/erik/mobibot/Mobibot.java index c617572..6b80946 100644 --- a/src/main/java/net/thauvin/erik/mobibot/Mobibot.java +++ b/src/main/java/net/thauvin/erik/mobibot/Mobibot.java @@ -69,7 +69,7 @@ public class Mobibot extends PircBot { // The info strings. private static final String[] INFO_STRS = { - ReleaseInfo.getProject() + " v" + ReleaseInfo.getVersion() + " by Erik C. Thauvin (erik@thauvin.net)", + ReleaseInfo.project + " v" + ReleaseInfo.version + " by Erik C. Thauvin (erik@thauvin.net)", "http://www.mobitopia.org/mobibot/" }; @@ -100,9 +100,9 @@ public class Mobibot extends PircBot { // The version strings. private static final String[] VERSION_STRS = { "Version: " - + ReleaseInfo.getVersion() + + ReleaseInfo.version + " (" - + Utils.isoLocalDate(ReleaseInfo.getBuildDate()) + ')', + + Utils.isoLocalDate(ReleaseInfo.buildDate) + ')', "Platform: " + System.getProperty("os.name") + " (" diff --git a/version.mustache b/version.mustache new file mode 100644 index 0000000..6be70c2 --- /dev/null +++ b/version.mustache @@ -0,0 +1,104 @@ +/* + * This file is automatically generated. + * Do not modify! -- ALL CHANGES WILL BE ERASED! + */ +package {{packageName}}; + +import java.time.*; + +/** + * Provides semantic version information. + * + * @author Semantic Version + * Annotation Processor + */ +public final class {{className}} { + private final static String DEFAULT_PRERELEASE_PREFIX = "-"; + private final static String DEFAULT_BUILDMETA_PREFIX = "+"; + + public final static String project = "{{project}}"; + public final static LocalDateTime buildDate = + 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. + *

    + * Formatted as: + *

    + * MAJOR.MINOR.PATCH[-PRERELEASE][+BUILDMETADATA] + *
    + *

    + * For example: + *

    + */ + public final static String version = Integer.toString(major) + '.' + + Integer.toString(minor) + '.' + + Integer.toString(patch) + + preReleaseWithPrefix() + buildMetaWithPrefix(); + + /** + * Disables the default constructor. + * + * @throws UnsupportedOperationException If the constructor is called. + */ + private {{className}}() + throws UnsupportedOperationException { + throw new UnsupportedOperationException("Illegal constructor call."); + } + + /** + * Returns the build metadata with default prefix. + * + * @return The build metadata, if any. + */ + public static String buildMetaWithPrefix() { + return buildMetaWithPrefix(DEFAULT_PRERELEASE_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 default prefix. + * + * @return The pre-release version, if any. + */ + public static String preReleaseWithPrefix() { + return preReleaseWithPrefix(DEFAULT_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; + } + } +} \ No newline at end of file diff --git a/version.vm b/version.vm deleted file mode 100644 index 3921024..0000000 --- a/version.vm +++ /dev/null @@ -1,173 +0,0 @@ -############################################################################## -## -## Available variables: -## -## $packageName - The package name. (string) -## $className - The class name. (string) -## $project - The project name. (string) -## $epoch - The build epoch/unix time. (long) -## $major - The major version. (int) -## $minor - The minor version. (int) -## $patch - The patch version. (int) -## $prerelease - The pre-release version. (string) -## $buildmeta - The build metadata version. (string) -## -############################################################################## -/* - * This file is automatically generated. - * Do not modify! -- ALL CHANGES WILL BE ERASED! - */ -package ${packageName}; - -import java.time.*; - -/** - * Provides semantic version information. - * - * @author Semantic Version - * Annotation Processor - */ -public final class ${className} { - private final static String buildmeta = "${buildmeta}"; - private final static LocalDateTime date = - LocalDateTime.ofInstant(Instant.ofEpochMilli(${epoch}L), ZoneId.systemDefault()); - private final static int major = ${major}; - private final static int minor = ${minor}; - private final static int patch = ${patch}; - private final static String prerelease = "${prerelease}"; - private final static String project = "${project}"; - - /** - * Disables the default constructor. - * - * @throws UnsupportedOperationException If the constructor is called. - */ - private ${className}() - throws UnsupportedOperationException { - throw new UnsupportedOperationException("Illegal constructor call."); - } - - /** - * Returns the build date. - * - * @return The build date. - */ - public static LocalDateTime getBuildDate() { - return date; - } - - /** - * Returns the project name. - * - * @return The project name, if any. - */ - public static String getProject() { - return project; - } - - /** - * Returns the full version string. - *

    - * Formatted as: - *

    - * MAJOR.MINOR.PATCH[-PRERELEASE][+BUILDMETADATA] - *
    - *

    - * For example: - *

    - * - * @return The version string. - */ - public static String getVersion() { - return Integer.toString(getMajor()) + '.' - + Integer.toString(getMinor()) + '.' - + Integer.toString(getPatch()) - + getPreRelease(true) + getBuildMetadata(true); - } - - /** - * Returns the major version. - * - * @return The major version. - */ - public static int getMajor() { - return major; - } - - /** - * Returns the minor version. - * - * @return The minor version. - */ - public static int getMinor() { - return minor; - } - - /** - * Returns the patch version. - * - * @return The patch version. - */ - public static int getPatch() { - return patch; - } - - /** - * Returns the pre-release version. - * - * @param isHyphen Prepend a hyphen, if true. - * @return The pre-release version, if any. - */ - public static String getPreRelease(final boolean isHyphen) { - if (prerelease.length() > 0) { - if (isHyphen) { - return '-' + prerelease; - } else { - return prerelease; - } - } - - return ""; - } - - /** - * Returns the pre-release version. - * - * @return The pre-release version, if any. - */ - public static String getPreRelease() { - return getPreRelease(false); - } - - /** - * Returns the build metadata. - * - * @param isPlus Prepend a plus sign, if true. - * @return The build metadata, if any. - */ - public static String getBuildMetadata(final boolean isPlus) { - if (buildmeta.length() > 0) { - if (isPlus) { - return '+' + buildmeta; - } else { - return buildmeta; - } - } - - return ""; - } - - /** - * Returns the build metadata. - * - * @return The build metadata, if any. - */ - public static String getBuildMetadata() { - return getBuildMetadata(false); - } -} \ No newline at end of file