diff options
author | 2015-10-21 16:49:41 +0000 | |
---|---|---|
committer | 2015-10-22 15:14:21 +0000 | |
commit | 86ea967e3449e354f32484d1fbaebb169a4e7b03 (patch) | |
tree | 0fef67044573495ea7e3aff28db3529069d8d4ec | |
parent | 0b97b91ab4afb101fa2d54f1f7ca5d56b5ff026e (diff) |
Remove transitive data from Android Studio aspect.
The cost-benefit isn't there to pay a square cost to roll these up on
the blaze side. Android Studio has to do it on its end instead.
--
MOS_MIGRATED_REVID=105971068
4 files changed, 5 insertions, 106 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 ee6e12a279..0da356094a 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 @@ -155,10 +155,6 @@ public class AndroidStudioInfoAspect implements ConfiguredAspectFactory { providerBuilder.ideInfoFilesBuilder().addTransitive(depProvider.getIdeInfoFiles()); providerBuilder.ideInfoTextFilesBuilder().addTransitive(depProvider.getIdeInfoTextFiles()); providerBuilder.ideResolveFilesBuilder().addTransitive(depProvider.getIdeResolveFiles()); - providerBuilder.transitiveDependenciesBuilder().addTransitive( - depProvider.getTransitiveDependencies()); - providerBuilder.transitiveResourcesBuilder().addTransitive( - depProvider.getTransitiveResources()); } for (TransitiveInfoCollection dep : prerequisites) { dependenciesBuilder.add(dep.getLabel()); @@ -182,9 +178,7 @@ public class AndroidStudioInfoAspect implements ConfiguredAspectFactory { } } - NestedSet<Label> directDependencies = dependenciesBuilder.build(); - providerBuilder.transitiveDependenciesBuilder().addTransitive(directDependencies); - return directDependencies; + return dependenciesBuilder.build(); } private static AndroidSdkRuleInfo makeAndroidSdkRuleInfo(AndroidSdkProvider provider) { @@ -238,7 +232,7 @@ public class AndroidStudioInfoAspect implements ConfiguredAspectFactory { || ruleKind == Kind.ANDROID_BINARY || ruleKind == Kind.ANDROID_TEST) { outputBuilder.setAndroidRuleIdeInfo( - makeAndroidRuleIdeInfo(ruleContext, base, ideResolveArtifacts, providerBuilder)); + makeAndroidRuleIdeInfo(ruleContext, base, ideResolveArtifacts)); } if (ruleKind == Kind.ANDROID_SDK) { outputBuilder.setAndroidSdkRuleInfo( @@ -248,8 +242,6 @@ public class AndroidStudioInfoAspect implements ConfiguredAspectFactory { AndroidStudioInfoFilesProvider provider = providerBuilder.build(); outputBuilder.addAllDependencies(transform(directDependencies, LABEL_TO_STRING)); - outputBuilder.addAllTransitiveDependencies( - transform(provider.getTransitiveDependencies(), LABEL_TO_STRING)); outputBuilder.addAllTags(base.getTarget().getAssociatedRule().getRuleTags()); @@ -278,8 +270,7 @@ public class AndroidStudioInfoAspect implements ConfiguredAspectFactory { private static AndroidRuleIdeInfo makeAndroidRuleIdeInfo( RuleContext ruleContext, ConfiguredTarget base, - NestedSetBuilder<Artifact> ideResolveArtifacts, - AndroidStudioInfoFilesProvider.Builder providerBuilder) { + NestedSetBuilder<Artifact> ideResolveArtifacts) { AndroidRuleIdeInfo.Builder builder = AndroidRuleIdeInfo.newBuilder(); AndroidIdeInfoProvider provider = base.getProvider(AndroidIdeInfoProvider.class); assert provider != null; @@ -302,16 +293,10 @@ public class AndroidStudioInfoAspect implements ConfiguredAspectFactory { for (SourceDirectory resourceDir : provider.getResourceDirs()) { ArtifactLocation artifactLocation = makeArtifactLocation(resourceDir); builder.addResources(artifactLocation); - providerBuilder.transitiveResourcesBuilder().add(resourceDir); } builder.setJavaPackage(AndroidCommon.getJavaPackage(ruleContext)); - NestedSet<SourceDirectory> transitiveResources = providerBuilder.getTransitiveResources(); - for (SourceDirectory transitiveResource : transitiveResources) { - builder.addTransitiveResources(makeArtifactLocation(transitiveResource)); - } - boolean hasIdlSources = !provider.getIdlSrcs().isEmpty(); builder.setHasIdlSources(hasIdlSources); if (hasIdlSources) { 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 f7e5ce6cc0..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 @@ -20,8 +20,6 @@ import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; -import com.google.devtools.build.lib.rules.android.AndroidIdeInfoProvider; -import com.google.devtools.build.lib.rules.android.AndroidIdeInfoProvider.SourceDirectory; /** * File provider for Android Studio ide build files. @@ -31,9 +29,7 @@ public final class AndroidStudioInfoFilesProvider implements TransitiveInfoProvi private final NestedSet<Artifact> ideInfoFiles; private final NestedSet<Artifact> ideInfoTextFiles; private final NestedSet<Artifact> ideResolveFiles; - private final NestedSet<Label> transitiveDependencies; private final NestedSet<Label> exportedDeps; - private final NestedSet<AndroidIdeInfoProvider.SourceDirectory> transitiveResources; /** * Builder class for {@link AndroidStudioInfoFilesProvider} @@ -42,19 +38,13 @@ public final class AndroidStudioInfoFilesProvider implements TransitiveInfoProvi private final NestedSetBuilder<Artifact> ideInfoFilesBuilder; private final NestedSetBuilder<Artifact> ideInfoTextFilesBuilder; private final NestedSetBuilder<Artifact> ideResolveFilesBuilder; - private final NestedSetBuilder<Label> transitiveDependenciesBuilder; private NestedSetBuilder<Label> exportedDepsBuilder; - private NestedSetBuilder<AndroidIdeInfoProvider.SourceDirectory> transitiveResourcesBuilder; - private NestedSet<AndroidIdeInfoProvider.SourceDirectory> transitiveResources; public Builder() { ideInfoFilesBuilder = NestedSetBuilder.stableOrder(); ideInfoTextFilesBuilder = NestedSetBuilder.stableOrder(); ideResolveFilesBuilder = NestedSetBuilder.stableOrder(); - transitiveDependenciesBuilder = NestedSetBuilder.stableOrder(); exportedDepsBuilder = NestedSetBuilder.stableOrder(); - transitiveResourcesBuilder = NestedSetBuilder.stableOrder(); - transitiveResources = null; } public NestedSetBuilder<Artifact> ideInfoFilesBuilder() { @@ -69,39 +59,16 @@ public final class AndroidStudioInfoFilesProvider implements TransitiveInfoProvi return ideResolveFilesBuilder; } - public NestedSetBuilder<Label> transitiveDependenciesBuilder() { - return transitiveDependenciesBuilder; - } - public NestedSetBuilder<Label> exportedDepsBuilder() { return exportedDepsBuilder; } - public NestedSetBuilder<SourceDirectory> transitiveResourcesBuilder() { - return transitiveResourcesBuilder; - } - - /** - * Returns a set of transitive resources. {@link Builder#transitiveResourcesBuilder} - * is unusable after this operation. - */ - public NestedSet<AndroidIdeInfoProvider.SourceDirectory> getTransitiveResources() { - if (transitiveResources != null) { - return transitiveResources; - } - transitiveResources = transitiveResourcesBuilder.build(); - transitiveResourcesBuilder = null; - return transitiveResources; - } - public AndroidStudioInfoFilesProvider build() { return new AndroidStudioInfoFilesProvider( ideInfoFilesBuilder.build(), ideInfoTextFilesBuilder.build(), ideResolveFilesBuilder.build(), - transitiveDependenciesBuilder.build(), - exportedDepsBuilder.build(), - getTransitiveResources() + exportedDepsBuilder.build() ); } } @@ -110,15 +77,11 @@ public final class AndroidStudioInfoFilesProvider implements TransitiveInfoProvi NestedSet<Artifact> ideInfoFiles, NestedSet<Artifact> ideInfoTextFiles, NestedSet<Artifact> ideResolveFiles, - NestedSet<Label> transitiveDependencies, - NestedSet<Label> exportedDeps, - NestedSet<SourceDirectory> transitiveResources) { + NestedSet<Label> exportedDeps) { this.ideInfoFiles = ideInfoFiles; this.ideInfoTextFiles = ideInfoTextFiles; this.ideResolveFiles = ideResolveFiles; - this.transitiveDependencies = transitiveDependencies; this.exportedDeps = exportedDeps; - this.transitiveResources = transitiveResources; } public NestedSet<Artifact> getIdeInfoFiles() { @@ -133,15 +96,7 @@ public final class AndroidStudioInfoFilesProvider implements TransitiveInfoProvi return ideResolveFiles; } - public NestedSet<Label> getTransitiveDependencies() { - return transitiveDependencies; - } - public NestedSet<Label> getExportedDeps() { return exportedDeps; } - - public NestedSet<SourceDirectory> getTransitiveResources() { - return transitiveResources; - } } diff --git a/src/main/protobuf/android_studio_ide_info.proto b/src/main/protobuf/android_studio_ide_info.proto index 64b99c006e..01ac27d91e 100644 --- a/src/main/protobuf/android_studio_ide_info.proto +++ b/src/main/protobuf/android_studio_ide_info.proto @@ -40,7 +40,6 @@ message JavaRuleIdeInfo { message AndroidRuleIdeInfo { repeated ArtifactLocation resources = 1; - repeated ArtifactLocation transitive_resources = 2; ArtifactLocation apk = 3; repeated ArtifactLocation dependency_apk = 4; ArtifactLocation manifest= 5; @@ -71,7 +70,6 @@ message RuleIdeInfo { Kind kind = 2; string build_file = 3; repeated string dependencies = 4; - repeated string transitive_dependencies = 5; // kind is ANDROID_SDK AndroidSdkRuleInfo android_sdk_rule_info = 6; diff --git a/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java b/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java index 053d866376..3b67a07faf 100644 --- a/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java +++ b/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java @@ -82,9 +82,6 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase .containsExactly("com/google/example/complex/Complex.java"); assertThat(complexRuleIdeInfo.getDependenciesList()) .containsExactly("//com/google/example:simple"); - - assertThat(complexRuleIdeInfo.getTransitiveDependenciesList()) - .containsExactly("//com/google/example:simple"); } public void testJavaLibraryWithTransitiveDependencies() throws Exception { @@ -118,9 +115,6 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase assertThat(extraComplexRuleIdeInfo.getDependenciesList()) .containsExactly("//com/google/example:complex"); - assertThat(extraComplexRuleIdeInfo.getTransitiveDependenciesList()) - .containsExactly("//com/google/example:simple", "//com/google/example:complex") - .inOrder(); assertThat(getIdeResolveFiles()).containsExactly( "com/google/example/libextracomplex.jar", "com/google/example/libextracomplex-ijar.jar", @@ -170,13 +164,6 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase .containsExactly("com/google/example/extracomplex/ExtraComplex.java"); assertThat(extraComplexRuleIdeInfo.getDependenciesList()) .containsExactly("//com/google/example:complex", "//com/google/example:complex1"); - - assertThat(extraComplexRuleIdeInfo.getTransitiveDependenciesList()) - .containsExactly( - "//com/google/example:simple", - "//com/google/example:complex", - "//com/google/example:complex1") - .inOrder(); } public void testJavaLibraryWithExports() throws Exception { @@ -209,17 +196,10 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase assertThat(complexRuleIdeInfo.getDependenciesList()) .containsExactly("//com/google/example:simple"); - assertThat(complexRuleIdeInfo.getTransitiveDependenciesList()) - .containsExactly("//com/google/example:simple"); assertThat(extraComplexRuleIdeInfo.getDependenciesList()) .containsExactly("//com/google/example:simple", "//com/google/example:complex") .inOrder(); - assertThat(extraComplexRuleIdeInfo.getTransitiveDependenciesList()) - .containsExactly( - "//com/google/example:simple", - "//com/google/example:complex") - .inOrder(); assertThat(getIdeResolveFiles()).containsExactly( "com/google/example/libextracomplex.jar", "com/google/example/libextracomplex-ijar.jar", @@ -274,13 +254,6 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase "//com/google/example:complex", "//com/google/example:extracomplex") .inOrder(); - - assertThat(megaComplexRuleIdeInfo.getTransitiveDependenciesList()) - .containsExactly( - "//com/google/example:simple", - "//com/google/example:complex", - "//com/google/example:extracomplex") - .inOrder(); } public void testJavaImport() throws Exception { @@ -490,12 +463,6 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase assertThat(ruleInfo.getAndroidRuleIdeInfo().getJavaPackage()).isEqualTo("com.google.example"); assertThat(ruleInfo.getDependenciesList()).containsExactly("//com/google/example:l1"); - assertThat( - transform( - ruleInfo.getAndroidRuleIdeInfo().getTransitiveResourcesList(), - ARTIFACT_TO_RELATIVE_PATH)) - .containsExactly("com/google/example/r1", "com/google/example/res") - .inOrder(); assertThat(getIdeResolveFiles()).containsExactly( "com/google/example/libl.jar", "com/google/example/libl-ijar.jar", @@ -541,12 +508,6 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase .isEqualTo("com/google/example/b.apk"); assertThat(ruleInfo.getDependenciesList()).containsExactly("//com/google/example:l1"); - assertThat( - transform( - ruleInfo.getAndroidRuleIdeInfo().getTransitiveResourcesList(), - ARTIFACT_TO_RELATIVE_PATH)) - .containsExactly("com/google/example/r1", "com/google/example/res") - .inOrder(); assertThat(getIdeResolveFiles()).containsExactly( "com/google/example/libb.jar", |