package ${packageName} import java.util.* open class ${className} private constructor() { companion object { val project = "${project}" val buildDate = Date(${epoch}L) val major = ${major} val minor = ${minor} val patch = ${patch} val buildMeta = "${buildmeta}" val preRelease = "${prerelease}" val version: String get() = ("\$major.\$minor.\$patch" + preReleaseWithPrefix() + buildMetaWithPrefix()) fun preReleaseWithPrefix(prefix: String = "-"): String { return if (preRelease.isNotEmpty() && prefix.isNotEmpty()) { "$prefix$preRelease" } else { preRelease } } fun buildMetaWithPrefix(prefix: String = "+"): String { return if (buildMeta.isNotEmpty() && prefix.isNotEmpty()) { "$prefix$buildMeta" } else { buildMeta } } } }