Skip to content

Commit

Permalink
✨ add gradle-dependencies-cache-key property for configuring extra de…
Browse files Browse the repository at this point in the history
…pendencies (e.g. versions declared in buildSrc/Versions.kt)
  • Loading branch information
vlsi committed Aug 7, 2020
1 parent 64ef392 commit cc7a294
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 3 deletions.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,11 @@ The default configuration should suit for most of the cases, however, there are
# Disable caching of ~/.gradle/caches/modules-*
save-gradle-dependencies-cache: false

# Extra files to take into account for ~/.gradle/caches dependencies
gradle-dependencies-cache-key: |
gradle/dependencies.kt
buildSrc/**/Version.kt
# Disable caching of ~/.m2/repository/
save-maven-dependencies-cache: false

Expand Down
12 changes: 12 additions & 0 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,18 @@ inputs:
gradle-version:
description: (wrapper | or explicit version) Caches often depend on the Gradle version, so this parameter sets the ID to use for cache keys. It does not affect the Gradle version used for build
required: false
save-generated-gradle-jars:
description: Enables caching of $HOME/.gradle/caches/*.*/generated-gradle-jars
required: false
save-gradle-dependencies-cache:
description: Enables caching of ~/.gradle/caches/modules-*
required: false
gradle-dependencies-cache-key:
description: Extra files to take into account for ~/.gradle/caches dependencies
required: false
save-maven-dependencies-cache:
description: Enables caching of ~/.m2/repository/
required: false
debug:
description: Shows extra logging to debug the action
required: false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class GradleCacheAction(val trigger: ActionsTrigger, val params: Parameters) {
}

if (params.gradleDependenciesCache) {
caches.add(gradleDependenciesCache(trigger, params.path))
caches.add(gradleDependenciesCache(trigger, params.path, params.gradleDependenciesCacheKey))
}

if (params.mavenDependenciesCache) {
Expand Down
1 change: 1 addition & 0 deletions src/main/kotlin/com/github/burrunan/gradle/Main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ suspend fun main() {
generatedGradleJars = getInput("save-generated-gradle-jars").ifBlank { "true" }.toBoolean(),
localBuildCache = getInput("save-local-build-cache").ifBlank { "true" }.toBoolean(),
gradleDependenciesCache = getInput("save-gradle-dependencies-cache").ifBlank { "true" }.toBoolean(),
gradleDependenciesCacheKey = getInput("gradle-dependencies-cache-key"),
mavenDependenciesCache = getInput("save-maven-dependencies-cache").ifBlank { "true" }.toBoolean(),
concurrent = getInput("concurrent").ifBlank { "false" }.toBoolean(),
)
Expand Down
1 change: 1 addition & 0 deletions src/main/kotlin/com/github/burrunan/gradle/Parameters.kt
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ data class Parameters(
val generatedGradleJars: Boolean,
val localBuildCache: Boolean,
val gradleDependenciesCache: Boolean,
val gradleDependenciesCacheKey: String,
val mavenDependenciesCache: Boolean,
val concurrent: Boolean,
)
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ suspend fun dependenciesCache(
)
}

suspend fun gradleDependenciesCache(trigger: ActionsTrigger, path: String): Cache =
suspend fun gradleDependenciesCache(trigger: ActionsTrigger, path: String, gradleDependenciesCacheKey: String): Cache =
dependenciesCache(
"gradle",
trigger,
Expand All @@ -54,7 +54,10 @@ suspend fun gradleDependenciesCache(trigger: ActionsTrigger, path: String): Cach
// We do not want .gradle folder, so we want to have at least one character before .gradle
"$path/**/?*.gradle",
"$path/**/*.properties",
),
) + gradleDependenciesCacheKey.split(Regex("[\r\n]+")).map {
(if (it.startsWith("!")) "!" else "") +
"$path/**/" + it.trim().trimStart('!')
},
)

suspend fun mavenDependenciesCache(trigger: ActionsTrigger, path: String): Cache =
Expand Down

0 comments on commit cc7a294

Please sign in to comment.