Pārlūkot izejas kodu

Merge "don't touch `bp2build_workspace_marker` file if it exists"

Usta (Tsering) Shrestha 1 gadu atpakaļ
vecāks
revīzija
39f17ad8b8
1 mainītis faili ar 9 papildinājumiem un 2 dzēšanām
  1. 9 2
      cmd/soong_build/main.go

+ 9 - 2
cmd/soong_build/main.go

@@ -519,6 +519,12 @@ func touch(path string) {
 	}
 }
 
+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 @@ func runBp2Build(configuration android.Config, extraNinjaDeps []string) {
 
 		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