aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdk.java
diff options
context:
space:
mode:
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.java52
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();
- }
}