BinaryEmittedArtifact now forces subclasses to implement getLastModified.
Review by: spoon@google.com
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@7818 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/BinaryEmittedArtifact.java b/dev/core/src/com/google/gwt/core/ext/linker/BinaryEmittedArtifact.java
index 1828b1f..54679fb 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/BinaryEmittedArtifact.java
+++ b/dev/core/src/com/google/gwt/core/ext/linker/BinaryEmittedArtifact.java
@@ -31,4 +31,10 @@
protected BinaryEmittedArtifact(String partialPath) {
super(StandardLinkerContext.class, partialPath);
}
+
+ /**
+ * Force subclasses to define.
+ */
+ @Override
+ public abstract long getLastModified();
}
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/BinaryOnlyArtifactWrapper.java b/dev/core/src/com/google/gwt/core/ext/linker/impl/BinaryOnlyArtifactWrapper.java
index 3cf6fca..b3c868b 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/impl/BinaryOnlyArtifactWrapper.java
+++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/BinaryOnlyArtifactWrapper.java
@@ -40,4 +40,9 @@
throws UnableToCompleteException {
return underlyingArtifact.getContents(logger);
}
+
+ @Override
+ public long getLastModified() {
+ return underlyingArtifact.getLastModified();
+ }
}
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/JarEntryEmittedArtifact.java b/dev/core/src/com/google/gwt/core/ext/linker/impl/JarEntryEmittedArtifact.java
index 1c1885e..89678d2 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/impl/JarEntryEmittedArtifact.java
+++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/JarEntryEmittedArtifact.java
@@ -83,4 +83,9 @@
throw new UnableToCompleteException();
}
}
+
+ @Override
+ public long getLastModified() {
+ return entry.getTime();
+ }
}
diff --git a/dev/core/src/com/google/gwt/dev/Link.java b/dev/core/src/com/google/gwt/dev/Link.java
index cbaf113..eaa6ae4 100644
--- a/dev/core/src/com/google/gwt/dev/Link.java
+++ b/dev/core/src/com/google/gwt/dev/Link.java
@@ -154,10 +154,10 @@
module, precompileOptions);
ArtifactSet artifacts = doSimulatedShardingLink(logger, module,
linkerContext, generatedArtifacts, permutations, resultFiles);
- OutputFileSet outFileSet = new OutputFileSetOnDirectory(outDir,
- module.getName() + "/");
- OutputFileSet extraFileSet = new OutputFileSetOnDirectory(outDir,
- module.getName() + "-aux/");
+ OutputFileSet outFileSet = chooseOutputFileSet(outDir, module.getName()
+ + "/");
+ OutputFileSet extraFileSet = chooseOutputFileSet(outDir, module.getName()
+ + "-aux/");
doProduceOutput(logger, artifacts, linkerContext, outFileSet, extraFileSet);
}
@@ -216,7 +216,9 @@
} else {
jarEntryPath = "target/" + art.getPartialPath();
}
- jar.putNextEntry(new ZipEntry(jarEntryPath));
+ ZipEntry ze = new ZipEntry(jarEntryPath);
+ ze.setTime(art.getLastModified());
+ jar.putNextEntry(ze);
art.writeTo(logger, jar);
jar.closeEntry();
}