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.

sample-include-build/included/gradlew

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

sample-include-build/included/gradlew.bat

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

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ plugins {
2121
}
2222

2323
refreshVersions {
24-
versionsPropertiesFile = rootDir.parentFile.resolve("versions.properties")
24+
// versionsPropertiesFile = rootDir.parentFile.resolve("versions.properties")
2525
featureFlags {
2626
enable(LIBS)
2727
disable(GRADLE_UPDATES)

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

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

29-
fun DependencyHandler.implementations(deps: List<String>) =
30-
deps.forEach { implementation(it) }
31-
32-
fun DependencyHandler.testImplementations(deps: List<String>) =
33-
deps.forEach { testImplementation(it) }
34-
3529
dependencies {
3630
api("org.apache.poi:poi:_")
3731
api("org.apache.poi:poi-ooxml:_")
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#### Dependencies and Plugin versions with their available updates.
2+
#### Generated by `./gradlew refreshVersions` version 0.10.1-SNAPSHOT
3+
####
4+
#### Don't manually edit or split the comments that start with four hashtags (####),
5+
#### they will be overwritten by refreshVersions.
6+
####
7+
#### suppress inspection "SpellCheckingInspection" for whole file
8+
#### suppress inspection "UnusedProperty" for whole file
9+
10+
plugin.org.jetbrains.kotlin.jvm=version.kotlin
11+
12+
version.apache.poi=5.0.0
13+
14+
version.kotlin=1.4.32
15+
## # available=1.5.0-dev-12
16+
## # available=1.5.0-dev-15
17+
## # available=1.5.0-M1
18+
## # available=1.5.0-M2
19+
## # available=1.5.0-RC
20+
## # available=1.5.0
21+
## # available=1.5.10
22+
## # available=1.5.20-M1
23+
24+
version.kotlinx.collections.immutable=0.3.4
25+
26+
version.okhttp3=4.9.1
27+
## # available=4.10.0-RC1
28+
## # available=5.0.0-alpha.1
29+
## # available=5.0.0-alpha.2
30+
31+
version.org.gradle..gradle-hello-world-plugin=0.2

sample-include-build/versions.properties

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
#### suppress inspection "SpellCheckingInspection" for whole file
88
#### suppress inspection "UnusedProperty" for whole file
99

10+
plugin.org.jetbrains.kotlin.jvm=version.kotlin
11+
1012
version.androidx.browser=1.0.0
1113
## # available=1.2.0-alpha07
1214
## # available=1.2.0-alpha08
@@ -77,6 +79,8 @@ version.kotest=4.1.3
7779
## # available=4.6.0
7880

7981
version.kotlin=1.4.32
82+
## # available=1.5.0-dev-12
83+
## # available=1.5.0-dev-15
8084
## # available=1.5.0-M1
8185
## # available=1.5.0-M2
8286
## # available=1.5.0-RC

0 commit comments

Comments
 (0)