aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2016-10-11 18:09:06 +0000
committerGravatar Yue Gan <yueg@google.com>2016-10-12 08:56:00 +0000
commit1750a3f4ff7f8b6d0cb8ccf62dbed9e3bcf4b932 (patch)
treef6847f40ec5383a2d9cc853f0bc7e53212f6f67a /src/main/java/com/google/devtools/build
parente51a4d2793de5de37190192851556b9a2554b2cb (diff)
ide-compile output group now mirrors the compile-only output group for cc rules
-- MOS_MIGRATED_REVID=135816762
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r--src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java31
-rw-r--r--src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoFilesProvider.java14
2 files changed, 13 insertions, 32 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java b/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java
index a6c84893e5..deab1cff3d 100644
--- a/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java
@@ -36,6 +36,7 @@ import com.google.devtools.build.lib.analysis.ConfiguredAspect;
import com.google.devtools.build.lib.analysis.ConfiguredAspect.Builder;
import com.google.devtools.build.lib.analysis.ConfiguredAspectFactory;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
+import com.google.devtools.build.lib.analysis.OutputGroupProvider;
import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
@@ -67,11 +68,9 @@ import com.google.devtools.build.lib.packages.TargetUtils;
import com.google.devtools.build.lib.rules.android.AndroidIdeInfoProvider;
import com.google.devtools.build.lib.rules.android.AndroidIdeInfoProvider.SourceDirectory;
import com.google.devtools.build.lib.rules.android.AndroidSdkProvider;
-import com.google.devtools.build.lib.rules.cpp.CcLinkParamsProvider;
import com.google.devtools.build.lib.rules.cpp.CcToolchainProvider;
import com.google.devtools.build.lib.rules.cpp.CppCompilationContext;
import com.google.devtools.build.lib.rules.cpp.CppConfiguration;
-import com.google.devtools.build.lib.rules.cpp.LinkerInput;
import com.google.devtools.build.lib.rules.java.JavaExportsProvider;
import com.google.devtools.build.lib.rules.java.JavaGenJarsProvider;
import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider;
@@ -197,11 +196,19 @@ public class AndroidStudioInfoAspect extends NativeAspectClass implements Config
dependenciesResult,
providerBuilder);
+ NestedSetBuilder<Artifact> ideCompileArtifacts = NestedSetBuilder.stableOrder();
+ // Add artifacts required for compilation
+ OutputGroupProvider outputGroupProvider = base.getProvider(OutputGroupProvider.class);
+ if (outputGroupProvider != null) {
+ ideCompileArtifacts.addTransitive(
+ outputGroupProvider.getOutputGroup(OutputGroupProvider.FILES_TO_COMPILE));
+ }
+
builder
.addOutputGroup(IDE_INFO, provider.getIdeInfoFiles())
.addOutputGroup(IDE_INFO_TEXT, provider.getIdeInfoTextFiles())
.addOutputGroup(IDE_RESOLVE, provider.getIdeResolveFiles())
- .addOutputGroup(IDE_COMPILE, provider.getIdeCompileFiles())
+ .addOutputGroup(IDE_COMPILE, ideCompileArtifacts.build())
.addProvider(provider);
return builder.build();
@@ -296,10 +303,8 @@ public class AndroidStudioInfoAspect extends NativeAspectClass implements Config
providerBuilder.ideInfoFilesBuilder().addTransitive(depProvider.getIdeInfoFiles());
providerBuilder.ideInfoTextFilesBuilder().addTransitive(depProvider.getIdeInfoTextFiles());
providerBuilder.ideResolveFilesBuilder().addTransitive(depProvider.getIdeResolveFiles());
- providerBuilder.ideCompileFilesBuilder().addTransitive(depProvider.getIdeCompileFiles());
}
-
return new DependenciesResult(
dependencies,
runtimeDepsBuilder.build(),
@@ -318,7 +323,6 @@ public class AndroidStudioInfoAspect extends NativeAspectClass implements Config
providerBuilder.ideInfoFilesBuilder().add(ideInfoFile);
providerBuilder.ideInfoTextFilesBuilder().add(ideInfoTextFile);
NestedSetBuilder<Artifact> ideResolveArtifacts = providerBuilder.ideResolveFilesBuilder();
- NestedSetBuilder<Artifact> ideCompileArtifacts = providerBuilder.ideCompileFilesBuilder();
RuleIdeInfo.Builder outputBuilder = RuleIdeInfo.newBuilder();
@@ -345,8 +349,8 @@ public class AndroidStudioInfoAspect extends NativeAspectClass implements Config
if (isCppRule(base)) {
CppCompilationContext cppCompilationContext = base.getProvider(CppCompilationContext.class);
if (cppCompilationContext != null) {
- CRuleIdeInfo cRuleIdeInfo = makeCRuleIdeInfo(base, ruleContext,
- cppCompilationContext, ideResolveArtifacts, ideCompileArtifacts);
+ CRuleIdeInfo cRuleIdeInfo = makeCRuleIdeInfo(base, ruleContext, cppCompilationContext,
+ ideResolveArtifacts);
outputBuilder.setCRuleIdeInfo(cRuleIdeInfo);
}
}
@@ -679,8 +683,7 @@ public class AndroidStudioInfoAspect extends NativeAspectClass implements Config
ConfiguredTarget base,
RuleContext ruleContext,
CppCompilationContext cppCompilationContext,
- NestedSetBuilder<Artifact> ideResolveArtifacts,
- NestedSetBuilder<Artifact> ideCompileArtifacts) {
+ NestedSetBuilder<Artifact> ideResolveArtifacts) {
CRuleIdeInfo.Builder builder = CRuleIdeInfo.newBuilder();
Collection<Artifact> sourceFiles = getSources(ruleContext);
@@ -715,14 +718,6 @@ public class AndroidStudioInfoAspect extends NativeAspectClass implements Config
builder.addTransitiveSystemIncludeDirectory(pathFragment.getSafePathString());
}
- // Add libs to ide-compile
- CcLinkParamsProvider ccLinkParams = base.getProvider(CcLinkParamsProvider.class);
- if (ccLinkParams != null) {
- for (LinkerInput lib : ccLinkParams.getCcLinkParams(true, false).getLibraries()) {
- ideCompileArtifacts.add(lib.getArtifact());
- }
- }
-
androidStudioInfoSemantics.augmentCppRuleInfo(
builder, base, ruleContext, cppCompilationContext, ideResolveArtifacts);
diff --git a/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoFilesProvider.java b/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoFilesProvider.java
index 04af6749a6..8f57d965d9 100644
--- a/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoFilesProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoFilesProvider.java
@@ -29,7 +29,6 @@ public final class AndroidStudioInfoFilesProvider implements TransitiveInfoProvi
private final NestedSet<Artifact> ideInfoFiles;
private final NestedSet<Artifact> ideInfoTextFiles;
private final NestedSet<Artifact> ideResolveFiles;
- private final NestedSet<Artifact> ideCompileFiles;
private final NestedSet<Label> exportedDeps;
/**
@@ -39,14 +38,12 @@ public final class AndroidStudioInfoFilesProvider implements TransitiveInfoProvi
private final NestedSetBuilder<Artifact> ideInfoFilesBuilder;
private final NestedSetBuilder<Artifact> ideInfoTextFilesBuilder;
private final NestedSetBuilder<Artifact> ideResolveFilesBuilder;
- private final NestedSetBuilder<Artifact> ideCompileFilesBuilder;
private NestedSetBuilder<Label> exportedDepsBuilder;
public Builder() {
ideInfoFilesBuilder = NestedSetBuilder.stableOrder();
ideInfoTextFilesBuilder = NestedSetBuilder.stableOrder();
ideResolveFilesBuilder = NestedSetBuilder.stableOrder();
- ideCompileFilesBuilder = NestedSetBuilder.stableOrder();
exportedDepsBuilder = NestedSetBuilder.stableOrder();
}
@@ -62,10 +59,6 @@ public final class AndroidStudioInfoFilesProvider implements TransitiveInfoProvi
return ideResolveFilesBuilder;
}
- public NestedSetBuilder<Artifact> ideCompileFilesBuilder() {
- return ideCompileFilesBuilder;
- }
-
public NestedSetBuilder<Label> exportedDepsBuilder() {
return exportedDepsBuilder;
}
@@ -75,7 +68,6 @@ public final class AndroidStudioInfoFilesProvider implements TransitiveInfoProvi
ideInfoFilesBuilder.build(),
ideInfoTextFilesBuilder.build(),
ideResolveFilesBuilder.build(),
- ideCompileFilesBuilder.build(),
exportedDepsBuilder.build()
);
}
@@ -85,12 +77,10 @@ public final class AndroidStudioInfoFilesProvider implements TransitiveInfoProvi
NestedSet<Artifact> ideInfoFiles,
NestedSet<Artifact> ideInfoTextFiles,
NestedSet<Artifact> ideResolveFiles,
- NestedSet<Artifact> ideCompileFiles,
NestedSet<Label> exportedDeps) {
this.ideInfoFiles = ideInfoFiles;
this.ideInfoTextFiles = ideInfoTextFiles;
this.ideResolveFiles = ideResolveFiles;
- this.ideCompileFiles = ideCompileFiles;
this.exportedDeps = exportedDeps;
}
@@ -106,10 +96,6 @@ public final class AndroidStudioInfoFilesProvider implements TransitiveInfoProvi
return ideResolveFiles;
}
- public NestedSet<Artifact> getIdeCompileFiles() {
- return ideCompileFiles;
- }
-
public NestedSet<Label> getExportedDeps() {
return exportedDeps;
}