diff options
| author | mikaelpeltier <mikaelpeltier@google.com> | 2015-04-29 10:20:25 +0000 |
|---|---|---|
| committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-04-29 10:20:26 +0000 |
| commit | 4f2c58382277f0382e19963642edca9f1bd7a373 (patch) | |
| tree | eb86f372701b773a7581e82e13bc97170a6c21dc /jack | |
| parent | f45c8cd2149bc5f124bfab6953b7db22d619b47c (diff) | |
| parent | 3c94d5c0ee85508ddc39f9ef6d362fa2b842c37f (diff) | |
| download | toolchain_jack-4f2c58382277f0382e19963642edca9f1bd7a373.tar.gz toolchain_jack-4f2c58382277f0382e19963642edca9f1bd7a373.tar.bz2 toolchain_jack-4f2c58382277f0382e19963642edca9f1bd7a373.zip | |
Merge "Jayce and dex files must be put into output library" into ub-jack
Diffstat (limited to 'jack')
| -rw-r--r-- | jack/src/com/android/jack/Jack.java | 29 | ||||
| -rw-r--r-- | jack/src/com/android/jack/incremental/GenerateLibraryFromIncrementalFolder.java | 27 |
2 files changed, 43 insertions, 13 deletions
diff --git a/jack/src/com/android/jack/Jack.java b/jack/src/com/android/jack/Jack.java index b25fc4cc..f6018c41 100644 --- a/jack/src/com/android/jack/Jack.java +++ b/jack/src/com/android/jack/Jack.java @@ -69,6 +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.GenerateLibraryFromIncrementalFolder; import com.android.jack.incremental.Incremental; import com.android.jack.ir.JackFormatIr; import com.android.jack.ir.JavaSourceIr; @@ -518,6 +519,9 @@ public abstract class Jack { 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()); request.addInitialTagsOrMarkers(getJackFormatInitialTagSet()); @@ -867,7 +871,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(); @@ -1012,13 +1015,13 @@ 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 { + // Jayce files must be copied into output library in incremental library mode or in non + // incremental mode + if (features.contains(GenerateLibraryFromIncrementalFolder.class) + || !features.contains(Incremental.class)) { typePlan = planBuilder.appendSubPlan(JDefinedClassOrInterfaceAdapter.class); + } else { + typePlan = planBuilder.appendSubPlan(ExcludeTypeFromLibWithBinaryAdapter.class); } if (productions.contains(JayceInLibraryProduct.class)) { typePlan.append(JayceInLibraryWriter.class); @@ -1167,13 +1170,13 @@ 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 { + // Jayce files must be copied into output library in incremental library mode or in non + // incremental mode + if (features.contains(GenerateLibraryFromIncrementalFolder.class) + || !features.contains(Incremental.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/GenerateLibraryFromIncrementalFolder.java b/jack/src/com/android/jack/incremental/GenerateLibraryFromIncrementalFolder.java new file mode 100644 index 00000000..276c77a6 --- /dev/null +++ b/jack/src/com/android/jack/incremental/GenerateLibraryFromIncrementalFolder.java @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.jack.incremental; + +import com.android.sched.item.Description; +import com.android.sched.item.Feature; + +/** + * A {@link Feature} specifying that a library is generated with incremental support. + */ +@Description("Generate library with incremental support") +public class GenerateLibraryFromIncrementalFolder implements Feature { +} |
