Merge "don't touch `bp2build_workspace_marker` file if it exists"
diff --git a/cmd/soong_build/main.go b/cmd/soong_build/main.go
index 5174570..87710c0 100644
--- a/cmd/soong_build/main.go
+++ b/cmd/soong_build/main.go
@@ -519,6 +519,12 @@
}
}
+func touchIfDoesNotExist(path string) {
+ if _, err := os.Stat(path); os.IsNotExist(err) {
+ touch(path)
+ }
+}
+
// Find BUILD files in the srcDir which are not in the allowlist
// (android.Bp2BuildConversionAllowlist#ShouldKeepExistingBuildFileForDir)
// and return their paths so they can be left out of the Bazel workspace dir (i.e. ignored)
@@ -674,8 +680,9 @@
writeDepFile(bp2buildMarker, eventHandler, ninjaDeps)
- // Create an empty bp2build marker file.
- touch(shared.JoinPath(topDir, bp2buildMarker))
+ // Create an empty bp2build marker file, if it does not already exist.
+ // Note the relevant rule has `restat = true`
+ touchIfDoesNotExist(shared.JoinPath(topDir, bp2buildMarker))
})
// Only report metrics when in bp2build mode. The metrics aren't relevant