diff options
author | Benoit Lamarche <benoitlamarche@google.com> | 2015-04-10 12:43:43 +0200 |
---|---|---|
committer | Benoit Lamarche <benoitlamarche@google.com> | 2015-04-28 11:20:18 +0200 |
commit | c686beadd52f2bc7c218bcfb88153e2a2cbd20e4 (patch) | |
tree | 5c734410137ddf8a41382b04262593b9b3776ce9 /jack | |
parent | 0052bd19d1ba42d883f3999cb7518d32979a7964 (diff) | |
download | toolchain_jack-c686beadd52f2bc7c218bcfb88153e2a2cbd20e4.zip toolchain_jack-c686beadd52f2bc7c218bcfb88153e2a2cbd20e4.tar.gz toolchain_jack-c686beadd52f2bc7c218bcfb88153e2a2cbd20e4.tar.bz2 |
Rework ReadWriteZipFS to support incremental library
Change-Id: Id0fbc89e68ac3166447024ab9f2c040e02447e56
Diffstat (limited to 'jack')
-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 |
3 files changed, 17 insertions, 22 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())); } } |