summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorDan Willemsen <dwillemsen@google.com>2024-02-14 16:20:58 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2024-02-14 16:20:58 +0000
commit0c31471a40ffef67c43f0d1b3526e3c2ce6f668b (patch)
tree79dff9fb95d94996f7bcae1134c7f027604dfd89 /tools
parent11556257e6a7c8ed42f32942444a49105ca42bbc (diff)
parent3d0cb6ccc8b88b7f81bf9bd3b7d4e4b2e000a9d0 (diff)
downloadbase-0c31471a40ffef67c43f0d1b3526e3c2ce6f668b.tar.gz
Merge "Set static timestamps in protologtool output" into main am: 3d0cb6ccc8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2961935 Change-Id: I48446937a2b014a1250875cf28a67a75e37e0742 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/protologtool/src/com/android/protolog/tool/ProtoLogTool.kt12
1 files changed, 10 insertions, 2 deletions
diff --git a/tools/protologtool/src/com/android/protolog/tool/ProtoLogTool.kt b/tools/protologtool/src/com/android/protolog/tool/ProtoLogTool.kt
index 3c55237ce443..ce856cd49614 100644
--- a/tools/protologtool/src/com/android/protolog/tool/ProtoLogTool.kt
+++ b/tools/protologtool/src/com/android/protolog/tool/ProtoLogTool.kt
@@ -25,6 +25,7 @@ import java.io.File
import java.io.FileInputStream
import java.io.FileOutputStream
import java.io.OutputStream
+import java.time.LocalDateTime
import java.util.concurrent.ExecutorService
import java.util.concurrent.Executors
import java.util.jar.JarOutputStream
@@ -42,6 +43,13 @@ object ProtoLogTool {
return source.contains(protoLogSimpleClassName)
}
+ private fun zipEntry(path: String): ZipEntry {
+ val entry = ZipEntry(path)
+ // Use a constant time to improve the cachability of build actions.
+ entry.timeLocal = LocalDateTime.of(2008, 1, 1, 0, 0, 0)
+ return entry
+ }
+
private fun processClasses(command: CommandOptions) {
val groups = injector.readLogGroups(
command.protoLogGroupsJarArg,
@@ -77,7 +85,7 @@ object ProtoLogTool {
}
}.map { future ->
val (path, outSrc) = future.get()
- outJar.putNextEntry(ZipEntry(path))
+ outJar.putNextEntry(zipEntry(path))
outJar.write(outSrc.toByteArray())
outJar.closeEntry()
}
@@ -90,7 +98,7 @@ object ProtoLogTool {
val cachePackage = cacheSplit.dropLast(1).joinToString(".")
val cachePath = "gen/${cacheSplit.joinToString("/")}.java"
- outJar.putNextEntry(ZipEntry(cachePath))
+ outJar.putNextEntry(zipEntry(cachePath))
outJar.write(generateLogGroupCache(cachePackage, cacheName, groups,
command.protoLogImplClassNameArg, command.protoLogGroupsClassNameArg).toByteArray())