semver/src/main/resources/semver-kt.mustache
2017-05-04 19:12:34 -07:00

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
}
}
}