Remove the output from the link step before attempting to
write. Fixes a problem when the output has been set to
read only permissions.
Review at http://gwt-code-reviews.appspot.com/928801
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@8885 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/Link.java b/dev/core/src/com/google/gwt/dev/Link.java
index 47c5d0a..5a38bfe 100644
--- a/dev/core/src/com/google/gwt/dev/Link.java
+++ b/dev/core/src/com/google/gwt/dev/Link.java
@@ -16,6 +16,7 @@
package com.google.gwt.dev;
import com.google.gwt.core.ext.TreeLogger;
+import com.google.gwt.core.ext.TreeLogger.Type;
import com.google.gwt.core.ext.UnableToCompleteException;
import com.google.gwt.core.ext.linker.Artifact;
import com.google.gwt.core.ext.linker.ArtifactSet;
@@ -189,6 +190,13 @@
PermutationResult permResult, File jarFile,
PrecompileOptions precompileOptions) throws UnableToCompleteException {
try {
+ if (jarFile.exists()) {
+ boolean success = jarFile.delete();
+ if (!success) {
+ logger.log(Type.ERROR, "Linker output file " + jarFile.getName()
+ + " already exists and can't be deleted.");
+ }
+ }
JarOutputStream jar = new JarOutputStream(new FileOutputStream(jarFile));
StandardLinkerContext linkerContext = new StandardLinkerContext(logger,