diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt index a6e676d..ec282c4 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt @@ -31,31 +31,29 @@ */ package net.thauvin.erik.gradle.semver -import net.thauvin.erik.gradle.semver.SemverPlugin.Types import org.gradle.api.DefaultTask -import org.gradle.api.tasks.Input import org.gradle.api.tasks.TaskAction +import javax.inject.Inject -open class SemverIncrementTask : DefaultTask() { +open class SemverIncrementTask @Inject constructor( + private val config: SemverConfig, + private val version: Version, + private val type: String) + : DefaultTask() { init { group = "version" + description = "Increments ${type.capitalize()} version number." } - @Input - lateinit var config: SemverConfig - - @Input - lateinit var version: Version - - @Input - lateinit var type: Types - @Suppress("unused") @TaskAction fun increment() { - version.increment(isMajor = type == Types.MAJOR, isMinor = type == Types.MINOR, isPatch = type == Types.PATCH) + version.increment( + isMajor = type == SemverConfig.DEFAULT_MAJOR_KEY, + isMinor = type == SemverConfig.DEFAULT_MINOR_KEY, + isPatch = type == SemverConfig.DEFAULT_PATCH_KEY) project.version = version.semver - logger.warn("Version: ${project.version}") + logger.lifecycle("Version: ${project.version}") SemverPlugin.saveProperties(config, version) } } \ No newline at end of file diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 352d4a4..b7ac40c 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -43,9 +43,6 @@ class SemverPlugin : Plugin { private var version = Version() private lateinit var config: SemverConfig - enum class Types { - MAJOR, MINOR, PATCH - } companion object { fun saveProperties(config: SemverConfig, version: Version) { @@ -72,25 +69,10 @@ class SemverPlugin : Plugin { project!!.afterEvaluate(this::afterEvaluate) config = project.extensions.create("semver", SemverConfig::class.java) - project.tasks.create("incrementMajor", SemverIncrementTask::class.java) { - description = "Increments Major version number." - config = this@SemverPlugin.config - version = this@SemverPlugin.version - type = Types.MAJOR - } - - project.tasks.create("incrementMinor", SemverIncrementTask::class.java) { - description = "Increments Minor version number." - config = this@SemverPlugin.config - version = this@SemverPlugin.version - type = Types.MINOR - } - - project.tasks.create("incrementPatch", SemverIncrementTask::class.java) { - description = "Increments Patch version number." - config = this@SemverPlugin.config - version = this@SemverPlugin.version - type = Types.PATCH + project.tasks.apply { + create("incrementMajor", SemverIncrementTask::class.java, config, version, SemverConfig.DEFAULT_MAJOR_KEY) + create("incrementMinor", SemverIncrementTask::class.java, config, version, SemverConfig.DEFAULT_MINOR_KEY) + create("incrementPatch", SemverIncrementTask::class.java, config, version, SemverConfig.DEFAULT_PATCH_KEY) } } @@ -99,7 +81,7 @@ class SemverPlugin : Plugin { project.logger.warn("Please specify the version in ${config.properties} and remove it from ${project.buildFile.name}") } File(config.properties).apply { - + project.logger.info("[${SemverPlugin::class.simpleName}] Attempting to read properties from: `${this.absoluteFile}`.") if (canRead()) { FileInputStream(this).use { fis -> Properties().apply {