mirror of
https://github.com/gradle/gradle-build-action
synced 2024-11-23 18:12:15 +00:00
Use multiline input parameters instead of JSON input
The `gradle-home-cache-includes` and `gradle-home-cache-excludes` parameters were initially implemented as JSON string inputs. This makes these inputs non-idiomatic and easier to get wrong. This change converts them to multi-line input parameters. Fixes #106
This commit is contained in:
parent
d61e5be06a
commit
e3ada7e5c2
4 changed files with 19 additions and 13 deletions
12
.github/workflows/integTest-caching-config.yml
vendored
12
.github/workflows/integTest-caching-config.yml
vendored
|
@ -28,9 +28,11 @@ jobs:
|
|||
# Add "wrapper" to main cache entry and remove 'wrapper-zips' bundle
|
||||
# Exclude build-cache from main cache entry
|
||||
gradle-home-cache-includes: |
|
||||
["caches", "notifications", "wrapper"]
|
||||
caches
|
||||
notifications
|
||||
wrapper
|
||||
gradle-home-cache-excludes: |
|
||||
["caches/build-cache-1"]
|
||||
caches/build-cache-1
|
||||
gradle-home-cache-artifact-bundles: |
|
||||
[
|
||||
["generated-gradle-jars", "caches/*/generated-gradle-jars/*.jar"],
|
||||
|
@ -57,9 +59,11 @@ jobs:
|
|||
cache-read-only: true
|
||||
# Need the same configuration when restoring state from cache
|
||||
gradle-home-cache-includes: |
|
||||
["caches", "notifications", "wrapper"]
|
||||
caches
|
||||
notifications
|
||||
wrapper
|
||||
gradle-home-cache-excludes: |
|
||||
["caches/build-cache-1"]
|
||||
caches/build-cache-1
|
||||
gradle-home-cache-artifact-bundles: |
|
||||
[
|
||||
["generated-gradle-jars", "caches/*/generated-gradle-jars/*.jar"],
|
||||
|
|
|
@ -191,10 +191,12 @@ The contents to be cached can be fine tuned by including and excluding certain p
|
|||
```yaml
|
||||
# Cache downloaded JDKs in addition to the default directories.
|
||||
gradle-home-cache-includes: |
|
||||
["caches", "notifications", "jdks"]
|
||||
caches
|
||||
notifications
|
||||
jdks
|
||||
# Exclude the local build-cache from the directories cached.
|
||||
gradle-home-cache-excludes: |
|
||||
["caches/build-cache-1"]
|
||||
caches/build-cache-1
|
||||
```
|
||||
|
||||
You can specify any number of fixed paths or patterns to include or exclude.
|
||||
|
|
|
@ -36,13 +36,13 @@ inputs:
|
|||
description: Paths within Gradle User Home to cache.
|
||||
required: false
|
||||
default: |
|
||||
["caches", "notifications"]
|
||||
caches
|
||||
notifications
|
||||
|
||||
gradle-home-cache-excludes:
|
||||
description: Paths within Gradle User Home to exclude from cache.
|
||||
required: false
|
||||
default: |
|
||||
[]
|
||||
|
||||
# e.g. Use the following setting to prevent the local build cache from being saved/restored
|
||||
# gradle-home-cache-excludes: |
|
||||
# ["caches/build-cache-1"]
|
||||
|
|
|
@ -84,8 +84,8 @@ export class GradleUserHomeCache extends AbstractCache {
|
|||
}
|
||||
|
||||
private removeExcludedPaths(): void {
|
||||
const rawPaths: string[] = JSON.parse(
|
||||
core.getInput(EXCLUDE_PATHS_PARAMETER)
|
||||
const rawPaths: string[] = core.getMultilineInput(
|
||||
EXCLUDE_PATHS_PARAMETER
|
||||
)
|
||||
const resolvedPaths = rawPaths.map(x =>
|
||||
path.resolve(this.gradleUserHome, x)
|
||||
|
@ -193,8 +193,8 @@ export class GradleUserHomeCache extends AbstractCache {
|
|||
}
|
||||
|
||||
protected getCachePath(): string[] {
|
||||
const rawPaths: string[] = JSON.parse(
|
||||
core.getInput(INCLUDE_PATHS_PARAMETER)
|
||||
const rawPaths: string[] = core.getMultilineInput(
|
||||
INCLUDE_PATHS_PARAMETER
|
||||
)
|
||||
rawPaths.push(META_FILE_DIR)
|
||||
const resolvedPaths = rawPaths.map(x => this.resolveCachePath(x))
|
||||
|
|
Loading…
Reference in a new issue