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 146675a..2af53b3 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -34,12 +34,14 @@ package net.thauvin.erik.gradle.semver import org.gradle.api.GradleException import org.gradle.api.Plugin import org.gradle.api.Project +import org.gradle.util.GradleVersion import java.io.File import java.io.FileInputStream import java.io.FileOutputStream import java.util.Properties class SemverPlugin : Plugin { + private val simpleName = SemverPlugin::class.simpleName private var version = Version() private lateinit var config: SemverConfig @@ -65,6 +67,9 @@ class SemverPlugin : Plugin { } override fun apply(project: Project?) { + if (GradleVersion.current() < GradleVersion.version("4.8.1")) { + throw GradleException("The $simpleName plugin requires Gradle version 4.8.1 or greater.") + } project!!.afterEvaluate(this::afterEvaluate) config = project.extensions.create("semver", SemverConfig::class.java) @@ -83,9 +88,9 @@ class SemverPlugin : Plugin { } propsFile.apply { project.logger.info( - "[${SemverPlugin::class.simpleName}] Attempting to read properties from: `$absoluteFile`. [exists: ${exists()}, canRead: ${canRead()}]") if (canRead()) { FileInputStream(this).use { fis -> + "[$simpleName] Attempting to read properties from: `$absoluteFile`. [exists: ${exists()}, isFile: $isFile, canRead: ${canRead()}]") Properties().apply { load(fis) version.major = getProperty(config.majorKey, Version.DEFAULT_MAJOR) @@ -104,7 +109,7 @@ class SemverPlugin : Plugin { throw GradleException("Unable to read version from: `$absoluteFile`") } project.version = version.semver - project.logger.info("[${SemverPlugin::class.simpleName}] Project version set to: ${project.version}") + project.logger.info("[$simpleName] Project version set to: ${project.version}") saveProperties(config, version) } }