aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp
diff options
context:
space:
mode:
authorGravatar ruperts <ruperts@google.com>2017-11-21 16:37:13 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-11-21 16:38:50 -0800
commit7967f3387e63723bb36b974f83a816265d404c38 (patch)
tree1533cc8bd2d63e1db9426d8795df902d104a3d1a /src/main/java/com/google/devtools/build/lib/rules/cpp
parenta2a3d8ca6634abb8f8dc184edb4ea01543de8505 (diff)
Return SpawnResults using a List instead of a Set.
Currently we don't care about the list order of SpawnResults. However, we may care about the list order later. Also, if the equals() method for SpawnResults is ever changed then it may be problematic to return SpawnResults in a Set. Aside: ActionResults use SpawnResults to calculate cumulative execution times for Actions, and may provide other metrics in future. RELNOTES: None. PiperOrigin-RevId: 176579460
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionResult.java14
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/SpawnGccStrategy.java4
4 files changed, 12 insertions, 12 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
index b2b5d4af10..623435bf95 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
@@ -1167,7 +1167,7 @@ public class CppCompileAction extends AbstractAction
actionExecutionContext.getFileOutErr().setErrorFilter(showIncludesFilterForStderr);
}
- Set<SpawnResult> spawnResults;
+ List<SpawnResult> spawnResults;
try {
CppCompileActionResult cppCompileActionResult =
actionExecutionContext
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionResult.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionResult.java
index 93e3ae4ef8..57daf406b9 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionResult.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionResult.java
@@ -15,9 +15,9 @@
package com.google.devtools.build.lib.rules.cpp;
import com.google.auto.value.AutoValue;
-import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.SpawnResult;
-import java.util.Set;
+import java.util.List;
import javax.annotation.Nullable;
/** Contains information about the result of a CppCompileAction's execution. */
@@ -25,7 +25,7 @@ import javax.annotation.Nullable;
public abstract class CppCompileActionResult {
/** Returns the SpawnResults created by the action, if any. */
- public abstract Set<SpawnResult> spawnResults();
+ public abstract List<SpawnResult> spawnResults();
/**
* Gets the optional CppCompileActionContext.Reply for the action.
@@ -46,10 +46,10 @@ public abstract class CppCompileActionResult {
public abstract static class Builder {
/** Returns the SpawnResults for the action, if any. */
- abstract Set<SpawnResult> spawnResults();
+ abstract List<SpawnResult> spawnResults();
/** Sets the SpawnResults for the action. */
- public abstract Builder setSpawnResults(Set<SpawnResult> spawnResults);
+ public abstract Builder setSpawnResults(List<SpawnResult> spawnResults);
/** Sets the CppCompileActionContext.Reply for the action. */
public abstract Builder setContextReply(CppCompileActionContext.Reply reply);
@@ -59,10 +59,10 @@ public abstract class CppCompileActionResult {
/**
* Returns an immutable CppCompileActionResult object.
*
- * <p>The set of SpawnResults is also made immutable here.
+ * <p>The list of SpawnResults is also made immutable here.
*/
public CppCompileActionResult build() {
- return this.setSpawnResults(ImmutableSet.copyOf(spawnResults())).realBuild();
+ return this.setSpawnResults(ImmutableList.copyOf(spawnResults())).realBuild();
}
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
index 5e7d5dfecb..383e84f03d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
@@ -39,7 +39,7 @@ import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
import java.io.IOException;
-import java.util.Set;
+import java.util.List;
import java.util.UUID;
import java.util.logging.Logger;
@@ -126,7 +126,7 @@ public class FakeCppCompileAction extends CppCompileAction {
public ActionResult execute(ActionExecutionContext actionExecutionContext)
throws ActionExecutionException, InterruptedException {
setModuleFileFlags();
- Set<SpawnResult> spawnResults;
+ List<SpawnResult> spawnResults;
// First, do a normal compilation, to generate the ".d" file. The generated object file is built
// to a temporary location (tempOutputFile) and ignored afterwards.
logger.info("Generating " + getDotdFile());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/SpawnGccStrategy.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/SpawnGccStrategy.java
index a5a82f1b13..4b64e2b7ad 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/SpawnGccStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/SpawnGccStrategy.java
@@ -27,7 +27,7 @@ import com.google.devtools.build.lib.actions.Spawn;
import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnResult;
import com.google.devtools.build.lib.actions.UserExecException;
-import java.util.Set;
+import java.util.List;
/**
* A context for C++ compilation that calls into a {@link SpawnActionContext}.
@@ -67,7 +67,7 @@ public class SpawnGccStrategy implements CppCompileActionContext {
action.getOutputs().asList(),
action.estimateResourceConsumptionLocal());
- Set<SpawnResult> spawnResults =
+ List<SpawnResult> spawnResults =
actionExecutionContext
.getSpawnActionContext(action.getMnemonic())
.exec(spawn, actionExecutionContext);