[Jsptest-svn-commits] SF.net SVN: jsptest: [211] tags
Status: Alpha
Brought to you by:
lkoskela
|
From: <lko...@us...> - 2008-04-09 20:02:02
|
Revision: 211
http://jsptest.svn.sourceforge.net/jsptest/?rev=211&view=rev
Author: lkoskela
Date: 2008-04-09 13:01:48 -0700 (Wed, 09 Apr 2008)
Log Message:
-----------
[maven-release-plugin] copy for tag jsptest-0.15
Added Paths:
-----------
tags/jsptest-0.15/
tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp12/pom.xml
tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp20/pom.xml
tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp21/pom.xml
tags/jsptest-0.15/jsptest-acceptance/pom.xml
tags/jsptest-0.15/jsptest-generic/jsptest-common/pom.xml
tags/jsptest-0.15/jsptest-generic/jsptest-compiler-api/pom.xml
tags/jsptest-0.15/jsptest-generic/jsptest-framework/pom.xml
tags/jsptest-0.15/jsptest-generic/pom.xml
tags/jsptest-0.15/jsptest-jsp12/pom.xml
tags/jsptest-0.15/jsptest-jsp20/pom.xml
tags/jsptest-0.15/jsptest-jsp20/src/main/java/net/sf/jsptest/compiler/jsp20/JasperCompiler.java
tags/jsptest-0.15/jsptest-jsp21/pom.xml
tags/jsptest-0.15/pom.xml
Removed Paths:
-------------
tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp12/pom.xml
tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp20/pom.xml
tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp21/pom.xml
tags/jsptest-0.15/jsptest-acceptance/pom.xml
tags/jsptest-0.15/jsptest-generic/jsptest-common/pom.xml
tags/jsptest-0.15/jsptest-generic/jsptest-compiler-api/pom.xml
tags/jsptest-0.15/jsptest-generic/jsptest-framework/pom.xml
tags/jsptest-0.15/jsptest-generic/pom.xml
tags/jsptest-0.15/jsptest-jsp12/pom.xml
tags/jsptest-0.15/jsptest-jsp20/pom.xml
tags/jsptest-0.15/jsptest-jsp20/src/main/java/net/sf/jsptest/compiler/jsp20/JasperCompiler.java
tags/jsptest-0.15/jsptest-jsp21/pom.xml
tags/jsptest-0.15/pom.xml
Copied: tags/jsptest-0.15 (from rev 208, trunk)
Deleted: tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp12/pom.xml
===================================================================
--- trunk/jsptest-acceptance/jsptest-acceptance-jsp12/pom.xml 2008-04-09 19:52:32 UTC (rev 208)
+++ tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp12/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest-acceptance</artifactId>
- <version>0.15-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>jsptest-acceptance-jsp12</artifactId>
- <packaging>jar</packaging>
- <name>Acceptance tests for the JspTest variant for the JSP 1.2 specification.</name>
- <description />
- <dependencies>
- <dependency>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest-jsp12</artifactId>
- </dependency>
- </dependencies>
-</project>
Copied: tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp12/pom.xml (from rev 210, trunk/jsptest-acceptance/jsptest-acceptance-jsp12/pom.xml)
===================================================================
--- tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp12/pom.xml (rev 0)
+++ tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp12/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest-acceptance</artifactId>
+ <version>0.15</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jsptest-acceptance-jsp12</artifactId>
+ <packaging>jar</packaging>
+ <name>Acceptance tests for the JspTest variant for the JSP 1.2 specification.</name>
+ <description />
+ <dependencies>
+ <dependency>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest-jsp12</artifactId>
+ </dependency>
+ </dependencies>
+</project>
Deleted: tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp20/pom.xml
===================================================================
--- trunk/jsptest-acceptance/jsptest-acceptance-jsp20/pom.xml 2008-04-09 19:52:32 UTC (rev 208)
+++ tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp20/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest-acceptance</artifactId>
- <version>0.15-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>jsptest-acceptance-jsp20</artifactId>
- <packaging>jar</packaging>
- <name>Acceptance tests for the JspTest variant for the JSP 2.0 specification.</name>
- <description />
- <dependencies>
- <dependency>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest-jsp20</artifactId>
- </dependency>
- </dependencies>
-</project>
Copied: tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp20/pom.xml (from rev 210, trunk/jsptest-acceptance/jsptest-acceptance-jsp20/pom.xml)
===================================================================
--- tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp20/pom.xml (rev 0)
+++ tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp20/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest-acceptance</artifactId>
+ <version>0.15</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jsptest-acceptance-jsp20</artifactId>
+ <packaging>jar</packaging>
+ <name>Acceptance tests for the JspTest variant for the JSP 2.0 specification.</name>
+ <description />
+ <dependencies>
+ <dependency>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest-jsp20</artifactId>
+ </dependency>
+ </dependencies>
+</project>
Deleted: tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp21/pom.xml
===================================================================
--- trunk/jsptest-acceptance/jsptest-acceptance-jsp21/pom.xml 2008-04-09 19:52:32 UTC (rev 208)
+++ tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp21/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest-acceptance</artifactId>
- <version>0.15-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>jsptest-acceptance-jsp21</artifactId>
- <version>0.15-SNAPSHOT</version>
- <packaging>jar</packaging>
- <name>Acceptance tests for the JspTest variant for the JSP 2.1 specification.</name>
- <description />
- <dependencies>
- <dependency>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest-jsp21</artifactId>
- </dependency>
- </dependencies>
-</project>
Copied: tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp21/pom.xml (from rev 210, trunk/jsptest-acceptance/jsptest-acceptance-jsp21/pom.xml)
===================================================================
--- tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp21/pom.xml (rev 0)
+++ tags/jsptest-0.15/jsptest-acceptance/jsptest-acceptance-jsp21/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest-acceptance</artifactId>
+ <version>0.15</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jsptest-acceptance-jsp21</artifactId>
+ <version>0.15</version>
+ <packaging>jar</packaging>
+ <name>Acceptance tests for the JspTest variant for the JSP 2.1 specification.</name>
+ <description />
+ <dependencies>
+ <dependency>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest-jsp21</artifactId>
+ </dependency>
+ </dependencies>
+</project>
Deleted: tags/jsptest-0.15/jsptest-acceptance/pom.xml
===================================================================
--- trunk/jsptest-acceptance/pom.xml 2008-04-09 19:52:32 UTC (rev 208)
+++ tags/jsptest-0.15/jsptest-acceptance/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest</artifactId>
- <version>0.15-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>jsptest-acceptance</artifactId>
- <name>JspTest root project for acceptance test modules</name>
- <description>This POM acts as a virtual root for the acceptance test projects for different JSP specification variants of JspTest.</description>
- <packaging>pom</packaging>
- <modules>
- <module>jsptest-acceptance-jsp12</module>
- <module>jsptest-acceptance-jsp20</module>
- <module>jsptest-acceptance-jsp21</module>
- </modules>
-</project>
Copied: tags/jsptest-0.15/jsptest-acceptance/pom.xml (from rev 210, trunk/jsptest-acceptance/pom.xml)
===================================================================
--- tags/jsptest-0.15/jsptest-acceptance/pom.xml (rev 0)
+++ tags/jsptest-0.15/jsptest-acceptance/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest</artifactId>
+ <version>0.15</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jsptest-acceptance</artifactId>
+ <name>JspTest root project for acceptance test modules</name>
+ <description>This POM acts as a virtual root for the acceptance test projects for different JSP specification variants of JspTest.</description>
+ <packaging>pom</packaging>
+ <modules>
+ <module>jsptest-acceptance-jsp12</module>
+ <module>jsptest-acceptance-jsp20</module>
+ <module>jsptest-acceptance-jsp21</module>
+ </modules>
+</project>
Deleted: tags/jsptest-0.15/jsptest-generic/jsptest-common/pom.xml
===================================================================
--- trunk/jsptest-generic/jsptest-common/pom.xml 2008-04-09 19:52:32 UTC (rev 208)
+++ tags/jsptest-0.15/jsptest-generic/jsptest-common/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -1,34 +0,0 @@
-<?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest-generic</artifactId>
- <version>0.15-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>jsptest-common</artifactId>
- <version>0.15-SNAPSHOT</version>
- <packaging>jar</packaging>
- <name>Common utilities</name>
- <description>Common utilities for the components of JspTest, including the JSP version-specific compiler implementations.</description>
- <profiles>
- <profile>
- <id>default-tools.jar</id>
- <activation>
- <property>
- <name>java.vendor</name>
- <value>Sun Microsystems Inc.</value>
- </property>
- </activation>
- <dependencies>
- <dependency>
- <groupId>com.sun</groupId>
- <artifactId>tools</artifactId>
- <version>1.4.2</version>
- <scope>system</scope>
- <systemPath>${java.home}/../lib/tools.jar</systemPath>
- </dependency>
- </dependencies>
- </profile>
- </profiles>
-</project>
Copied: tags/jsptest-0.15/jsptest-generic/jsptest-common/pom.xml (from rev 210, trunk/jsptest-generic/jsptest-common/pom.xml)
===================================================================
--- tags/jsptest-0.15/jsptest-generic/jsptest-common/pom.xml (rev 0)
+++ tags/jsptest-0.15/jsptest-generic/jsptest-common/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest-generic</artifactId>
+ <version>0.15</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jsptest-common</artifactId>
+ <version>0.15</version>
+ <packaging>jar</packaging>
+ <name>Common utilities</name>
+ <description>Common utilities for the components of JspTest, including the JSP version-specific compiler implementations.</description>
+ <profiles>
+ <profile>
+ <id>default-tools.jar</id>
+ <activation>
+ <property>
+ <name>java.vendor</name>
+ <value>Sun Microsystems Inc.</value>
+ </property>
+ </activation>
+ <dependencies>
+ <dependency>
+ <groupId>com.sun</groupId>
+ <artifactId>tools</artifactId>
+ <version>1.4.2</version>
+ <scope>system</scope>
+ <systemPath>${java.home}/../lib/tools.jar</systemPath>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
+</project>
Deleted: tags/jsptest-0.15/jsptest-generic/jsptest-compiler-api/pom.xml
===================================================================
--- trunk/jsptest-generic/jsptest-compiler-api/pom.xml 2008-04-09 19:52:32 UTC (rev 208)
+++ tags/jsptest-0.15/jsptest-generic/jsptest-compiler-api/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -1,14 +0,0 @@
-<?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest-generic</artifactId>
- <version>0.15-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>jsptest-compiler-api</artifactId>
- <version>0.15-SNAPSHOT</version>
- <packaging>jar</packaging>
- <name>Internal compiler API</name>
- <description>A common internal API for the different versions of JSP version-specific compilers.</description>
-</project>
Copied: tags/jsptest-0.15/jsptest-generic/jsptest-compiler-api/pom.xml (from rev 210, trunk/jsptest-generic/jsptest-compiler-api/pom.xml)
===================================================================
--- tags/jsptest-0.15/jsptest-generic/jsptest-compiler-api/pom.xml (rev 0)
+++ tags/jsptest-0.15/jsptest-generic/jsptest-compiler-api/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest-generic</artifactId>
+ <version>0.15</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jsptest-compiler-api</artifactId>
+ <version>0.15</version>
+ <packaging>jar</packaging>
+ <name>Internal compiler API</name>
+ <description>A common internal API for the different versions of JSP version-specific compilers.</description>
+</project>
Deleted: tags/jsptest-0.15/jsptest-generic/jsptest-framework/pom.xml
===================================================================
--- trunk/jsptest-generic/jsptest-framework/pom.xml 2008-04-09 19:52:32 UTC (rev 208)
+++ tags/jsptest-0.15/jsptest-generic/jsptest-framework/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -1,26 +0,0 @@
-<?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest-generic</artifactId>
- <version>0.15-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>jsptest-framework</artifactId>
- <version>0.15-SNAPSHOT</version>
- <packaging>jar</packaging>
- <name>Core framework</name>
- <description>The core framework functionality for JspTest.</description>
- <dependencies>
- <dependency>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest-compiler-api</artifactId>
- <version>0.15-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest-common</artifactId>
- <version>0.15-SNAPSHOT</version>
- </dependency>
- </dependencies>
-</project>
Copied: tags/jsptest-0.15/jsptest-generic/jsptest-framework/pom.xml (from rev 210, trunk/jsptest-generic/jsptest-framework/pom.xml)
===================================================================
--- tags/jsptest-0.15/jsptest-generic/jsptest-framework/pom.xml (rev 0)
+++ tags/jsptest-0.15/jsptest-generic/jsptest-framework/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest-generic</artifactId>
+ <version>0.15</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jsptest-framework</artifactId>
+ <version>0.15</version>
+ <packaging>jar</packaging>
+ <name>Core framework</name>
+ <description>The core framework functionality for JspTest.</description>
+ <dependencies>
+ <dependency>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest-compiler-api</artifactId>
+ <version>0.15</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest-common</artifactId>
+ <version>0.15</version>
+ </dependency>
+ </dependencies>
+</project>
Deleted: tags/jsptest-0.15/jsptest-generic/pom.xml
===================================================================
--- trunk/jsptest-generic/pom.xml 2008-04-09 19:52:32 UTC (rev 208)
+++ tags/jsptest-0.15/jsptest-generic/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -1,41 +0,0 @@
-<?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest</artifactId>
- <version>0.15-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>jsptest-generic</artifactId>
- <version>0.15-SNAPSHOT</version>
- <name>JspTest root project for the generic components</name>
- <description>This POM acts as a virtual root for the set of generic components that make up JspTest.</description>
- <packaging>pom</packaging>
- <modules>
- <module>jsptest-common</module>
- <module>jsptest-compiler-api</module>
- <module>jsptest-framework</module>
- </modules>
- <dependencies>
- <dependency>
- <groupId>jtidy</groupId>
- <artifactId>jtidy</artifactId>
- <version>4aug2000r7-dev</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.2</version>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.13</version>
- </dependency>
- <dependency>
- <groupId>jaxen</groupId>
- <artifactId>jaxen</artifactId>
- <version>1.1.1</version>
- </dependency>
- </dependencies>
-</project>
Copied: tags/jsptest-0.15/jsptest-generic/pom.xml (from rev 210, trunk/jsptest-generic/pom.xml)
===================================================================
--- tags/jsptest-0.15/jsptest-generic/pom.xml (rev 0)
+++ tags/jsptest-0.15/jsptest-generic/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest</artifactId>
+ <version>0.15</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jsptest-generic</artifactId>
+ <version>0.15</version>
+ <name>JspTest root project for the generic components</name>
+ <description>This POM acts as a virtual root for the set of generic components that make up JspTest.</description>
+ <packaging>pom</packaging>
+ <modules>
+ <module>jsptest-common</module>
+ <module>jsptest-compiler-api</module>
+ <module>jsptest-framework</module>
+ </modules>
+ <dependencies>
+ <dependency>
+ <groupId>jtidy</groupId>
+ <artifactId>jtidy</artifactId>
+ <version>4aug2000r7-dev</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.2</version>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.13</version>
+ </dependency>
+ <dependency>
+ <groupId>jaxen</groupId>
+ <artifactId>jaxen</artifactId>
+ <version>1.1.1</version>
+ </dependency>
+ </dependencies>
+</project>
Deleted: tags/jsptest-0.15/jsptest-jsp12/pom.xml
===================================================================
--- trunk/jsptest-jsp12/pom.xml 2008-04-09 19:52:32 UTC (rev 208)
+++ tags/jsptest-0.15/jsptest-jsp12/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -1,41 +0,0 @@
-<?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest</artifactId>
- <version>0.15-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>jsptest-jsp12</artifactId>
- <packaging>jar</packaging>
- <name>JspTest for JSP 1.2</name>
- <description>JspTest variant suitable for testing JavaServer Pages that follow the JSP 1.2 specification.</description>
- <dependencies>
- <dependency>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest-framework</artifactId>
- </dependency>
-<!-- needed for JSTL/TLD configuration -->
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>jstl</artifactId>
- <version>1.0.2</version>
- </dependency>
- <dependency>
- <groupId>taglibs</groupId>
- <artifactId>standard</artifactId>
- <version>1.0.2</version>
- </dependency>
-<!-- Provides the Jasper JSP compiler -->
- <dependency>
- <groupId>tomcat</groupId>
- <artifactId>jasper-compiler</artifactId>
- <version>4.1.30</version>
- </dependency>
- <dependency>
- <groupId>tomcat</groupId>
- <artifactId>jasper-runtime</artifactId>
- <version>4.1.30</version>
- </dependency>
- </dependencies>
-</project>
Copied: tags/jsptest-0.15/jsptest-jsp12/pom.xml (from rev 210, trunk/jsptest-jsp12/pom.xml)
===================================================================
--- tags/jsptest-0.15/jsptest-jsp12/pom.xml (rev 0)
+++ tags/jsptest-0.15/jsptest-jsp12/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest</artifactId>
+ <version>0.15</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jsptest-jsp12</artifactId>
+ <packaging>jar</packaging>
+ <name>JspTest for JSP 1.2</name>
+ <description>JspTest variant suitable for testing JavaServer Pages that follow the JSP 1.2 specification.</description>
+ <dependencies>
+ <dependency>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest-framework</artifactId>
+ </dependency>
+<!-- needed for JSTL/TLD configuration -->
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jstl</artifactId>
+ <version>1.0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>taglibs</groupId>
+ <artifactId>standard</artifactId>
+ <version>1.0.2</version>
+ </dependency>
+<!-- Provides the Jasper JSP compiler -->
+ <dependency>
+ <groupId>tomcat</groupId>
+ <artifactId>jasper-compiler</artifactId>
+ <version>4.1.30</version>
+ </dependency>
+ <dependency>
+ <groupId>tomcat</groupId>
+ <artifactId>jasper-runtime</artifactId>
+ <version>4.1.30</version>
+ </dependency>
+ </dependencies>
+</project>
Deleted: tags/jsptest-0.15/jsptest-jsp20/pom.xml
===================================================================
--- trunk/jsptest-jsp20/pom.xml 2008-04-09 19:52:32 UTC (rev 208)
+++ tags/jsptest-0.15/jsptest-jsp20/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -1,53 +0,0 @@
-<?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest</artifactId>
- <version>0.15-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>jsptest-jsp20</artifactId>
- <packaging>jar</packaging>
- <name>JspTest for JSP 2.0</name>
- <description>JspTest variant suitable for testing JavaServer Pages that follow the JSP 2.0 specification.</description>
- <dependencies>
- <dependency>
- <groupId>net.sf.jsptest</groupId>
- <artifactId>jsptest-framework</artifactId>
- </dependency>
-<!-- needed for JSTL/TLD configuration -->
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>jstl</artifactId>
- <version>1.1.2</version>
- </dependency>
- <dependency>
- <groupId>taglibs</groupId>
- <artifactId>standard</artifactId>
- <version>1.1.2</version>
- </dependency>
-<!-- Provides the Jasper JSP compiler -->
- <dependency>
- <groupId>tomcat</groupId>
- <artifactId>jasper-compiler</artifactId>
- <version>5.5.15</version>
- </dependency>
- <dependency>
- <groupId>tomcat</groupId>
- <artifactId>jasper-runtime</artifactId>
- <version>5.5.15</version>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <descriptors>
- <descriptor>src/main/assembly/bin.xml</descriptor>
- </descriptors>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
Copied: tags/jsptest-0.15/jsptest-jsp20/pom.xml (from rev 210, trunk/jsptest-jsp20/pom.xml)
===================================================================
--- tags/jsptest-0.15/jsptest-jsp20/pom.xml (rev 0)
+++ tags/jsptest-0.15/jsptest-jsp20/pom.xml 2008-04-09 20:01:48 UTC (rev 211)
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest</artifactId>
+ <version>0.15</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jsptest-jsp20</artifactId>
+ <packaging>jar</packaging>
+ <name>JspTest for JSP 2.0</name>
+ <description>JspTest variant suitable for testing JavaServer Pages that follow the JSP 2.0 specification.</description>
+ <dependencies>
+ <dependency>
+ <groupId>net.sf.jsptest</groupId>
+ <artifactId>jsptest-framework</artifactId>
+ </dependency>
+<!-- needed for JSTL/TLD configuration -->
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jstl</artifactId>
+ <version>1.1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>taglibs</groupId>
+ <artifactId>standard</artifactId>
+ <version>1.1.2</version>
+ </dependency>
+<!-- Provides the Jasper JSP compiler -->
+ <dependency>
+ <groupId>tomcat</groupId>
+ <artifactId>jasper-compiler</artifactId>
+ <version>5.5.15</version>
+ </dependency>
+ <dependency>
+ <groupId>tomcat</groupId>
+ <artifactId>jasper-runtime</artifactId>
+ <version>5.5.15</version>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/assembly/bin.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Deleted: tags/jsptest-0.15/jsptest-jsp20/src/main/java/net/sf/jsptest/compiler/jsp20/JasperCompiler.java
===================================================================
--- trunk/jsptest-jsp20/src/main/java/net/sf/jsptest/compiler/jsp20/JasperCompiler.java 2008-04-09 19:52:32 UTC (rev 208)
+++ tags/jsptest-0.15/jsptest-jsp20/src/main/java/net/sf/jsptest/compiler/jsp20/JasperCompiler.java 2008-04-09 20:01:48 UTC (rev 211)
@@ -1,416 +0,0 @@
-/*
- * Copyright 2007 Lasse Koskela.
- *
- * 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 License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.sf.jsptest.compiler.jsp20;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.jsp.tagext.TagInfo;
-
-import net.sf.jsptest.compiler.JspCompilationInfo;
-import net.sf.jsptest.compiler.java.CommandLineJavac;
-import net.sf.jsptest.compiler.java.JavaCompiler;
-import net.sf.jsptest.compiler.java.SunJavaC;
-import net.sf.jsptest.compiler.jsp20.mock.MockOptions;
-import net.sf.jsptest.compiler.jsp20.mock.MockServletConfig;
-import net.sf.jsptest.compiler.jsp20.mock.MockTagInfo;
-import net.sf.jsptest.utils.Path;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.jasper.EmbeddedServletOptions;
-import org.apache.jasper.JasperException;
-import org.apache.jasper.JspCompilationContext;
-import org.apache.jasper.Options;
-import org.apache.jasper.compiler.AntCompiler;
-import org.apache.jasper.compiler.Compiler;
-import org.apache.jasper.compiler.JspRuntimeContext;
-import org.apache.jasper.compiler.ServletWriter;
-import org.apache.jasper.servlet.JspCServletContext;
-import org.apache.jasper.servlet.JspServletWrapper;
-
-/**
- * The <tt>JasperTestCase</tt> provides a facility for compiling JavaServer
- * Pages outside a real Servlet/JSP container.
- * <p>
- * It makes use of Jakarta Tomcat's Jasper JSP compiler to compile a JSP file
- * into Java source code, and then Sun's javac implementation to compile the
- * Java source code into Java bytecode.
- * <p>
- * The resulting .class file is written under a "WEB-INF/classes" directory
- * under the "web root" defined by concrete subclasses through the
- * implementation of <tt>getWebRoot()</tt>. If you want the .class files to
- * be generated somewhere else than under the web root, you can also override
- * <tt>getClassOutputBaseDir()</tt>, which specifies the root directory for
- * the compiled .class files.
- * <p>
- * The resulting Servlet class gets its package based on the
- * <tt>getJspPackageName()</tt> method which can be overridden if necessary.
- * The default is "jsp" which means that, for example, a JSP named
- * "front_page.jsp" would eventually be translated into a class file
- * "[webroot]/WEB-INF/classes/jsp/front_page_jsp.class" where "jsp/" is the JSP
- * package name and "front_page_jsp.class" the normalized class name derived
- * from the source JSP file's name.
- *
- * @author Lasse Koskela
- */
-public class JasperCompiler {
-
- private static final Log log = LogFactory
- .getLog(JasperCompiler.class);
-
- private static JavaCompiler COMPILER = determineJavaCompiler();
-
- private String webRoot;
-
- private String classOutputBaseDir;
-
- private String jspPackageName;
-
- public JasperCompiler() {
- webRoot = ".";
- classOutputBaseDir = ".";
- }
-
- /**
- * Sets the "web root", i.e. the root directory of your exploded J2EE web
- * application. In other words, this is the directory under which you should
- * have a subdirectory named "WEB-INF".
- */
- public void setWebRoot(String webRoot) {
- this.webRoot = webRoot;
- }
-
- /**
- * Sets the directory where generated .class file(s) should be written..
- */
- public void setClassOutputBaseDir(String directory) {
- this.classOutputBaseDir = directory;
- }
-
- /**
- * Compile the specified JSP source file into bytecode.
- *
- * @param path
- * The path to the JSP source file to compile, given relative
- * to the web root.
- * @param mockTaglibs
- * Mapping of tagnames to tag handler classes
- */
- public JspCompilationInfo compile(String path, Map mockTaglibs)
- throws Exception {
- JspCompilationInfo info = createJspCompilationInfo(path,
- mockTaglibs);
- if (info.jspCompilationRequired()) {
- compileJsp(info);
- compileJavaToBytecode(info);
- } else {
- log.debug(" No compilation needed for "
- + info.getJspSource());
- }
- return info;
- }
-
- /**
- * Sets the package name for the generated Java classes. The default package
- * name is "jsp".
- */
- public void setJspPackageName(String packageName) {
- this.jspPackageName = packageName;
- }
-
- /**
- * Returns the package name for the generated Java class.
- */
- private String getJspPackageName() {
- if (jspPackageName != null) {
- return jspPackageName;
- } else {
- return "jsp";
- }
- }
-
- private JspCompilationInfo createJspCompilationInfo(String jsp,
- Map mockTaglibs) {
- JspCompilationInfo info = new JspCompilationInfo();
- info.setJspPath(jsp);
- info.setClassOutputDir(classOutputBaseDir);
- info.setJspSource(resolveJspSourceFile(jsp));
- info.setWebRoot(getWebRoot());
- info.setTaglibs(mockTaglibs);
- resolveJavaSourceFile(info);
- resolveClassFileLocation(info);
- resolveClassName(info);
- return info;
- }
-
- private String getWebRoot() {
- File root = new File(webRoot);
- if (root.exists() && root.isDirectory()) {
- return root.getAbsolutePath();
- } else {
- return resolveWebRootFromClassPath();
- }
- }
-
- private String resolveWebRootFromClassPath() {
- String path = webRoot;
- if (path.startsWith("./")) {
- path = path.substring(2);
- }
- URL url = getClass().getClassLoader().getResource(path);
- if (url == null) {
- return webRoot;
- }
- if (!url.toExternalForm().startsWith("file:")) {
- log
- .info("Web root referenced a non-filesystem resource: "
- + url);
- return webRoot;
- }
- return new File(url.toExternalForm().substring(
- "file:".length())).getAbsolutePath();
- }
-
- private void compileJsp(JspCompilationInfo info) throws Exception {
- assertTrue("Source file "
- + new File(info.getJspSource()).getAbsolutePath()
- + " does not exist", new File(info.getJspSource())
- .exists());
- PrintWriter logWriter = new PrintWriter(new StringWriter());
- URL baseUrl = new File(info.getWebRoot()).toURL();
- ServletContext sContext = new JspCServletContext(logWriter,
- baseUrl);
- ServletConfig sConfig = new MockServletConfig(sContext);
- Options options = createOptions(sContext, sConfig, info);
- JspRuntimeContext rtContext = new JspRuntimeContext(sContext,
- options);
- JspServletWrapper sWrapper = makeWrapper(sContext, options,
- rtContext);
- JspCompilationContext cContext = createJspCompilationContext(
- info, sContext, options, rtContext, sWrapper,
- new StringWriter());
- logCompilation(info.getJspSource(), info.getClassOutputDir());
- compileJspToJava(sWrapper, cContext);
- File javaFile = new File(info.getJavaSource());
- assertTrue("Failed to generate .java source code to "
- + javaFile.getAbsolutePath(), javaFile.exists());
- info.compilationWasSuccessful();
- }
-
- private void compileJspToJava(
- JspServletWrapper jspServletWrapper,
- JspCompilationContext jspCompilationContext)
- throws FileNotFoundException, JasperException, Exception {
- Compiler compiler = new AntCompiler();
- compiler.init(jspCompilationContext, jspServletWrapper);
- compiler.compile();
- }
-
- private JspCompilationContext createJspCompilationContext(
- JspCompilationInfo info, ServletContext servletContext,
- Options options, JspRuntimeContext jspRuntimeContext,
- JspServletWrapper jspServletWrapper,
- StringWriter stringWriter) {
- boolean isErrorPage = false;
- JspCompilationContext cContext = new JspCompilationContext(
- info.getJspPath(), isErrorPage, options,
- servletContext, jspServletWrapper, jspRuntimeContext);
- cContext.getOutputDir(); // forces creation of the directory tree
- cContext.setServletJavaFileName(info.getJavaSource());
- cContext.setServletPackageName(getJspPackageName());
- cContext.setWriter(new ServletWriter(new PrintWriter(
- stringWriter)));
- createPathToGeneratedJavaSource(info);
- return cContext;
- }
-
- private void createPathToGeneratedJavaSource(
- JspCompilationInfo info) {
- new File(info.getJavaSource()).getParentFile().mkdirs();
- }
-
- private JspServletWrapper makeWrapper(
- ServletContext servletContext, Options options,
- JspRuntimeContext jspRuntimeContext)
- throws MalformedURLException, JasperException {
- TagInfo tagInfo = new MockTagInfo();
- String tagFilePath = "/";
- URL tagFileJarUrl = new File(".").toURL();
- JspServletWrapper wrapper = new JspServletWrapper(
- servletContext, options, tagFilePath, tagInfo,
- jspRuntimeContext, tagFileJarUrl);
- return wrapper;
- }
-
- private Options createOptions(ServletContext ctx,
- ServletConfig cfg, JspCompilationInfo info) {
- Options options = new EmbeddedServletOptions(cfg, ctx);
- return new MockOptions(options, ctx, info.getTaglibs());
- }
-
- private void resolveJavaSourceFile(JspCompilationInfo info) {
- File dir = new File(info.getClassOutputDir());
- if (getJspPackageName().length() > 0) {
- dir = new File(dir, getJspPackageName().replace('.', '/'));
- }
- dir.mkdirs();
- String name = resolveJavaSourceFileName(info.getJspPath());
- info.setJavaSource(new File(dir, name).getPath());
- }
-
- private String resolveJavaSourceFileName(String jspPath) {
- String name = encodeSpecialCharacters(jspPath);
- // name = name.replace(".jsp", "_jsp.java");
- if (name.startsWith("/")) {
- name = name.substring(1);
- }
- return name + ".java";
- }
-
- private String encodeSpecialCharacters(String name) {
- StringBuffer result = new StringBuffer();
- char[] chars = name.toCharArray();
- for (int i = 0; i < chars.length; i++) {
- if (chars[i] == '-') {
- result.append("_002d");
- } else if (chars[i] == '_') {
- result.append("_005f");
- } else if (chars[i] == '.') {
- result.append("_002e");
- } else {
- result.append(chars[i]);
- }
- }
- return result.toString();
- }
-
- private String resolveJspSourceFile(String jsp) {
- if (jsp.startsWith("/")) {
- jsp = jsp.substring(1);
- }
- return new File(getWebRoot(), jsp).getPath();
- }
-
- private void resolveClassName(JspCompilationInfo info) {
- String baseName = new File(info.getJavaSource()).getName();
- baseName = baseName.substring(0, baseName.indexOf("."));
- String packageName = getPackagePrefix()
- + getSubDirPackagePrefix(info);
- info.setClassName(packageName + baseName);
- }
-
- private String getPackagePrefix() {
- String packagePrefix = getJspPackageName();
- if (packagePrefix != null && packagePrefix.length() > 0) {
- packagePrefix = packagePrefix + ".";
- }
- return packagePrefix;
- }
-
- private String getSubDirPackagePrefix(JspCompilationInfo info) {
- String dirPrefix = info.getJspPath();
- if (dirPrefix.startsWith("/")) {
- dirPrefix = dirPrefix.substring(1);
- }
- int lastSlashIndex = dirPrefix.lastIndexOf("/");
- if (lastSlashIndex != -1) {
- dirPrefix = dirPrefix.substring(0, lastSlashIndex);
- dirPrefix = encodeSpecialCharacters(dirPrefix);
- dirPrefix = dirPrefix.replace('/', '.') + ".";
- } else {
- dirPrefix = "";
- }
- return dirPrefix;
- }
-
- private void compileJavaToBytecode(JspCompilationInfo info)
- throws Exception {
- File classFile = new File(info.getClassFile());
- classFile.delete();
- logCompilation(info.getJavaSource(), info.getClassOutputDir());
- boolean ok = javac().compile(info.getJavaSource(),
- info.getClassOutputDir(), getClassPath());
- assertTrue("javac failed", ok);
- assertTrue("Failed to compile .java file to "
- + classFile.getAbsolutePath(), classFile.exists());
- }
-
- private String[] getClassPath() {
- Path cp = new Path();
- cp.addSystemProperty("java.class.path");
- cp.addContainer(javax.servlet.jsp.tagext.JspTag.class);
- cp.addContainer(javax.servlet.jsp.jstl.core.LoopTag.class);
- cp.addContainer(javax.servlet.http.HttpServlet.class);
- cp.addContainer(org.apache.taglibs.standard.Version.class);
- cp.addContainer(org.apache.jasper.JspC.class);
- cp.addContainer(org.apache.jasper.compiler.Compiler.class);
- cp.addContainer(org.apache.jasper.runtime.HttpJspBase.class);
- cp.add(new File("target", "test-classes"));
- cp.add(new File("target", "classes").getAbsolutePath());
- return cp.toStringArray();
- }
-
- private void resolveClassFileLocation(JspCompilationInfo info) {
- String file = info.getJavaSource().replace(".java", ".class");
- info.setClassFile(file);
- }
-
- private static void assertTrue(String errorMessage,
- boolean condition) {
- if (!condition) {
- throw new RuntimeException(errorMessage);
- }
- }
-
- private static JavaCompiler determineJavaCompiler() {
- List compilers = new ArrayList();
- // this doesn't work because with Maven we need to set the classpath
- // explicitly as the "current" classpath does not include our
- // dependencies
- compilers.add(new SunJavaC());
- compilers.add(new CommandLineJavac());
- for (Iterator i = compilers.iterator(); i.hasNext();) {
- JavaCompiler compiler = (JavaCompiler) i.next();
- if (compiler.isAvailable()) {
- log.debug("Using JavaCompiler: "
- + compiler.getClass().getName());
- return compiler;
- }
- }
- throw new RuntimeException(
- "No JavaCompiler implementation available on the system");
- }
-
- private static JavaCompiler javac() {
- return COMPILER;
- }
-
- private void logCompilation(String src, String dst) {
- log.debug(" Compiling " + src + " to " + dst);
- }
-}
Copied: tags/jsptest-0.15/jsptest-jsp20/src/main/java/net/sf/jsptest/compiler/jsp20/JasperCompiler.java (from rev 209, trunk/jsptest-jsp20/src/main/java/net/sf/jsptest/compiler/jsp20/JasperCompiler.java)
===================================================================
--- tags/jsptest-0.15/jsptest-jsp20/src/main/java/net/sf/jsptest/compiler/jsp20/JasperCompiler.java (rev 0)
+++ tags/jsptest-0.15/jsptest-jsp20/src/main/java/net/sf/jsptest/compiler/jsp20/JasperCompiler.java 2008-04-09 20:01:48 UTC (rev 211)
@@ -0,0 +1,415 @@
+/*
+ * Copyright 2007 Lasse Koskela.
+ *
+ * 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 License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.sf.jsptest.compiler.jsp20;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.jsp.tagext.TagInfo;
+
+import net.sf.jsptest.compiler.JspCompilationInfo;
+import net.sf.jsptest.compiler.java.CommandLineJavac;
+import net.sf.jsptest.compiler.java.JavaCompiler;
+import net.sf.jsptest.compiler.java.SunJavaC;
+import net.sf.jsptest.compiler.jsp20.mock.MockOptions;
+import net.sf.jsptest.compiler.jsp20.mock.MockServletConfig;
+import net.sf.jsptest.compiler.jsp20.mock.MockTagInfo;
+import net.sf.jsptest.utils.Path;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.jasper.EmbeddedServletOptions;
+import org.apache.jasper.JasperException;
+import org.apache.jasper.JspCompilationContext;
+import org.apache.jasper.Options;
+import org.apache.jasper.compiler.AntCompiler;
+import org.apache.jasper.compiler.Compiler;
+import org.apache.jasper.compiler.JspRuntimeContext;
+import org.apache.jasper.compiler.ServletWriter;
+import org.apache.jasper.servlet.JspCServletContext;
+import org.apache.jasper.servlet.JspServletWrapper;
+
+/**
+ * The <tt>JasperTestCase</tt> provides a facility for compiling JavaServer
+ * Pages outside a real Servlet/JSP container.
+ * <p>
+ * It makes use of Jakarta Tomcat's Jasper JSP compiler to compile a JSP file
+ * into Java source code, and then Sun's javac implementation to compile the
+ * Java source code into Java bytecode.
+ * <p>
+ * The resulting .class file is written under a "WEB-INF/classes" directory
+ * under the "web root" defined by concrete subclasses through the
+ * implementation of <tt>getWebRoot()</tt>. If you want the .class files to
+ * be generated somewhere else than under the web root, you can also override
+ * <tt>getClassOutputBaseDir()</tt>, which specifies the root directory for
+ * the compiled .class files.
+ * <p>
+ * The resulting Servlet class gets its package based on the
+ * <tt>getJspPackageName()</tt> method which can be overridden if necessary.
+ * The default is "jsp" which means that, for example, a JSP named
+ * "front_page.jsp" would eventually be translated into a class file
+ * "[webroot]/WEB-INF/classes/jsp/front_page_jsp.class" where "jsp/" is the JSP
+ * package name and "front_page_jsp.class" the normalized class name derived
+ * from the source JSP file's name.
+ *
+ * @author Lasse Koskela
+ */
+public class JasperCompiler {
+
+ private static final Log log = LogFactory
+ .getLog(JasperCompiler.class);
+
+ private static JavaCompiler COMPILER = determineJavaCompiler();
+
+ private String webRoot;
+
+ private String classOutputBaseDir;
+
+ private String jspPackageName;
+
+ public JasperCompiler() {
+ webRoot = ".";
+ classOutputBaseDir = ".";
+ }
+
+ /**
+ * Sets the "web root", i.e. the root directory of your exploded J2EE web
+ * application. In other words, this is the directory under which you should
+ * have a subdirectory named "WEB-INF".
+ */
+ public void setWebRoot(String webRoot) {
+ this.webRoot = webRoot;
+ }
+
+ /**
+ * Sets the directory where generated .class file(s) should be written..
+ */
+ public void setClassOutputBaseDir(String directory) {
+ this.classOutputBaseDir = directory;
+ }
+
+ /**
+ * Compile the specified JSP source file into bytecode.
+ *
+ * @param path
+ * The path to the JSP source file to compile, given relative
+ * to the web root.
+ * @param mockTaglibs
+ * Mapping of tagnames to tag handler classes
+ */
+ public JspCompilationInfo compile(String path, Map mockTaglibs)
+ throws Exception {
+ JspCompilationInfo info = createJspCompilationInfo(path,
+ mockTaglibs);
+ if (info.jspCompilationRequired()) {
+ compileJsp(info);
+ compileJavaToBytecode(info);
+ } else {
+ log.debug(" No compilation needed for "
+ + info.getJspSource());
+ }
+ return info;
+ }
+
+ /**
+ * Sets the package name for the generated Java classes. The default package
+ * name is "jsp".
+ */
+ public void setJspPackageName(String packageName) {
+ this.jspPackageName = packageName;
+ }
+
+ /**
+ * Returns the package name for the generated Java class.
+ */
+ private String getJspPackageName() {
+ if (jspPackageName != null) {
+ return jspPackageName;
+ } else {
+ return "jsp";
+ }
+ }
+
+ private JspCompilationInfo createJspCompilationInfo(String jsp,
+ Map mockTaglibs) {
+ JspCompilationInfo info = new JspCompilationInfo();
+ info.setJspPath(jsp);
+ info.setClassOutputDir(classOutputBaseDir);
+ info.setJspSource(resolveJspSourceFile(jsp));
+ info.setWebRoot(getWebRoot());
+ info.setTaglibs(mockTaglibs);
+ resolveJavaSourceFile(info);
+ resolveClassFileLocation(info);
+ resolveClassName(info);
+ return info;
+ }
+
+ private String getWebRoot() {
+ File root = new File(webRoot);
+ if (root.exists() && root.isDirectory()) {
+ return root.getAbsolutePath();
+ } else {
+ return resolveWebRootFromClassPath();
+ }
+ }
+
+ private String resolveWebRootFromClassPath() {
+ String path = webRoot;
+ if (path.startsWith("./")) {
+ path = path.substring(2);
+ }
+ URL url = getClass().getClassLoader().getResource(path);
+ if (url == null) {
+ return webRoot;
+ }
+ if (!url.toExternalForm().startsWith("file:")) {
+ log
+ .info("Web root referenced a non-filesystem resource: "
+ + url);
+ return webRoot;
+ }
+ return new File(url.toExternalForm().substring(
+ "file:".length())).getAbsolutePath();
+ }
+
+ private void compileJsp(JspCompilationInfo info) throws Exception {
+ assertTrue("Source file "
+ + new File(info.getJspSource()).getAbsolutePath()
+ + " does not exist", new File(info.getJspSource())
+ .exists());
+ PrintWriter logWriter = new PrintWriter(new StringWriter());
+ URL baseUrl = new File(info.getWebRoot()).toURL();
+ ServletContext sContext = new JspCServletContext(logWriter,
+ baseUrl);
+ ServletConfig sConfig = new MockServletConfig(sContext);
+ Options options = createOptions(sContext, sConfig, info);
+ JspRuntimeContext rtContext = new JspRuntimeContext(sContext,
+ options);
+ JspServletWrapper sWrapper = makeWrapper(sContext, options,
+ rtContext);
+ JspCompilationContext cContext = createJspCompilationContext(
+ info, sContext, options, rtContext, sWrapper,
+ new StringWriter());
+ logCompilation(info.getJspSource(), info.getClassOutputDir());
+ compileJspToJava(sWrapper, cContext);
+ File javaFile = new File(info.getJavaSource());
+ assertTrue("Failed to generate .java source code to "
+ + javaFile.getAbsolutePath(), javaFile.exists());
+ info.compilationWasSuccessful();
+ }
+
+ private void compileJspToJava(
+ JspServletWrapper jspServletWrapper,
+ JspCompilationContext jspCompilationContext)
+ throws FileNotFoundException, JasperException, Exception {
+ Compiler compiler = new AntCompiler();
+ compiler.init(jspCompilationContext, jspServletWrapper);
+ compiler.compile();
+ }
+
+ private JspCompilationContext createJspCompilationContext(
+ JspCompilationInfo info, ServletContext servletContext,
+ Options options, JspRuntimeContext jspRuntimeContext,
+ JspServletWrapper jspServletWrapper,
+ StringWriter stringWriter) {
+ boolean isErrorPage = false;
+ JspCompilationContext cContext = new JspCompilationContext(
+ info.getJspPath(), isErrorPage, options,
+ servletContext, jspServletWrapper, jspRuntimeContext);
+ cContext.getOutputDir(); // forces creation of the directory tree
+ cContext.setServletJavaFileName(info.getJavaSource());
+ cContext.setServletPackageName(getJspPackageName());
+ cContext.setWriter(new ServletWriter(new PrintWriter(
+ stringWriter)));
+ createPathToGeneratedJavaSource(info);
+ return cContext;
+ }
+
+ private void createPathToGeneratedJavaSource(
+ JspCompilationInfo info) {
+ new File(info.getJavaSource()).getParentFile().mkdirs();
+ }
+
+ private JspServletWrapper makeWrapper(
+ ServletContext servletContext, Options options,
+ JspRuntimeContext jspRuntimeContext)
+ throws MalformedURLException, JasperException {
+ TagInfo tagInfo = new MockTagInfo();
+ String tagFilePath = "/";
+ URL tagFileJarUrl = new File(".").toURL();
+ JspServletWrapper wrapper = new JspServletWrapper(
+ servletContext, options, tagFilePath, tagInfo,
+ jspRuntimeContext, tagFileJarUrl);
+ return wrapper;
+ }
+
+ private Options createOptions(ServletContext ctx,
+ ServletConfig cfg, JspCompilationInfo info) {
+ Options options = new EmbeddedServletOptions(cfg, ctx);
+ return new MockOptions(options, ctx, info.getTaglibs());
+ }
+
+ private void resolveJavaSourceFile(JspCompilationInfo info) {
+ File dir = new File(info.getClassOutputDir());
+ if (getJspPackageName().length() > 0) {
+ dir = new File(dir, getJspPackageName().replace('.', '/'));
+ }
+ dir.mkdirs();
+ String name = resolveJavaSourceFileName(info.getJspPath());
+ info.setJavaSource(new File(dir, name).getPath());
+ }
+
+ private String resolveJavaSourceFileName(String jspPath) {
+ String name = encodeSpecialCharacters(jspPath);
+ if (name.startsWith("/")) {
+ name = name.substring(1);
+ }
+ return name + ".java";
+ }
+
+ private String encodeSpecialCharacters(String name) {
+ StringBuffer result = new StringBuffer();
+ char[] chars = name.toCharArray();
+ for (int i = 0; i < chars.length; i++) {
+ if (chars[i] == '-') {
+ result.append("_002d");
+ } else if (chars[i] == '_') {
+ result.append("_005f");
+ } else if (chars[i] == '.') {
+ result.append("_");
+ } else {
+ result.append(chars[i]);
+ }
+ }
+ return result.toString();
+ }
+
+ private String resolveJspSourceFile(String jsp) {
+ if (jsp.startsWith("/")) {
+ jsp = jsp.substring(1);
+ }
+ return new File(getWebRoot(), jsp).getPath();
+ }
+
+ private void resolveClassName(JspCompilationInfo info) {
+ String baseName = new File(info.getJavaSource()).getName();
+ baseName = baseName.substring(0, baseName.indexOf("."));
+ String packageName = getPackagePrefix()
+ + getSubDirPackagePrefix(info);
+ info.setClassName(packageName + baseName);
+ }
+
+ private String getPackagePrefix() {
+ String packagePrefix = getJspPackageName();
+ if (packagePrefix != null && packagePrefix.length() > 0) {
+ packagePrefix = packagePrefix + ".";
+ }
+ return packagePrefix;
+ }
+
+ private String getSubDirPackagePrefix(JspCompilationInfo info) {
+ String dirPrefix = info.getJspPath();
+ if (dirPrefi...
[truncated message content] |