bazelbuild / bazelbuild/rules_android
Rules use entire Android SDK dir as input instead of explicit files which may case poor cache hit
- Dominant language
- Java
- Stars
- 203
- Forks
- 95
- PR merge metrics
- No merged PRs in 30d
Description
This is not super common but we've noticed that if someone has extra files in their `androidsdk/build-tools/34.0.0/lib/*` they will be used an input files to an action which will cause a cache miss and therefore a local rebuild.
Example of unwanted input because a rogue `dx.jar` file was present :
```
"path": "bazel-out/arm64-v8a-fastbuild-android-ST-5084ec102eb5/bin/external/androidsdk/aapt2_binary.runfiles/__main__/external/androidsdk/build-tools/34.0.0/lib/dx.jar",
"digest": {
"hash": "5f37023cdab507f4f2ece1c80dabd056254e30cc9f4aef39dd84c4e0a0031615",
"sizeBytes": "1038021",
"hashFunctionName": "SHA-256"
},
"isTool": false,
"symlinkTargetPath": ""
}, {
```
and
```
"path": "bazel-out/arm64-v8a-fastbuild-android-ST-5084ec102eb5/bin/external/androidsdk/aapt2_binary.runfiles/androidsdk/build-tools/34.0.0/lib/dx.jar",
"digest": {
"hash": "5f37023cdab507f4f2ece1c80dabd056254e30cc9f4aef39dd84c4e0a0031615",
"sizeBytes": "1038021",
"hashFunctionName": "SHA-256"
},
"isTool": false,
"symlinkTargetPath": ""
}, {
```
Contributor guide
Assessment
This issue has not been assessed yet.