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