summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jack/src/com/android/jack/Jack.java14
-rw-r--r--jack/src/com/android/jack/Options.java6
-rw-r--r--jack/src/com/android/jack/incremental/IncrementalInputFilter.java19
-rw-r--r--sched/src/com/android/sched/vfs/ReadWriteZipFS.java4
-rw-r--r--sched/src/com/android/sched/vfs/VFSToVFSWrapper.java6
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;
+ }
}