aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2016-08-09 13:44:27 +0000
committerGravatar Yue Gan <yueg@google.com>2016-08-10 08:35:26 +0000
commit99de0d07574f808fee36826289cb1f5c83e3b3e0 (patch)
tree2a772de5006c327a2be9be03c45bde3986b09c7c /src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
parent15a23b96750d423d1b403a45ae58804e88d0acfc (diff)
Cleanup: store non-code inputs to link actions separately.
-- MOS_MIGRATED_REVID=129743936
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java31
1 files changed, 6 insertions, 25 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
index 5a7d0717eb..32782a70d8 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
@@ -18,7 +18,6 @@ import static java.nio.charset.StandardCharsets.ISO_8859_1;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Joiner;
-import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
@@ -51,12 +50,10 @@ import com.google.devtools.build.lib.util.ShellEscaper;
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.Collection;
import java.util.List;
import java.util.Map;
-
import javax.annotation.Nullable;
/**
@@ -161,24 +158,6 @@ public final class CppLinkAction extends AbstractAction implements ExecutionInfo
this.executionRequirements = executionRequirements;
}
- static Iterable<LinkerInput> filterLinkerInputs(Iterable<LinkerInput> inputs) {
- return Iterables.filter(inputs, new Predicate<LinkerInput>() {
- @Override
- public boolean apply(LinkerInput input) {
- return Link.VALID_LINKER_INPUTS.matches(input.getArtifact().getFilename());
- }
- });
- }
-
- static Iterable<Artifact> filterLinkerInputArtifacts(Iterable<Artifact> inputs) {
- return Iterables.filter(inputs, new Predicate<Artifact>() {
- @Override
- public boolean apply(Artifact input) {
- return Link.VALID_LINKER_INPUTS.matches(input.getFilename());
- }
- });
- }
-
private CppConfiguration getCppConfiguration() {
return cppConfiguration;
}
@@ -519,7 +498,8 @@ public final class CppLinkAction extends AbstractAction implements ExecutionInfo
public static final class Context implements TransitiveInfoProvider {
// Morally equivalent with {@link Builder}, except these are immutable.
// Keep these in sync with {@link Builder}.
- final ImmutableSet<LinkerInput> nonLibraries;
+ final ImmutableSet<LinkerInput> objectFiles;
+ final ImmutableSet<Artifact> nonCodeInputs;
final NestedSet<LibraryToLink> libraries;
final NestedSet<Artifact> crosstoolInputs;
final Artifact runtimeMiddleman;
@@ -540,7 +520,8 @@ public final class CppLinkAction extends AbstractAction implements ExecutionInfo
* @param builder a mutable {@link CppLinkActionBuilder} to clone from
*/
public Context(CppLinkActionBuilder builder) {
- this.nonLibraries = ImmutableSet.copyOf(builder.getNonLibraries());
+ this.objectFiles = ImmutableSet.copyOf(builder.getObjectFiles());
+ this.nonCodeInputs = ImmutableSet.copyOf(builder.getNonCodeInputs());
this.libraries = NestedSetBuilder.<LibraryToLink>linkOrder()
.addTransitive(builder.getLibraries().build()).build();
this.crosstoolInputs =
@@ -562,8 +543,8 @@ public final class CppLinkAction extends AbstractAction implements ExecutionInfo
/**
* Returns linker inputs that are not libraries.
*/
- public ImmutableSet<LinkerInput> getNonLibraries() {
- return this.nonLibraries;
+ public ImmutableSet<LinkerInput> getObjectFiles() {
+ return this.objectFiles;
}
/**