diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdk.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdk.java | 52 |
1 files changed, 2 insertions, 50 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdk.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdk.java index ca9d8460f0..dc7164fb87 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdk.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdk.java @@ -15,7 +15,6 @@ package com.google.devtools.build.lib.rules.android; import com.android.repository.Revision; import com.google.common.base.Strings; -import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.analysis.ConfiguredTarget; import com.google.devtools.build.lib.analysis.FilesToRunProvider; @@ -24,16 +23,12 @@ import com.google.devtools.build.lib.analysis.RuleConfiguredTargetBuilder; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.RunfilesProvider; import com.google.devtools.build.lib.analysis.TransitiveInfoCollection; -import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.Order; import com.google.devtools.build.lib.packages.AggregatingAttributeMapper; import com.google.devtools.build.lib.rules.RuleConfiguredTargetFactory; -import com.google.devtools.build.lib.rules.java.JavaCompilationHelper; import com.google.devtools.build.lib.rules.java.JavaConfiguration; -import com.google.devtools.build.lib.rules.java.JavaToolchainProvider; import com.google.devtools.build.lib.syntax.Type; -import java.util.Collection; /** * Implementation of the {@code android_sdk} rule. @@ -74,8 +69,6 @@ public class AndroidSdk implements RuleConfiguredTargetFactory { FilesToRunProvider mainDexListCreator = ruleContext.getExecutablePrerequisite( "main_dex_list_creator", Mode.HOST); FilesToRunProvider zipalign = ruleContext.getExecutablePrerequisite("zipalign", Mode.HOST); - FilesToRunProvider jack = ruleContext.getExecutablePrerequisite("jack", Mode.HOST); - FilesToRunProvider jill = ruleContext.getExecutablePrerequisite("jill", Mode.HOST); FilesToRunProvider resourceExtractor = ruleContext.getExecutablePrerequisite("resource_extractor", Mode.HOST); Artifact frameworkAidl = ruleContext.getPrerequisiteArtifact("framework_aidl", Mode.HOST); @@ -83,20 +76,6 @@ public class AndroidSdk implements RuleConfiguredTargetFactory { Artifact androidJar = ruleContext.getPrerequisiteArtifact("android_jar", Mode.HOST); Artifact shrinkedAndroidJar = ruleContext.getPrerequisiteArtifact("shrinked_android_jar", Mode.HOST); - // Because all Jack actions using this android_sdk will need Jack versions of the Android and - // Java classpaths, pre-translate the jars for Android and Java targets here. (They will only - // be run if needed, as usual for Bazel.) - NestedSet<Artifact> androidBaseClasspathForJack = - convertClasspathJarsToJack( - ruleContext, jack, jill, resourceExtractor, ImmutableList.of(androidJar)); - NestedSet<Artifact> javaBaseClasspathForJack = - convertClasspathJarsToJack( - ruleContext, - jack, - jill, - resourceExtractor, - JavaCompilationHelper.getBootClasspath( - JavaToolchainProvider.fromRuleContext(ruleContext))); Artifact annotationsJar = ruleContext.getPrerequisiteArtifact("annotations_jar", Mode.HOST); Artifact mainDexClasses = ruleContext.getPrerequisiteArtifact("main_dex_classes", Mode.HOST); @@ -105,7 +84,7 @@ public class AndroidSdk implements RuleConfiguredTargetFactory { } return new RuleConfiguredTargetBuilder(ruleContext) - .add( + .addProvider( AndroidSdkProvider.class, AndroidSdkProvider.create( buildToolsVersion, @@ -114,8 +93,6 @@ public class AndroidSdk implements RuleConfiguredTargetFactory { aidlLib, androidJar, shrinkedAndroidJar, - androidBaseClasspathForJack, - javaBaseClasspathForJack, annotationsJar, mainDexClasses, adb, @@ -127,34 +104,9 @@ public class AndroidSdk implements RuleConfiguredTargetFactory { apkSigner, proguard, zipalign, - jack, - jill, resourceExtractor)) - .add(RunfilesProvider.class, RunfilesProvider.EMPTY) + .addProvider(RunfilesProvider.class, RunfilesProvider.EMPTY) .setFilesToBuild(NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER)) .build(); } - - private NestedSet<Artifact> convertClasspathJarsToJack( - RuleContext ruleContext, - FilesToRunProvider jack, - FilesToRunProvider jill, - FilesToRunProvider resourceExtractor, - Collection<Artifact> jars) { - return new JackCompilationHelper.Builder() - // bazel infrastructure - .setRuleContext(ruleContext) - // configuration - .setTolerant() - // tools - .setJackBinary(jack) - .setJillBinary(jill) - .setResourceExtractorBinary(resourceExtractor) - .setJackBaseClasspath(NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER)) - // sources - .addCompiledJars(jars) - .build() - .compileAsLibrary() - .getTransitiveJackClasspathLibraries(); - } } |