diff options
author | mikaelpeltier <mikaelpeltier@google.com> | 2015-04-09 17:40:03 +0200 |
---|---|---|
committer | mikaelpeltier <mikaelpeltier@google.com> | 2015-04-28 18:19:52 +0200 |
commit | 91d534e5f57184d84fc4c24b8d131a83046c9798 (patch) | |
tree | 04c166f4353b2682325d4065d64221a0c3b700dc | |
parent | f03842a985338e6a874e20a0e7f2b95257c09116 (diff) | |
download | toolchain_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.java | 23 | ||||
-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 { } |