summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormikaelpeltier <mikaelpeltier@google.com>2015-04-09 17:40:03 +0200
committermikaelpeltier <mikaelpeltier@google.com>2015-04-28 18:19:52 +0200
commit91d534e5f57184d84fc4c24b8d131a83046c9798 (patch)
tree04c166f4353b2682325d4065d64221a0c3b700dc
parentf03842a985338e6a874e20a0e7f2b95257c09116 (diff)
downloadtoolchain_jack-91d534e5f57184d84fc4c24b8d131a83046c9798.tar.gz
toolchain_jack-91d534e5f57184d84fc4c24b8d131a83046c9798.tar.bz2
toolchain_jack-91d534e5f57184d84fc4c24b8d131a83046c9798.zip
Jayce and dex files must be put into output library
- When generating a library in incremental mode, Jayce and dex files must be generate into the output library that represent the incremental state. If output library is not generated, it is not required to put Jayce and dex files into the incremental state since Jack merger will take pre-dex directly from the libraries. Bug: 20063218 Change-Id: Ia7170257a997a860b39d5f9a14ee32579c123645
-rw-r--r--jack/src/com/android/jack/Jack.java23
-rw-r--r--jack/src/com/android/jack/incremental/GenerateLibraryFromIncrementalFolder.java (renamed from jack/src/com/android/jack/incremental/Incremental.java)6
2 files changed, 12 insertions, 17 deletions
diff --git a/jack/src/com/android/jack/Jack.java b/jack/src/com/android/jack/Jack.java
index b25fc4cc..7f4fd581 100644
--- a/jack/src/com/android/jack/Jack.java
+++ b/jack/src/com/android/jack/Jack.java
@@ -69,7 +69,7 @@ import com.android.jack.frontend.VirtualMethodsMarker;
import com.android.jack.frontend.java.JackBatchCompiler;
import com.android.jack.frontend.java.JackBatchCompiler.TransportExceptionAroundEcjError;
import com.android.jack.frontend.java.JackBatchCompiler.TransportJUEAroundEcjError;
-import com.android.jack.incremental.Incremental;
+import com.android.jack.incremental.GenerateLibraryFromIncrementalFolder;
import com.android.jack.ir.JackFormatIr;
import com.android.jack.ir.JavaSourceIr;
import com.android.jack.ir.ast.JClass;
@@ -515,8 +515,8 @@ public abstract class Jack {
if (config.get(MultiDexLegacy.MULTIDEX_LEGACY).booleanValue()) {
request.addFeature(MultiDexLegacy.class);
}
- if (config.get(Options.INCREMENTAL_MODE).booleanValue()) {
- request.addFeature(Incremental.class);
+ if (config.get(Options.GENERATE_LIBRARY_FROM_INCREMENTAL_FOLDER).booleanValue()) {
+ request.addFeature(GenerateLibraryFromIncrementalFolder.class);
}
request.addInitialTagsOrMarkers(getJavaSourceInitialTagSet());
@@ -867,7 +867,6 @@ public abstract class Jack {
FeatureSet features = planBuilder.getRequest().getFeatures();
ProductionSet productions = planBuilder.getRequest().getTargetProductions();
boolean hasSanityChecks = features.contains(SanityChecks.class);
- Config config = ThreadConfig.getConfig();
// TODO(jack-team): Remove this hack
boolean preDexing = !getSession().getImportedLibraries().isEmpty();
@@ -1013,12 +1012,10 @@ public abstract class Jack {
{
SubPlanBuilder<JDefinedClassOrInterface> typePlan;
// In incremental library mode, Jayce files must be copied into output library
- if (features.contains(Incremental.class)
- && ((!config.get(Options.GENERATE_JACK_LIBRARY).booleanValue())
- || config.get(Options.LIBRARY_OUTPUT_CONTAINER_TYPE) != Container.ZIP)) {
- typePlan = planBuilder.appendSubPlan(ExcludeTypeFromLibWithBinaryAdapter.class);
- } else {
+ if (features.contains(GenerateLibraryFromIncrementalFolder.class)) {
typePlan = planBuilder.appendSubPlan(JDefinedClassOrInterfaceAdapter.class);
+ } else {
+ typePlan = planBuilder.appendSubPlan(ExcludeTypeFromLibWithBinaryAdapter.class);
}
if (productions.contains(JayceInLibraryProduct.class)) {
typePlan.append(JayceInLibraryWriter.class);
@@ -1168,12 +1165,10 @@ public abstract class Jack {
{
SubPlanBuilder<JDefinedClassOrInterface> typePlan;
// In incremental library mode, dex files must be copied into output library
- if (features.contains(Incremental.class)
- && ((!config.get(Options.GENERATE_JACK_LIBRARY).booleanValue())
- || config.get(Options.LIBRARY_OUTPUT_CONTAINER_TYPE) != Container.ZIP)) {
- typePlan = planBuilder.appendSubPlan(ExcludeTypeFromLibWithBinaryAdapter.class);
- } else {
+ if (features.contains(GenerateLibraryFromIncrementalFolder.class)) {
typePlan = planBuilder.appendSubPlan(JDefinedClassOrInterfaceAdapter.class);
+ } else {
+ typePlan = planBuilder.appendSubPlan(ExcludeTypeFromLibWithBinaryAdapter.class);
}
if (productions.contains(DexInLibraryProduct.class)) {
typePlan.append(DexInLibraryWriter.class);
diff --git a/jack/src/com/android/jack/incremental/Incremental.java b/jack/src/com/android/jack/incremental/GenerateLibraryFromIncrementalFolder.java
index cc791a2b..276c77a6 100644
--- a/jack/src/com/android/jack/incremental/Incremental.java
+++ b/jack/src/com/android/jack/incremental/GenerateLibraryFromIncrementalFolder.java
@@ -20,8 +20,8 @@ import com.android.sched.item.Description;
import com.android.sched.item.Feature;
/**
- * A {@link Feature} that represents incremental support.
+ * A {@link Feature} specifying that a library is generated with incremental support.
*/
-@Description("Incremental support")
-public class Incremental implements Feature {
+@Description("Generate library with incremental support")
+public class GenerateLibraryFromIncrementalFolder implements Feature {
}