Skip to content

Commit 0c32b93

Browse files
committed
make it not overwrite the versions.properties from included builds
1 parent 65219fc commit 0c32b93

File tree

16 files changed

+54
-19
lines changed

16 files changed

+54
-19
lines changed

plugins/core/src/main/kotlin/de/fayard/refreshVersions/core/RefreshVersionsCoreSetup.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
package de.fayard.refreshVersions.core
44

55
import de.fayard.refreshVersions.core.extensions.gradle.isBuildSrc
6+
import de.fayard.refreshVersions.core.extensions.gradle.isIncluded
67
import de.fayard.refreshVersions.core.internal.*
78
import de.fayard.refreshVersions.core.internal.resolveVersion
89
import de.fayard.refreshVersions.core.internal.setupVersionPlaceholdersResolving

plugins/core/src/main/kotlin/de/fayard/refreshVersions/core/RefreshVersionsTask.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ open class RefreshVersionsTask : DefaultTask() {
5656
// will reduce the number of repositories lookups, improving performance a little more.
5757

5858
runBlocking {
59+
logger.lifecycle("${project.rootDir.name} task action")
5960
val lintUpdatingProblemsAsync = async {
6061
configureLintIfRunningOnAnAndroidProject(settings, RefreshVersionsConfigHolder.readVersionsMap())
6162
}

plugins/core/src/main/kotlin/de/fayard/refreshVersions/core/extensions/gradle/Settings.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,6 @@ import org.gradle.api.initialization.Settings
55

66
@InternalRefreshVersionsApi
77
val Settings.isBuildSrc: Boolean get() = rootProject.name == "buildSrc"
8+
9+
@InternalRefreshVersionsApi
10+
val Settings.isIncluded: Boolean get() = startParameter.projectDir == null

plugins/core/src/main/kotlin/de/fayard/refreshVersions/core/internal/RefreshVersionsConfigHolder.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package de.fayard.refreshVersions.core.internal
22

33
import de.fayard.refreshVersions.core.extensions.gradle.isBuildSrc
4+
import de.fayard.refreshVersions.core.extensions.gradle.isIncluded
45
import de.fayard.refreshVersions.core.extensions.gradle.isRootProject
56
import de.fayard.refreshVersions.core.internal.versions.VersionsPropertiesModel
67
import de.fayard.refreshVersions.core.internal.versions.VersionsPropertiesModel.Section.VersionEntry
@@ -25,6 +26,9 @@ object RefreshVersionsConfigHolder {
2526
internal var isSetupViaPlugin = false
2627
private set
2728

29+
private var isInitialized: Boolean = false
30+
private set
31+
2832
private val versionKeyReaderDelegate = resettableDelegates.LateInit<ArtifactVersionKeyReader>()
2933

3034
var versionKeyReader: ArtifactVersionKeyReader by versionKeyReaderDelegate
@@ -78,6 +82,9 @@ object RefreshVersionsConfigHolder {
7882
versionsPropertiesFile: File
7983
) {
8084
require(settings.isBuildSrc.not())
85+
if(isInitialized && settings.isIncluded) {
86+
return
87+
}
8188
settings.gradle.buildFinished {
8289
clearStaticState()
8390
}
@@ -88,6 +95,7 @@ object RefreshVersionsConfigHolder {
8895
}
8996
this.artifactVersionKeyRules = artifactVersionKeyRules
9097
versionKeyReader = ArtifactVersionKeyReader.fromRules(filesContent = artifactVersionKeyRules)
98+
isInitialized = true
9199
}
92100

93101
internal fun initializeBuildSrc(settings: Settings) {
@@ -124,6 +132,7 @@ object RefreshVersionsConfigHolder {
124132
private fun clearStaticState() {
125133
httpClient.dispatcher.executorService.shutdown()
126134
resettableDelegates.reset()
135+
isInitialized = false
127136
// Clearing static state is needed because Gradle holds onto previous builds, yet,
128137
// duplicates static state.
129138
// We need to beware of never retaining Gradle objects.

plugins/settings.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
import de.fayard.refreshVersions.bootstrapRefreshVersions
2+
import de.fayard.refreshVersions.migrateRefreshVersionsIfNeeded
23

34
buildscript {
45
repositories {
56
gradlePluginPortal()
67
}
78
dependencies.classpath("de.fayard.refreshVersions:refreshVersions:0.9.7")
9+
//// # available:0.10.0")
810
}
911

12+
migrateRefreshVersionsIfNeeded("0.9.7") // Will be automatically removed by refreshVersions when upgraded to the latest version.
13+
1014
bootstrapRefreshVersions()
1115

1216
plugins {

sample-include-build/gradle

Lines changed: 0 additions & 1 deletion
This file was deleted.

sample-include-build/gradlew

Lines changed: 0 additions & 1 deletion
This file was deleted.

sample-include-build/gradlew.bat

Lines changed: 0 additions & 1 deletion
This file was deleted.

sample-include-build/included/build.gradle.kts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,6 @@ repositories {
2727
google()
2828
}
2929

30-
fun DependencyHandler.implementations(deps: List<String>) =
31-
deps.forEach { implementation(it) }
32-
33-
fun DependencyHandler.testImplementations(deps: List<String>) =
34-
deps.forEach { testImplementation(it) }
35-
3630
dependencies {
3731
// api(project(":subproject"))
3832
// api(project(":subproject2"))

sample-include-build/included/gradle

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)