diff options
-rw-r--r-- | jack/src/com/android/jack/Jack.java | 14 | ||||
-rw-r--r-- | jack/src/com/android/jack/Options.java | 6 | ||||
-rw-r--r-- | jack/src/com/android/jack/incremental/IncrementalInputFilter.java | 19 | ||||
-rw-r--r-- | sched/src/com/android/sched/vfs/ReadWriteZipFS.java | 4 | ||||
-rw-r--r-- | sched/src/com/android/sched/vfs/VFSToVFSWrapper.java | 6 |
5 files changed, 26 insertions, 23 deletions
diff --git a/jack/src/com/android/jack/Jack.java b/jack/src/com/android/jack/Jack.java index aba7be9..b25fc4c 100644 --- a/jack/src/com/android/jack/Jack.java +++ b/jack/src/com/android/jack/Jack.java @@ -265,8 +265,6 @@ import com.android.sched.util.log.LoggerFactory; import com.android.sched.util.log.Tracer; import com.android.sched.util.log.TracerFactory; import com.android.sched.vfs.Container; -import com.android.sched.vfs.VFS; -import com.android.sched.vfs.VFSToVFSWrapper; import org.antlr.runtime.RecognitionException; @@ -606,18 +604,6 @@ public abstract class Jack { && config.get(Options.DEX_OUTPUT_CONTAINER_TYPE) == Container.ZIP) { config.get(Options.DEX_OUTPUT_ZIP).close(); } - - if (config.get(Options.GENERATE_LIBRARY_FROM_INCREMENTAL_FOLDER).booleanValue()) { - VFS incrementalFolder = config.get(Options.LIBRARY_OUTPUT_DIR); - Event timeToZip = - TracerFactory.getTracer().start(JackEventType.ZIP_JACK_LIBRARY_IN_INCREMENTAL); - try { - new VFSToVFSWrapper(incrementalFolder, config.get(Options.LIBRARY_OUTPUT_ZIP)) - .close(); - } finally { - timeToZip.end(); - } - } } catch (LibraryIOException e) { throw new AssertionError(e); } catch (IOException e) { diff --git a/jack/src/com/android/jack/Options.java b/jack/src/com/android/jack/Options.java index 5e8fb7e..78005d2 100644 --- a/jack/src/com/android/jack/Options.java +++ b/jack/src/com/android/jack/Options.java @@ -840,13 +840,13 @@ public class Options { if (incrementalFolder != null) { if (multiDexKind == MultiDexKind.LEGACY) { LoggerFactory.getLogger().log(Level.WARNING, - "Incremental mode is disable due to multi-dex legacy mode"); + "Incremental mode is disabled due to multi-dex legacy mode"); } else if (flags != null) { LoggerFactory.getLogger().log(Level.WARNING, - "Incremental mode is disable due to usage of shrink or obfuscation"); + "Incremental mode is disabled due to usage of shrinking or obfuscation"); } else if (jarjarRulesFile != null) { LoggerFactory.getLogger().log(Level.WARNING, - "Incremental mode is disable due to usage of jarjar"); + "Incremental mode is disabled due to usage of jarjar"); } else { configBuilder.set(Options.INCREMENTAL_MODE, true); configBuilder.setString(Options.INPUT_FILTER, "incremental"); diff --git a/jack/src/com/android/jack/incremental/IncrementalInputFilter.java b/jack/src/com/android/jack/incremental/IncrementalInputFilter.java index 5d5a3d2..f925926 100644 --- a/jack/src/com/android/jack/incremental/IncrementalInputFilter.java +++ b/jack/src/com/android/jack/incremental/IncrementalInputFilter.java @@ -53,6 +53,7 @@ import com.android.sched.util.log.stats.Counter; import com.android.sched.util.log.stats.CounterImpl; import com.android.sched.util.log.stats.StatisticId; import com.android.sched.vfs.InputVFile; +import com.android.sched.vfs.ReadWriteZipFS; import com.android.sched.vfs.VFS; import com.android.sched.vfs.VPath; @@ -467,11 +468,19 @@ public class IncrementalInputFilter extends CommonFilter implements InputFilter @Override @Nonnull public OutputJackLibrary getOutputJackLibrary() { - if (incrementalInputLibrary == null) { - return getOutputJackLibraryFromVfs(); + if (ThreadConfig.get(Options.GENERATE_LIBRARY_FROM_INCREMENTAL_FOLDER).booleanValue()) { + VFS dirVFS = ThreadConfig.get(Options.LIBRARY_OUTPUT_DIR); + ReadWriteZipFS zipVFS = (ReadWriteZipFS) ThreadConfig.get(Options.LIBRARY_OUTPUT_ZIP); + zipVFS.setWorkVFS(dirVFS); + return JackLibraryFactory.getOutputLibrary(zipVFS, Jack.getEmitterId(), + Jack.getVersion().getVerboseVersion()); + } else { + if (incrementalInputLibrary == null) { + return getOutputJackLibraryFromVfs(); + } else { + return (JackLibraryFactory.getOutputLibrary(ThreadConfig.get(Options.LIBRARY_OUTPUT_DIR), + Jack.getEmitterId(), Jack.getVersion().getVerboseVersion())); + } } - - return (JackLibraryFactory.getOutputLibrary(ThreadConfig.get(Options.LIBRARY_OUTPUT_DIR), - Jack.getEmitterId(), Jack.getVersion().getVerboseVersion())); } } diff --git a/sched/src/com/android/sched/vfs/ReadWriteZipFS.java b/sched/src/com/android/sched/vfs/ReadWriteZipFS.java index 7664e4c..956c908 100644 --- a/sched/src/com/android/sched/vfs/ReadWriteZipFS.java +++ b/sched/src/com/android/sched/vfs/ReadWriteZipFS.java @@ -203,4 +203,8 @@ public class ReadWriteZipFS extends BaseVFS<BaseVDir, BaseVFile> implements VFS Location getVDirLocation(@Nonnull BaseVDir parent, @Nonnull VPath path) { return vfs.getVDirLocation(parent, path); } + + public void setWorkVFS(@Nonnull VFS workVFS) { + vfs.setWorkVFS(workVFS); + } } diff --git a/sched/src/com/android/sched/vfs/VFSToVFSWrapper.java b/sched/src/com/android/sched/vfs/VFSToVFSWrapper.java index 7ee1c22..322fa48 100644 --- a/sched/src/com/android/sched/vfs/VFSToVFSWrapper.java +++ b/sched/src/com/android/sched/vfs/VFSToVFSWrapper.java @@ -42,7 +42,7 @@ import javax.annotation.Nonnull; public class VFSToVFSWrapper extends BaseVFS<BaseVDir, BaseVFile> implements VFS { @Nonnull - private final BaseVFS<BaseVDir, BaseVFile> workVFS; + private BaseVFS<BaseVDir, BaseVFile> workVFS; @Nonnull private final BaseVFS<BaseVDir, BaseVFile> finalVFS; @Nonnull @@ -254,4 +254,8 @@ public class VFSToVFSWrapper extends BaseVFS<BaseVDir, BaseVFile> implements VFS return workVFS.getVDirLocation(parent, path); } + @SuppressWarnings("unchecked") + public void setWorkVFS(@Nonnull VFS temporaryVFS) { + workVFS = (BaseVFS<BaseVDir, BaseVFile>) temporaryVFS; + } } |