Skip to content

Commit 98464d0

Browse files
committed
add sample and handled failing to load versionPropertiesFile
1 parent db74338 commit 98464d0

File tree

21 files changed

+767
-2
lines changed

21 files changed

+767
-2
lines changed

.github/workflows/check-build.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,8 @@ jobs:
5252
wrapper-directory: sample-multi-modules
5353
build-root-directory: sample-multi-modules
5454
arguments: check --stacktrace
55+
- uses: eskatos/gradle-command-action@v1
56+
with:
57+
wrapper-directory: sample-include-build
58+
build-root-directory: sample-include-build
59+
arguments: check --stacktrace

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import org.gradle.api.Project
99
import org.gradle.kotlin.dsl.register
1010
import org.slf4j.Marker
1111
import org.slf4j.helpers.BasicMarkerFactory
12+
import java.lang.IllegalStateException
1213

1314
open class RefreshVersionsCorePlugin : Plugin<Project> {
1415

@@ -17,8 +18,13 @@ open class RefreshVersionsCorePlugin : Plugin<Project> {
1718
if (project.isBuildSrc.not()) {
1819
project.tasks.register<RefreshVersionsTask>(name = "refreshVersions") {
1920
group = "Help"
20-
val versionsFileName = RefreshVersionsConfigHolder.versionsPropertiesFile.name
21-
description = "Search for new dependencies versions and update $versionsFileName"
21+
description = try {
22+
val versionsFileName = RefreshVersionsConfigHolder.versionsPropertiesFile.name
23+
"Search for new dependencies versions and update $versionsFileName"
24+
} catch (e: IllegalStateException) {
25+
logger.warn("project: ${project.rootDir} failed to load versionPropertiesFile")
26+
"Search for new dependencies versions and update versions.properties"
27+
}
2228
}
2329
}
2430
cleanFilesFromPreviousVersions(project)
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
import de.fayard.refreshVersions.core.versionFor
2+
import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion
3+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
4+
5+
buildscript {
6+
repositories {
7+
gradlePluginPortal()
8+
google()
9+
mavenCentral()
10+
}
11+
dependencies {
12+
classpath("org.gradle:gradle-hello-world-plugin:_")
13+
}
14+
}
15+
16+
plugins {
17+
kotlin("jvm")
18+
}
19+
20+
group = "de.fayard"
21+
22+
repositories {
23+
mavenLocal()
24+
mavenCentral()
25+
google()
26+
}
27+
28+
fun DependencyHandler.implementations(deps: List<String>) =
29+
deps.forEach { implementation(it) }
30+
31+
fun DependencyHandler.testImplementations(deps: List<String>) =
32+
deps.forEach { testImplementation(it) }
33+
34+
35+
dependencies {
36+
api("de.fayard:included")
37+
api("de.fayard:subproject")
38+
39+
implementations(listOf(AndroidX.browser, AndroidX.cardView))
40+
implementation(AndroidX.core)
41+
testImplementations(listOf(KotlinX.coroutines.core, KotlinX.coroutines.jdk8))
42+
testImplementation(Testing.kotest.runner.junit4)
43+
testImplementation("junit:junit:4.12")
44+
implementation("com.google.guava:guava:15.0")
45+
implementation("com.google.inject:guice:2.0")
46+
implementation("com.squareup.okhttp3:okhttp:3.10.0")
47+
implementation("com.squareup.okhttp3:okhttp-urlconnection:3.10.0")
48+
implementation(kotlin("stdlib-jdk8"))
49+
implementation("org.mongodb:mongo-java-driver:3.11.0")
50+
implementation(kotlin("script-runtime"))
51+
52+
api("org.apache.poi:poi:_")
53+
api("org.apache.poi:poi-ooxml:_")
54+
}
55+
56+
57+
getKotlinPluginVersion().let {
58+
val kotlinStdlibVersion = versionFor(dependencyNotation = Kotlin.stdlib)
59+
check(it == kotlinStdlibVersion) {
60+
"Unexpected mismatch between the version of the Kotlin plugin and the stdlib. " +
61+
"Is the versionFor function implementation correct?" +
62+
"Got respectively $it and $kotlinStdlibVersion"
63+
}
64+
val kotlinVersion = versionFor(versionKey = "version.kotlin")
65+
check(it == kotlinVersion) {
66+
"Unexpected mismatch between the version of the Kotlin plugin and the one from versions.properties. " +
67+
"Is the versionFor function implementation correct?" +
68+
"Got respectively $it and $kotlinStdlibVersion"
69+
}
70+
}
71+
72+
tasks.register("run", JavaExec::class.java) {
73+
this.main = "de.fayard.GuavaTest"
74+
}
75+
76+
tasks.withType<KotlinCompile> {
77+
kotlinOptions.jvmTarget = "1.8"
78+
}
79+
80+
tasks.withType(JavaExec::class.java) {
81+
classpath = sourceSets["main"].runtimeClasspath
82+
}
83+
84+
tasks.register<DefaultTask>("hello") {
85+
group = "Custom"
86+
description = "Minimal task that do nothing. Useful to debug a failing build"
87+
}
57.8 KB
Binary file not shown.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
distributionBase=GRADLE_USER_HOME
2+
distributionPath=wrapper/dists
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-bin.zip
4+
zipStoreBase=GRADLE_USER_HOME
5+
zipStorePath=wrapper/dists

sample-include-build/gradlew

Lines changed: 185 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)