diff --git a/buildSrc/src/main/kotlin/software/aws/toolkits/gradle/BuildScriptUtils.kt b/buildSrc/src/main/kotlin/software/aws/toolkits/gradle/BuildScriptUtils.kt index 880b417200..9c6da6a8b6 100644 --- a/buildSrc/src/main/kotlin/software/aws/toolkits/gradle/BuildScriptUtils.kt +++ b/buildSrc/src/main/kotlin/software/aws/toolkits/gradle/BuildScriptUtils.kt @@ -44,21 +44,8 @@ fun Project.withCurrentProfileName(consumer: (String) -> T): Provider +} + +abstract class GitShortHashValueSource : ValueSource { + override fun obtain(): String = + try { + val git = Git.open(parameters.gitRootDir.get()) + val currentShortHash = git.repository.findRef("HEAD").objectId.abbreviate(7).name() + val isDirty = git.status().call().hasUncommittedChanges() + + buildString { + append(currentShortHash) + + if (isDirty) { + append(".modified") + } + } + } catch(e: Exception) { + logger.warn("Could not determine current commit", e) + + "unknownCommit" + } + + companion object { + private val logger = LoggerFactory.getLogger("GitShortHashValueSource") + } +} diff --git a/buildSrc/src/main/kotlin/toolkit-publishing-conventions.gradle.kts b/buildSrc/src/main/kotlin/toolkit-publishing-conventions.gradle.kts index 9eeb990c92..7245d74a6a 100644 --- a/buildSrc/src/main/kotlin/toolkit-publishing-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/toolkit-publishing-conventions.gradle.kts @@ -22,7 +22,7 @@ version = "$toolkitVersion-${ideProfile.shortName}" if (!project.isCi()) { val buildMetadata = buildMetadata() tasks.withType().configureEach { - pluginVersion.set("${project.version}+$buildMetadata") + pluginVersion.set(buildMetadata.map { "${project.version}+$it" }) } tasks.named("buildPlugin") { diff --git a/gradle.properties b/gradle.properties index 8c527a59a3..23e34b657a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,6 +18,9 @@ kotlin.code.style=official # Gradle settings org.gradle.parallel=true org.gradle.caching=true +org.gradle.configuration-cache=true +org.gradle.configuration-cache.parallel=true +org.gradle.configuration-cache.problems=warn org.gradle.jvmargs=-Xmx2048m kotlin.daemon.jvmargs=-Xmx2048m diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 2c3521197d..a4b76b9530 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 9355b41557..e2847c8200 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/plugins/toolkit/jetbrains-core/build.gradle.kts b/plugins/toolkit/jetbrains-core/build.gradle.kts index 737c178175..8961fde879 100644 --- a/plugins/toolkit/jetbrains-core/build.gradle.kts +++ b/plugins/toolkit/jetbrains-core/build.gradle.kts @@ -60,8 +60,8 @@ tasks.compileJava { PatchPluginXmlTask.register(project) val patchPluginXml = tasks.named("patchPluginXml") patchPluginXml.configure { - val buildSuffix = if (!project.isCi()) "+${buildMetadata()}" else "" - pluginVersion.set("$toolkitVersion-${ideProfile.shortName}$buildSuffix") + val buildSuffix = buildMetadata().map { if (!project.isCi()) "+$it" else "" } + pluginVersion.set(buildSuffix.map { "$toolkitVersion-${ideProfile.shortName}$it" }) } tasks.jar { @@ -82,8 +82,8 @@ tasks.integrationTest { } val gatewayPluginXml = tasks.register("pluginXmlForGateway") { - val buildSuffix = if (!project.isCi()) "+${buildMetadata()}" else "" - pluginVersion.set("GW-$toolkitVersion-${ideProfile.shortName}$buildSuffix") + val buildSuffix = buildMetadata().map { if (!project.isCi()) "+$it" else "" } + pluginVersion.set(buildSuffix.map { "GW-$toolkitVersion-${ideProfile.shortName}$it" }) } val patchGatewayPluginXml by tasks.registering {