diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml
new file mode 100644
index 0000000..ac8ef90
--- /dev/null
+++ b/config/checkstyle/checkstyle.xml
@@ -0,0 +1,258 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/net/thauvin/erik/semver/Constants.java b/src/main/java/net/thauvin/erik/semver/Constants.java
index 35e24c0..affc701 100644
--- a/src/main/java/net/thauvin/erik/semver/Constants.java
+++ b/src/main/java/net/thauvin/erik/semver/Constants.java
@@ -29,6 +29,7 @@
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
package net.thauvin.erik.semver;
/**
diff --git a/src/main/java/net/thauvin/erik/semver/Version.java b/src/main/java/net/thauvin/erik/semver/Version.java
index 8550d42..90d4835 100644
--- a/src/main/java/net/thauvin/erik/semver/Version.java
+++ b/src/main/java/net/thauvin/erik/semver/Version.java
@@ -29,6 +29,7 @@
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
package net.thauvin.erik.semver;
import java.lang.annotation.ElementType;
@@ -46,51 +47,171 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface Version {
+ /**
+ * Returns the build metadata version.
+ *
+ * @return The build metadata version.
+ */
String buildMeta() default Constants.EMPTY;
+ /**
+ * Returns the build metadata key.
+ *
+ * @return The build metadata key.
+ */
String buildMetaKey() default Constants.KEY_VERSION_BUILDMETA;
+ /**
+ * Returns the build metadata prefix.
+ *
+ * @return The build metadata prefix.
+ */
String buildMetaPrefix() default Constants.DEFAULT_BUILDMETA_PREFIX;
+ /**
+ * Returns the build metadata prefix key.
+ *
+ * @return The build metadata prefix key.
+ */
String buildMetaPrefixKey() default Constants.KEY_VERSION_BUILDMETA_PREFIX;
+ /**
+ * Returns the class name.
+ *
+ * @return The class name.
+ */
String className() default Constants.DEFAULT_CLASS_NAME;
+ /**
+ * Returns the keys prefix.
+ *
+ * @return The keys prefix.
+ */
String keysPrefix() default Constants.DEFAULT_KEYS_PREFIX;
+ /**
+ * Returns the major version.
+ *
+ * @return The major version.
+ */
int major() default Constants.DEFAULT_MAJOR;
+ /**
+ * Returns the major key.
+ *
+ * @return The major key.
+ */
String majorKey() default Constants.KEY_VERSION_MAJOR;
+ /**
+ * Returns the minor version.
+ *
+ * @return The build minor version.
+ */
int minor() default Constants.DEFAULT_MINOR;
+ /**
+ * Returns the minor key.
+ *
+ * @return The minor key.
+ */
String minorKey() default Constants.KEY_VERSION_MINOR;
+ /**
+ * Returns the package name.
+ *
+ * @return The package name .
+ */
String packageName() default Constants.EMPTY;
+ /**
+ * Returns the patch version.
+ *
+ * @return The patch version.
+ */
int patch() default Constants.DEFAULT_PATCH;
+ /**
+ * Returns the patch key.
+ *
+ * @return The patch key.
+ */
String patchKey() default Constants.KEY_VERSION_PATCH;
+ /**
+ * Returns the pre-release version.
+ *
+ * @return The pre-release version.
+ */
String preRelease() default Constants.EMPTY;
+ /**
+ * Returns the pre-release key.
+ *
+ * @return The pre-release key.
+ */
String preReleaseKey() default Constants.KEY_VERSION_PRERELEASE;
+ /**
+ * Returns the pre-release prefix.
+ *
+ * @return The pre-release prefix.
+ */
String preReleasePrefix() default Constants.DEFAULT_PRERELEASE_PREFIX;
+ /**
+ * Returns the pre-release prefix key.
+ *
+ * @return The pre-release prefix key.
+ */
String preReleasePrefixKey() default Constants.KEY_VERSION_PRERELEASE_PREFIX;
+ /**
+ * Returns the project name.
+ *
+ * @return The project name.
+ */
String project() default Constants.EMPTY;
+ /**
+ * Returns the project key.
+ *
+ * @return The project.
+ */
String projectKey() default Constants.KEY_VERSION_PROJECT;
+ /**
+ * Returns the properties file name.
+ *
+ * @return The properties file name.
+ */
String properties() default Constants.EMPTY;
+ /**
+ * Returns the version separator.
+ *
+ * @return The separator.
+ */
String separator() default Constants.DEFAULT_SEPARATOR;
+ /**
+ * Returns the version separator key.
+ *
+ * @return The separator key.
+ */
String separatorKey() default Constants.KEY_VERSION_SEPARATOR;
+ /**
+ * Returns the template name.
+ *
+ * @return The template.
+ */
String template() default Constants.DEFAULT_JAVA_TEMPLATE;
+ /**
+ * Returns the template type.
+ *
+ * @return The type.
+ */
String type() default Constants.DEFAULT_JAVA_TYPE;
}
diff --git a/src/main/java/net/thauvin/erik/semver/VersionInfo.java b/src/main/java/net/thauvin/erik/semver/VersionInfo.java
index 0b83a82..c7da94e 100644
--- a/src/main/java/net/thauvin/erik/semver/VersionInfo.java
+++ b/src/main/java/net/thauvin/erik/semver/VersionInfo.java
@@ -29,6 +29,7 @@
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
package net.thauvin.erik.semver;
/**
@@ -281,7 +282,7 @@ public class VersionInfo {
/**
- * Sames as {@link #getVersion()}
+ * Sames as {@link #getVersion()}.
*/
public String getSemver() {
return getVersion();
@@ -307,11 +308,15 @@ public class VersionInfo {
/**
* Returns the full version string.
- *
- * Formatted as:
- *
[MAJOR][SEPARATOR][MINOR][SEPARATOR][PATCH][[PRERELEASE-PREFIX][PRERELEASE]][[BUILDMETA-PREFIX][BUILDMETA]]
- *
- * For example:
+ *
+ *
Formatted as:
+ *
+ *
+ * [MAJOR][SEPARATOR][MINOR][SEPARATOR][PATCH][[PRERELEASE-PREFIX][PRERELEASE]][[BUILDMETA-PREFIX][BUILDMETA]]
+ *
+ *
+ *
+ * For example:
*
* 1.0.0
* 1.0.0-beta
diff --git a/src/main/java/net/thauvin/erik/semver/VersionProcessor.java b/src/main/java/net/thauvin/erik/semver/VersionProcessor.java
index f37c6d4..8b5047a 100644
--- a/src/main/java/net/thauvin/erik/semver/VersionProcessor.java
+++ b/src/main/java/net/thauvin/erik/semver/VersionProcessor.java
@@ -29,6 +29,7 @@
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
package net.thauvin.erik.semver;
import com.github.mustachejava.DefaultMustacheFactory;
@@ -97,11 +98,13 @@ public class VersionProcessor extends AbstractProcessor {
versionInfo.setBuildMeta(
p.getProperty(version.keysPrefix() + version.buildMetaKey(), version.buildMeta()));
versionInfo.setBuildMetaPrefix(
- p.getProperty(version.keysPrefix() + version.buildMetaPrefixKey(), version.buildMetaPrefix()));
+ p.getProperty(version.keysPrefix() + version.buildMetaPrefixKey(),
+ version.buildMetaPrefix()));
versionInfo.setPreRelease(
p.getProperty(version.keysPrefix() + version.preReleaseKey(), version.preRelease()));
versionInfo.setPreReleasePrefix(
- p.getProperty(version.keysPrefix() + version.preReleasePrefixKey(), version.preReleasePrefix()));
+ p.getProperty(version.keysPrefix() + version.preReleasePrefixKey(),
+ version.preReleasePrefix()));
versionInfo.setSeparator(
p.getProperty(version.keysPrefix() + version.separatorKey(), version.separator()));
}
@@ -187,11 +190,11 @@ public class VersionProcessor extends AbstractProcessor {
}
note("Found version: " + versionInfo.getVersion());
final String template;
- if (version.template().equals(Constants.DEFAULT_JAVA_TEMPLATE) &&
- new File(Constants.DEFAULT_TEMPLATE_NAME).exists()) {
+ if (version.template().equals(Constants.DEFAULT_JAVA_TEMPLATE)
+ && new File(Constants.DEFAULT_TEMPLATE_NAME).exists()) {
template = Constants.DEFAULT_TEMPLATE_NAME;
- } else if (version.template().equals(Constants.DEFAULT_JAVA_TEMPLATE) &&
- version.type().equals(Constants.KOTLIN_TYPE)) {
+ } else if (version.template().equals(Constants.DEFAULT_JAVA_TEMPLATE)
+ && version.type().equals(Constants.KOTLIN_TYPE)) {
template = Constants.DEFAULT_KOTLIN_TEMPLATE;
} else {
template = version.template();
diff --git a/src/test/java/net/thauvin/erik/semver/ConstantsTest.java b/src/test/java/net/thauvin/erik/semver/ConstantsTest.java
index 5c3603f..aad3b28 100644
--- a/src/test/java/net/thauvin/erik/semver/ConstantsTest.java
+++ b/src/test/java/net/thauvin/erik/semver/ConstantsTest.java
@@ -29,6 +29,7 @@
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
package net.thauvin.erik.semver;
import org.testng.Assert;
diff --git a/src/test/java/net/thauvin/erik/semver/VersionInfoTest.java b/src/test/java/net/thauvin/erik/semver/VersionInfoTest.java
index 58e4a20..2b161de 100644
--- a/src/test/java/net/thauvin/erik/semver/VersionInfoTest.java
+++ b/src/test/java/net/thauvin/erik/semver/VersionInfoTest.java
@@ -29,6 +29,7 @@
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
package net.thauvin.erik.semver;
import org.testng.Assert;
diff --git a/src/test/java/net/thauvin/erik/semver/VersionProcessorTest.java b/src/test/java/net/thauvin/erik/semver/VersionProcessorTest.java
index 93918d6..89230b8 100644
--- a/src/test/java/net/thauvin/erik/semver/VersionProcessorTest.java
+++ b/src/test/java/net/thauvin/erik/semver/VersionProcessorTest.java
@@ -29,6 +29,7 @@
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
package net.thauvin.erik.semver;
import org.testng.Assert;
diff --git a/src/test/java/net/thauvin/erik/semver/VersionTest.java b/src/test/java/net/thauvin/erik/semver/VersionTest.java
index 0d91ac2..137eac7 100644
--- a/src/test/java/net/thauvin/erik/semver/VersionTest.java
+++ b/src/test/java/net/thauvin/erik/semver/VersionTest.java
@@ -29,6 +29,7 @@
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
package net.thauvin.erik.semver;
import java.lang.annotation.Annotation;