Fix bug that all full clean targets are cleaned.
Only the first target should be cleaned or later incremental build is not incremental.

--
PiperOrigin-RevId: 150096210
MOS_MIGRATED_REVID=150096210
diff --git a/src/tools/benchmark/java/com/google/devtools/build/benchmark/BuildGroupRunner.java b/src/tools/benchmark/java/com/google/devtools/build/benchmark/BuildGroupRunner.java
index 82d4d3b..aedd764 100644
--- a/src/tools/benchmark/java/com/google/devtools/build/benchmark/BuildGroupRunner.java
+++ b/src/tools/benchmark/java/com/google/devtools/build/benchmark/BuildGroupRunner.java
@@ -112,6 +112,11 @@
     }
     lastIsIncremental = envConfig.getIncremental();
 
+    // Builder's clean method, only clean before the first target
+    if (targetIndex == 0 && envConfig.getCleanBeforeBuild()) {
+      builder.clean();
+    }
+
     if (removeFirstResult) {
       buildTargetAndGetElapsedTime(buildBinary, envConfig, targetConfig);
     }
@@ -129,11 +134,6 @@
   private double buildTargetAndGetElapsedTime(
       Path buildBinary, BuildEnvConfig envConfig, BuildTargetConfig targetConfig)
       throws CommandException {
-    // Builder's clean method
-    if (envConfig.getCleanBeforeBuild()) {
-      builder.clean();
-    }
-
     // Run build
     double elapsedTime =
         builder.buildAndGetElapsedTime(