diff options
author | Googler <noreply@google.com> | 2016-10-11 18:09:06 +0000 |
---|---|---|
committer | Yue Gan <yueg@google.com> | 2016-10-12 08:56:00 +0000 |
commit | 1750a3f4ff7f8b6d0cb8ccf62dbed9e3bcf4b932 (patch) | |
tree | f6847f40ec5383a2d9cc853f0bc7e53212f6f67a /src/main/java/com/google/devtools/build | |
parent | e51a4d2793de5de37190192851556b9a2554b2cb (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.java | 31 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoFilesProvider.java | 14 |
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; } |