You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2013/02/27 11:34:11 UTC
svn commit: r1450719 -
/sling/trunk/maven/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/JspcMojo.java
Author: cziegeler
Date: Wed Feb 27 10:34:10 2013
New Revision: 1450719
URL: http://svn.apache.org/r1450719
Log:
SLING-2730 : Allow JSPs to be excluded from compilation in maven-jspc-plugin . Apply patch from Ben Peter
Modified:
sling/trunk/maven/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/JspcMojo.java
Modified: sling/trunk/maven/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/JspcMojo.java
URL: http://svn.apache.org/viewvc/sling/trunk/maven/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/JspcMojo.java?rev=1450719&r1=1450718&r2=1450719&view=diff
==============================================================================
--- sling/trunk/maven/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/JspcMojo.java (original)
+++ sling/trunk/maven/maven-jspc-plugin/src/main/java/org/apache/sling/maven/jspc/JspcMojo.java Wed Feb 27 10:34:10 2013
@@ -29,7 +29,6 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.Stack;
import java.util.StringTokenizer;
import javax.servlet.ServletContext;
@@ -52,6 +51,7 @@ import org.apache.sling.scripting.jsp.ja
import org.apache.sling.scripting.jsp.jasper.compiler.TldLocationsCache;
import org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper;
import org.apache.sling.scripting.jsp.jasper.xmlparser.TreeNode;
+import org.codehaus.plexus.util.DirectoryScanner;
/**
* The <code>JspcMojo</code> is implements the Sling Maven JspC goal
@@ -166,6 +166,18 @@ public class JspcMojo extends AbstractMo
*/
private String servletPackage;
+ /**
+ * Included JSPs, defaults to <code>"**/*.jsp"</code>
+ * @parameter
+ */
+ private String[] includes;
+
+ /**
+ * Excluded JSPs, empty by default
+ * @parameter
+ */
+ private String[] excludes;
+
private Set<String> jspFileExtensionSet;
private boolean compile = true;
@@ -245,26 +257,15 @@ public class JspcMojo extends AbstractMo
* specified.
*/
public void scanFiles(File base) {
- Stack<File> dirs = new Stack<File>();
- dirs.push(base);
- while (!dirs.isEmpty()) {
- File f = dirs.pop();
- if (f.exists() && f.isDirectory()) {
- String[] files = f.list();
- String ext;
- for (int i = 0; (files != null) && i < files.length; i++) {
- File f2 = new File(f, files[i]);
- if (f2.isDirectory()) {
- dirs.push(f2);
- } else {
- ext = files[i].substring(files[i].lastIndexOf('.') + 1);
- if (getExtensions().contains(ext)) {
- pages.add(f2.getAbsolutePath());
- }
- }
- }
- }
+ DirectoryScanner scanner = new DirectoryScanner();
+ scanner.setBasedir(base);
+ scanner.setIncludes(includes);
+ scanner.setExcludes(excludes);
+ scanner.scan();
+
+ for (String included : scanner.getIncludedFiles()) {
+ pages.add(included);
}
}
@@ -283,6 +284,10 @@ public class JspcMojo extends AbstractMo
initServletContext();
}
+ if (includes == null) {
+ includes = new String[]{ "**/*.jsp" };
+ }
+
// No explicit pages, we'll process all .jsp in the webapp
if (pages.size() == 0) {
scanFiles(sourceDirectory);