Build: Don't unpack ivy repo artifacts if target directory exists
This commit is contained in:
@@ -73,7 +73,6 @@ rootProject.apply {
|
|||||||
val isTeamcityBuild = kotlinBuildProperties.isTeamcityBuild
|
val isTeamcityBuild = kotlinBuildProperties.isTeamcityBuild
|
||||||
val intellijUltimateEnabled by extra(kotlinBuildProperties.intellijUltimateEnabled)
|
val intellijUltimateEnabled by extra(kotlinBuildProperties.intellijUltimateEnabled)
|
||||||
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"] = when {
|
extra["intellijReleaseType"] = when {
|
||||||
extra["versions.intellijSdk"]?.toString()?.contains("-EAP-") == true -> "snapshots"
|
extra["versions.intellijSdk"]?.toString()?.contains("-EAP-") == true -> "snapshots"
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ plugins {
|
|||||||
base
|
base
|
||||||
}
|
}
|
||||||
|
|
||||||
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
|
||||||
@@ -34,7 +33,6 @@ 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")
|
||||||
@@ -272,25 +270,22 @@ fun buildIvyRepositoryTaskAndRegisterCleanupTask(
|
|||||||
dependsOn(configuration)
|
dependsOn(configuration)
|
||||||
inputs.files(configuration)
|
inputs.files(configuration)
|
||||||
|
|
||||||
if (verifyDependencyOutput) {
|
outputs.upToDateWhen {
|
||||||
outputs.dir(
|
configuration.resolvedConfiguration.resolvedArtifacts.single()
|
||||||
provider {
|
.moduleDirectory()
|
||||||
configuration.resolvedConfiguration.resolvedArtifacts.single().moduleDirectory()
|
.exists()
|
||||||
}
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
outputs.upToDateWhen {
|
|
||||||
configuration.resolvedConfiguration.resolvedArtifacts.single()
|
|
||||||
.moduleDirectory()
|
|
||||||
.exists()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
doFirst {
|
doFirst {
|
||||||
configuration.resolvedConfiguration.resolvedArtifacts.single().run {
|
val artifact = configuration.resolvedConfiguration.resolvedArtifacts.single()
|
||||||
val moduleDirectory = moduleDirectory()
|
val moduleDirectory = artifact.moduleDirectory()
|
||||||
val artifactsDirectory = File(moduleDirectory(), "artifacts")
|
if (moduleDirectory.exists()) {
|
||||||
|
logger.info("Path ${moduleDirectory.absolutePath} already exists, skipping unpacking.")
|
||||||
|
return@doFirst
|
||||||
|
}
|
||||||
|
|
||||||
|
with(artifact) {
|
||||||
|
val artifactsDirectory = File(moduleDirectory, "artifacts")
|
||||||
logger.info("Unpacking ${file.name} into ${artifactsDirectory.absolutePath}")
|
logger.info("Unpacking ${file.name} into ${artifactsDirectory.absolutePath}")
|
||||||
copy {
|
copy {
|
||||||
val fileTree = when (extension) {
|
val fileTree = when (extension) {
|
||||||
|
|||||||
Reference in New Issue
Block a user