58 lines
No EOL
1.7 KiB
Text
58 lines
No EOL
1.7 KiB
Text
/*
|
|
* This file is automatically generated.
|
|
* Do not modify! -- ALL CHANGES WILL BE ERASED!
|
|
*/
|
|
package {{packageName}}
|
|
|
|
import java.util.*
|
|
|
|
/**
|
|
* Provides semantic version information.
|
|
*
|
|
* @author <a href="https://github.com/ethauvin/semver">Semantic Version Annotation Processor</a>
|
|
*/
|
|
object {{className}} {
|
|
@JvmField val PRERELEASE_PREFIX = "-"
|
|
@JvmField val BUILDMEATA_PREFIX = "+"
|
|
|
|
@JvmField val PROJECT = "{{project}}"
|
|
@JvmField val BUILDDATE = Date({{epoch}}L)
|
|
@JvmField val MAJOR = {{major}}
|
|
@JvmField val MINOR = {{minor}}
|
|
@JvmField val PATCH = {{patch}}
|
|
@JvmField val PRERELEASE = "{{preRelease}}"
|
|
@JvmField val BUILDMETA = "{{buildMeta}}"
|
|
|
|
/**
|
|
* The full version string formatted as [MAJOR].[MINOR].[PATCH]-[PRERELEASE]+[BUILDMETA]
|
|
*/
|
|
@JvmField val VERSION = "$MAJOR.$MINOR.$PATCH" + preReleaseWithPrefix() + buildMetaWithPrefix()
|
|
|
|
/**
|
|
* Returns the pre-release version with prefix.
|
|
*
|
|
* @param prefix The prefix, defaults to [PRERELEASE_PREFIX].
|
|
* @return The pre-release version, if any.
|
|
*/
|
|
@JvmStatic fun preReleaseWithPrefix(prefix: String = PRERELEASE_PREFIX): String {
|
|
return if (PRERELEASE.isNotEmpty() && prefix.isNotEmpty()) {
|
|
"$prefix$PRERELEASE"
|
|
} else {
|
|
PRERELEASE
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Returns the build metadata with prefix.
|
|
*
|
|
* @param prefix The prefix, defaults to [BUILDMEATA_PREFIX].
|
|
* @return The build metadata, if any.
|
|
*/
|
|
@JvmStatic fun buildMetaWithPrefix(prefix: String = BUILDMEATA_PREFIX): String {
|
|
return if (BUILDMETA.isNotEmpty() && prefix.isNotEmpty()) {
|
|
"$prefix$BUILDMETA"
|
|
} else {
|
|
BUILDMETA
|
|
}
|
|
}
|
|
} |