Revision: 9919
Author: [email protected]
Date: Thu Mar 31 03:22:04 2011
Log: Reroll of r9908 (rolled back at r9911): Fixes issue 6189.
WebAppCreator was not scanning war/WEB-INF/lib to fill up .classpath
Added support for windows path separator to testCreatorOnlyEclipseWithJars()
Review at http://gwt-code-reviews.appspot.com/1399801
Review by: [email protected]
http://code.google.com/p/google-web-toolkit/source/detail?r=9919
Modified:
/trunk/user/src/com/google/gwt/user/tools/WebAppCreator.java
/trunk/user/test/com/google/gwt/user/tools/WebAppCreatorTest.java
=======================================
--- /trunk/user/src/com/google/gwt/user/tools/WebAppCreator.java Tue Mar 29
12:09:40 2011
+++ /trunk/user/src/com/google/gwt/user/tools/WebAppCreator.java Thu Mar 31
03:22:04 2011
@@ -542,7 +542,7 @@
replacements.put("@copyServletDeps", copyServletDeps);
// Collect the list of server libs to include on the eclipse classpath.
- File libDirectory = new File(outDir + warFolder + "WEB-INF/lib");
+ File libDirectory = new File(outDir + "/" + warFolder
+ "/WEB-INF/lib");
StringBuilder serverLibs = new StringBuilder();
if (libDirectory.exists()) {
for (File file : libDirectory.listFiles()) {
=======================================
--- /trunk/user/test/com/google/gwt/user/tools/WebAppCreatorTest.java Tue
Mar 29 12:09:40 2011
+++ /trunk/user/test/com/google/gwt/user/tools/WebAppCreatorTest.java Thu
Mar 31 03:22:04 2011
@@ -15,12 +15,14 @@
*/
package com.google.gwt.user.tools;
+import com.google.gwt.dev.util.Util;
import com.google.gwt.user.tools.WebAppCreator.ArgProcessor;
import junit.framework.TestCase;
import java.io.File;
import java.io.IOException;
+import java.util.regex.Pattern;
/**
* Test Class for WebAppCreator.
@@ -263,6 +265,34 @@
assertFileDoesNotExist("test/com/foo/HelloJUnit.gwt.xml");
assertFileDoesNotExist("test/com/foo/client/HelloTest.java");
}
+
+ /**
+ * Generate a .classpath containing a .jar in war/WEB-INF/lib
+ */
+ public void testCreatorOnlyEclipseWithJars() throws IOException,
WebAppCreatorException {
+ runCreator("-out", projectFolder, "-XnoEclipse", "-junit", mockJar,
+ MY_PROJECT);
+
+ String libDir = "war" + File.separatorChar
+ + "WEB-INF" + File.separatorChar
+ + "lib";
+ assertTrue(new File(projectFolder + File.separatorChar +
libDir).mkdirs());
+
+ String libJarName = libDir + File.separatorChar + "foo.jar";
+ File libFile = new File(projectFolder + File.separatorChar +
libJarName);
+ assertTrue(libFile.createNewFile());
+
+ runCreator("-out", projectFolder, "-XonlyEclipse", "-junit", mockJar,
+ MY_PROJECT);
+
+ assertFileExists(".classpath");
+ File classpathFile = new File(projectFolder + File.separatorChar
+ ".classpath");
+ String classpathContents =
Util.readURLAsString(classpathFile.toURI().toURL());
+ String canonicalLibJarName =
libJarName.replaceAll(Pattern.quote(File.separator), "/");
+ assertTrue(".classpath does not contain " + canonicalLibJarName
+ ". .classpath contents:"
+ + classpathContents,
+ classpathContents.contains(canonicalLibJarName));
+ }
/**
* Test the main method.
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors