Build: Add property to enable dependency task output verification
Enabled on teamcity by default, disabled locally by default, kotlin.build.dependency.output.verification may be used to specify explicitly
This commit is contained in:
@@ -65,6 +65,7 @@ rootProject.apply {
|
|||||||
val isTeamcityBuild = project.hasProperty("teamcity") || System.getenv("TEAMCITY_VERSION") != null
|
val isTeamcityBuild = project.hasProperty("teamcity") || System.getenv("TEAMCITY_VERSION") != null
|
||||||
val intellijUltimateEnabled by extra(project.getBooleanProperty("intellijUltimateEnabled") ?: isTeamcityBuild)
|
val intellijUltimateEnabled by extra(project.getBooleanProperty("intellijUltimateEnabled") ?: isTeamcityBuild)
|
||||||
val intellijSeparateSdks by extra(project.getBooleanProperty("intellijSeparateSdks") ?: false)
|
val intellijSeparateSdks by extra(project.getBooleanProperty("intellijSeparateSdks") ?: false)
|
||||||
|
val verifyDependencyOutput by extra( getBooleanProperty("kotlin.build.dependency.output.verification") ?: isTeamcityBuild)
|
||||||
|
|
||||||
extra["intellijReleaseType"] = if (extra["versions.intellijSdk"]?.toString()?.endsWith("SNAPSHOT") == true)
|
extra["intellijReleaseType"] = if (extra["versions.intellijSdk"]?.toString()?.endsWith("SNAPSHOT") == true)
|
||||||
"snapshots"
|
"snapshots"
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import org.gradle.api.publish.ivy.internal.publisher.IvyDescriptorFileGenerator
|
|||||||
import org.gradle.internal.os.OperatingSystem
|
import org.gradle.internal.os.OperatingSystem
|
||||||
|
|
||||||
val cacheRedirectorEnabled = findProperty("cacheRedirectorEnabled")?.toString()?.toBoolean() == true
|
val cacheRedirectorEnabled = findProperty("cacheRedirectorEnabled")?.toString()?.toBoolean() == true
|
||||||
|
val verifyDependencyOutput: Boolean by rootProject.extra
|
||||||
val intellijUltimateEnabled: Boolean by rootProject.extra
|
val intellijUltimateEnabled: Boolean by rootProject.extra
|
||||||
val intellijReleaseType: String by rootProject.extra
|
val intellijReleaseType: String by rootProject.extra
|
||||||
val intellijVersion = rootProject.extra["versions.intellijSdk"] as String
|
val intellijVersion = rootProject.extra["versions.intellijSdk"] as String
|
||||||
@@ -28,12 +28,11 @@ if (intellijVersionDelimiterIndex == -1) {
|
|||||||
|
|
||||||
val platformBaseVersion = intellijVersion.substring(0, intellijVersionDelimiterIndex)
|
val platformBaseVersion = intellijVersion.substring(0, intellijVersionDelimiterIndex)
|
||||||
|
|
||||||
|
logger.info("verifyDependencyOutput: $verifyDependencyOutput")
|
||||||
logger.info("intellijUltimateEnabled: $intellijUltimateEnabled")
|
logger.info("intellijUltimateEnabled: $intellijUltimateEnabled")
|
||||||
|
|
||||||
logger.info("intellijVersion: $intellijVersion")
|
logger.info("intellijVersion: $intellijVersion")
|
||||||
logger.info("androidStudioRelease: $androidStudioRelease")
|
logger.info("androidStudioRelease: $androidStudioRelease")
|
||||||
logger.info("androidStudioBuild: $androidStudioBuild")
|
logger.info("androidStudioBuild: $androidStudioBuild")
|
||||||
|
|
||||||
logger.info("intellijSeparateSdks: $intellijSeparateSdks")
|
logger.info("intellijSeparateSdks: $intellijSeparateSdks")
|
||||||
logger.info("installIntellijCommunity: $installIntellijCommunity")
|
logger.info("installIntellijCommunity: $installIntellijCommunity")
|
||||||
logger.info("installIntellijUltimate: $installIntellijUltimate")
|
logger.info("installIntellijUltimate: $installIntellijUltimate")
|
||||||
@@ -298,10 +297,16 @@ fun buildIvyRepositoryTask(
|
|||||||
dependsOn(configuration)
|
dependsOn(configuration)
|
||||||
inputs.files(configuration)
|
inputs.files(configuration)
|
||||||
|
|
||||||
outputs.upToDateWhen {
|
if (verifyDependencyOutput) {
|
||||||
configuration.resolvedConfiguration.resolvedArtifacts.single()
|
outputs.dir(provider {
|
||||||
.let { it.moduleDirectory() }
|
configuration.resolvedConfiguration.resolvedArtifacts.single().moduleDirectory()
|
||||||
.exists()
|
})
|
||||||
|
} else {
|
||||||
|
outputs.upToDateWhen {
|
||||||
|
configuration.resolvedConfiguration.resolvedArtifacts.single()
|
||||||
|
.moduleDirectory()
|
||||||
|
.exists()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
doFirst {
|
doFirst {
|
||||||
|
|||||||
Reference in New Issue
Block a user