Deletes DevMode specific linker hacks. Change-Id: I4087ebc291a7f6dc219c93902f6b9429be5bf8d3 (cherry picked from commit a84cb614ed7fa22b898061a34cb8e9aef316ee1a)
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/SelectionScriptLinker.java b/dev/core/src/com/google/gwt/core/ext/linker/impl/SelectionScriptLinker.java index 1b73d49..0557d69 100644 --- a/dev/core/src/com/google/gwt/core/ext/linker/impl/SelectionScriptLinker.java +++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/SelectionScriptLinker.java
@@ -295,18 +295,7 @@ protected EmittedArtifact emitSelectionScript(TreeLogger logger, LinkerContext context, ArtifactSet artifacts) throws UnableToCompleteException { - /* - * Last modified is important to keep Development Mode refreses from - * clobbering Production Mode compiles. We set the timestamp on the - * Development Mode selection script to the same mod time as the module (to - * allow updates). For Production Mode, we just set it to now. - */ - long lastModified; - if (permutationsUtil.getPermutationsMap().isEmpty()) { - lastModified = context.getModuleLastModified(); - } else { - lastModified = System.currentTimeMillis(); - } + long lastModified = context.getModuleLastModified(); String ss = generateSelectionScript(logger, context, artifacts); return emitString(logger, ss, context.getModuleName() + ".nocache.js", lastModified);
diff --git a/dev/core/src/com/google/gwt/dev/util/OutputFileSet.java b/dev/core/src/com/google/gwt/dev/util/OutputFileSet.java index 4f95198..79cee97 100644 --- a/dev/core/src/com/google/gwt/dev/util/OutputFileSet.java +++ b/dev/core/src/com/google/gwt/dev/util/OutputFileSet.java
@@ -69,14 +69,12 @@ /** * Opens a file for write. If writing to a zip file and the file already exists, - * there will be no effect. If writing to a directory, the file exists, and the - * given timestamp is older than the current timestamp, there will be no effect. + * there will be no effect. If writing to a directory already existing files are + * overwritten. * - * @param timeStampMillis last modified time in milliseconds, or - * TIMESTAMP_UNAVAILABLE to force an overwrite. + * @param timeStampMillis last modified time in milliseconds. * @return the output stream to write to, possibly a NullOutputStream */ - // TODO: revalidate whether any timestamp based overwrite prevention is needed. public OutputStream openForWrite(String path, long timeStampMillis) throws IOException { pathsSeen.add(path);
diff --git a/dev/core/src/com/google/gwt/dev/util/OutputFileSetOnDirectory.java b/dev/core/src/com/google/gwt/dev/util/OutputFileSetOnDirectory.java index d772a9a..17720f7 100644 --- a/dev/core/src/com/google/gwt/dev/util/OutputFileSetOnDirectory.java +++ b/dev/core/src/com/google/gwt/dev/util/OutputFileSetOnDirectory.java
@@ -15,7 +15,6 @@ */ package com.google.gwt.dev.util; -import com.google.gwt.dev.util.NullOutputFileSet.NullOutputStream; import com.google.gwt.dev.util.collect.HashSet; import java.io.File; @@ -46,11 +45,6 @@ protected OutputStream createNewOutputStream(String path, final long timeStampMillis) throws IOException { final File file = pathToFile(path); - if (file.exists() && timeStampMillis != TIMESTAMP_UNAVAILABLE && - file.lastModified() > timeStampMillis) { - return new NullOutputStream(); - } - mkdirs(file.getParentFile()); return new FileOutputStream(file) { @Override
diff --git a/dev/core/test/com/google/gwt/dev/util/OutputFileSetOnDirectoryTest.java b/dev/core/test/com/google/gwt/dev/util/OutputFileSetOnDirectoryTest.java index 0c2283e..599e9ce 100644 --- a/dev/core/test/com/google/gwt/dev/util/OutputFileSetOnDirectoryTest.java +++ b/dev/core/test/com/google/gwt/dev/util/OutputFileSetOnDirectoryTest.java
@@ -65,7 +65,7 @@ } } - public void testNewFileOlderTimestampDies() throws IOException { + public void testNewFileOlderTimestampOverwrites() throws IOException { File work = Utility.makeTemporaryDirectory(null, "outputfileset"); try { OutputFileSetOnDirectory output = new OutputFileSetOnDirectory(work, "test/"); @@ -75,7 +75,7 @@ firstStream.close(); OutputStream secondStream = output.createNewOutputStream("path/to/file", 1000); - assertFalse(secondStream instanceof FileOutputStream); + assertTrue(secondStream instanceof FileOutputStream); secondStream.close(); } finally { Util.recursiveDelete(work, false);
diff --git a/user/test/com/google/gwt/core/ext/linker/impl/SelectionScriptLinkerUnitTest.java b/user/test/com/google/gwt/core/ext/linker/impl/SelectionScriptLinkerUnitTest.java index 38e9d73..6e8d0b7 100644 --- a/user/test/com/google/gwt/core/ext/linker/impl/SelectionScriptLinkerUnitTest.java +++ b/user/test/com/google/gwt/core/ext/linker/impl/SelectionScriptLinkerUnitTest.java
@@ -1,12 +1,12 @@ /* * Copyright 2010 Google Inc. - * + * * 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 @@ -147,8 +147,8 @@ } /** - * Test timestamps on the selection script. For Development Mode, it should match - * the module's timestamp. For Production Mode, it should be current. + * Test timestamps on the selection script. For both Development Mode and ProductionMode it should + * match the module's timestamp. */ public void testTimestampOnSelectionScript() throws UnableToCompleteException { // Development Mode @@ -170,7 +170,7 @@ updated = new ShardableSelectionScriptLinker().link(TreeLogger.NULL, new MockLinkerContext(), updated, false); EmittedArtifact selectionScript = findSelectionScript(updated); - assertTrue(MOCK_MODULE_LAST_MODIFIED != selectionScript.getLastModified()); + assertEquals(MOCK_MODULE_LAST_MODIFIED, selectionScript.getLastModified()); } }