Hi, I've just committed an archetype for manila tests to the svn repository on assembla. It creates a myfaces codi application (slightly adapted version of the CODI JSF 2.0 Archetype) with a simple test case which is run against MyFaces and Mojarra. In order to use it you have to: 1) Check out the latest manila version from http://subversion.assembla.com/svn/manila/ 2) mvn install 3) Create the application with "mvn archetype:generate -DarchetypeGroupId=org.apache.myfaces.test.manila -DarchetypeArtifactId=manila-archetype -DarchetypeVersion=1.0"
The test runs fine with MyFaces but there are still some issues with Mojarra, I have to check whether this is related to Manila or not. Jan On Wed, Aug 24, 2011 at 5:46 PM, Gerhard Petracek <gerhard.petra...@gmail.com> wrote: > hi jan, > it's great to hear that! > an archetype which generates manila tests for different setups would be > nice. > one of several use-cases: start of a new codi feature -> create a jira issue > -> generate a manila test with the name of the jira issue as module-name. > so we can add manila tests as separated maven sub-modules to the > integration-test module (of a concrete project) and the tests get executed > automatically with 1-n setups (also different containers) without additional > configuration. > creating such tests would be very easy and fast. > before we do that we have to test the compatibility with our jenkins > instance. > as soon as it works there, we should start a vote about including it at > myfaces. > > regards, > gerhard > http://www.irian.at > > Your JSF powerhouse - > JSF Consulting, Development and > Courses in English and German > > Professional Support for Apache MyFaces > > > > 2011/8/24 Jan Zarnikov <jan.zarni...@gmail.com> >> >> The coding deadline for GSoC was on 22nd so Manila is finished (well >> at least the GSoC part and the requirements we defined there). I'm not >> planning to abandon it and walk away from it just because GSoC 2011 is >> over. I'm ready to improve it and maintain it as long as there are >> some active users. >> >> I'll write some more details about the current state of Manila in a >> separate mail and in the Jira issue. >> >> Jan >> >> >> >> On Wed, Aug 24, 2011 at 3:51 PM, Jakob Korherr <jak...@apache.org> wrote: >> > And of course, we should also keep Jan's GSoC project Manila in mind, >> > which is soon finished! >> > >> > Regards, >> > Jakob >> > >> > 2011/8/24 Jakob Korherr <jak...@apache.org>: >> >> Hi guys, >> >> >> >> I just committed an archetype for creating an integration-test module >> >> for MyFaces core. >> >> >> >> With this archetype you are able to generate a module with one of >> >> three configurations (servlet 2.5 + el 1.0, servlet 2.5 + el 2.2 or >> >> serlvet 3.0 + el 2.2), just like the basic integration-tests modules >> >> in the 2.0.x branch. >> >> >> >> This stuff works pretty well, however while working on the archetype I >> >> was - again - thinking about the basic integration-test architecture >> >> for MyFaces core and I found some flaws in the current design. For >> >> example it is not possible to test MyFaces core 2.0.7-SNAPSHOT or >> >> earlier, b/c there was no integration-test support module back then. >> >> Or the version of MyFaces core is currently only defined by the parent >> >> module, which is pretty inflexible. And of course there is also the >> >> discussion about re-using some tests across different versions, which >> >> is not easily possible at the moment. >> >> >> >> Thus I am thinking of changing the integration-test module structure a >> >> bit, which would of course also mean changing the archetype. So please >> >> see this archetype as a first draft and nothing more! >> >> >> >> Suggestions for a kick-ass integration-test module structure are >> >> always welcome! Thanks for your attention. >> >> >> >> Regards, >> >> Jakob >> >> >> >> ---------- Forwarded message ---------- >> >> From: <jak...@apache.org> >> >> Date: 2011/8/24 >> >> Subject: svn commit: r1161089 - in >> >> /myfaces/myfaces-build-tools/trunk/maven2-archetypes: ./ >> >> myfaces-archetype-codi-jsf12/src/site/apt/ >> >> myfaces-archetype-codi-jsf20/src/site/apt/ >> >> myfaces-archetype-core-integration-test/ >> >> myfaces-archetype-core-integration-test/sr... >> >> To: comm...@myfaces.apache.org >> >> >> >> >> >> Author: jakobk >> >> Date: Wed Aug 24 13:19:38 2011 >> >> New Revision: 1161089 >> >> >> >> URL: http://svn.apache.org/viewvc?rev=1161089&view=rev >> >> Log: >> >> MYFACES-3290 Archetype for integration-test modules >> >> >> >> Added: >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/ >> >> (with props) >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/pom.xml >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/ >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/ >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/ >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/META-INF/ >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/META-INF/LICENSE.txt >> >> - copied unchanged from r1146098, >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-codi-jsf20/src/main/resources/META-INF/LICENSE.txt >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/META-INF/NOTICE.txt >> >> - copied unchanged from r1146098, >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-codi-jsf20/src/main/resources/META-INF/NOTICE.txt >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/META-INF/maven/ >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/META-INF/maven/archetype-metadata.xml >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/ >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/pom.xml >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/ >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/ >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/java/ >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/java/TestBean.java >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/webapp/ >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/ >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/webapp/pages/ >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/webapp/pages/index.xhtml >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/test/ >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/test/java/ >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/test/java/IntegrationTest.java >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/site/ >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/site/apt/ >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/site/apt/index.apt >> >> Modified: >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-codi-jsf12/src/site/apt/index.apt >> >> >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-codi-jsf20/src/site/apt/index.apt >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/pom.xml >> >> >> >> Modified: >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-codi-jsf12/src/site/apt/index.apt >> >> URL: >> >> http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-codi-jsf12/src/site/apt/index.apt?rev=1161089&r1=1161088&r2=1161089&view=diff >> >> >> >> ============================================================================== >> >> --- >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-codi-jsf12/src/site/apt/index.apt >> >> (original) >> >> +++ >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-codi-jsf12/src/site/apt/index.apt >> >> Wed Aug 24 13:19:38 2011 >> >> @@ -1,5 +1,5 @@ >> >> ------ >> >> - Myfaces CODI JSF 1.2 Archetype >> >> + MyFaces CODI JSF 1.2 Archetype >> >> ------ >> >> >> >> Overview >> >> >> >> Modified: >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-codi-jsf20/src/site/apt/index.apt >> >> URL: >> >> http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-codi-jsf20/src/site/apt/index.apt?rev=1161089&r1=1161088&r2=1161089&view=diff >> >> >> >> ============================================================================== >> >> --- >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-codi-jsf20/src/site/apt/index.apt >> >> (original) >> >> +++ >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-codi-jsf20/src/site/apt/index.apt >> >> Wed Aug 24 13:19:38 2011 >> >> @@ -1,5 +1,5 @@ >> >> ------ >> >> - Myfaces CODI JSF 2.0 Archetype >> >> + MyFaces CODI JSF 2.0 Archetype >> >> ------ >> >> >> >> Overview >> >> >> >> Propchange: >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/ >> >> >> >> ------------------------------------------------------------------------------ >> >> --- svn:ignore (added) >> >> +++ svn:ignore Wed Aug 24 13:19:38 2011 >> >> @@ -0,0 +1,10 @@ >> >> +target >> >> +.classpath >> >> +.project >> >> +.wtpmodules >> >> +*.ipr >> >> +*.iml >> >> +*.iws >> >> +.settings >> >> +.externalToolBuilders >> >> +maven-eclipse.xml >> >> >> >> Added: >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/pom.xml >> >> URL: >> >> http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/pom.xml?rev=1161089&view=auto >> >> >> >> ============================================================================== >> >> --- >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/pom.xml >> >> (added) >> >> +++ >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/pom.xml >> >> Wed Aug 24 13:19:38 2011 >> >> @@ -0,0 +1,40 @@ >> >> +<?xml version="1.0" encoding="UTF-8"?> >> >> +<!-- >> >> + Licensed to the Apache Software Foundation (ASF) under one >> >> + or more contributor license agreements. See the NOTICE file >> >> + distributed with this work for additional information >> >> + regarding copyright ownership. The ASF licenses this file >> >> + to you 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. >> >> +--> >> >> +<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>org.apache.myfaces.buildtools</groupId> >> >> + <artifactId>myfaces-archetype-parent</artifactId> >> >> + <version>1.0.4-SNAPSHOT</version> >> >> + </parent> >> >> + >> >> + <modelVersion>4.0.0</modelVersion> >> >> + <groupId>org.apache.myfaces.buildtools</groupId> >> >> + <artifactId>myfaces-archetype-core-integration-test</artifactId> >> >> + <packaging>jar</packaging> <!-- maven-archetype --> >> >> + <name>MyFaces Core Integration Test Archetype</name> >> >> + >> >> + <description> >> >> + Archetype to create a new MyFaces core project used for >> >> integration tests via cargo and HtmlUnit. >> >> + Projects created via this archetype aim to test specific >> >> issues from the MyFaces core JIRA issue >> >> + tracker and can be directly added to the MyFaces core >> >> integration-tests module. >> >> + </description> >> >> + >> >> +</project> >> >> >> >> Added: >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/META-INF/maven/archetype-metadata.xml >> >> URL: >> >> http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/META-INF/maven/archetype-metadata.xml?rev=1161089&view=auto >> >> >> >> ============================================================================== >> >> --- >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/META-INF/maven/archetype-metadata.xml >> >> (added) >> >> +++ >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/META-INF/maven/archetype-metadata.xml >> >> Wed Aug 24 13:19:38 2011 >> >> @@ -0,0 +1,67 @@ >> >> +<?xml version="1.0" encoding="UTF-8"?> >> >> +<!-- >> >> + Licensed to the Apache Software Foundation (ASF) under one >> >> + or more contributor license agreements. See the NOTICE file >> >> + distributed with this work for additional information >> >> + regarding copyright ownership. The ASF licenses this file >> >> + to you 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. >> >> +--> >> >> +<archetype-descriptor >> >> >> >> xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" >> >> + >> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >> + >> >> >> >> xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 >> >> http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" >> >> + name="myfaces-archetype-core-integration-test" >> >> partial="false"> >> >> + >> >> + <requiredProperties> >> >> + <requiredProperty key="groupId"> >> >> + >> >> <defaultValue>org.apache.myfaces.core.integrationtest</defaultValue> >> >> + </requiredProperty> >> >> + >> >> + <requiredProperty key="package"> >> >> + >> >> <defaultValue>org.apache.myfaces.integrationtest</defaultValue> >> >> + </requiredProperty> >> >> + >> >> + <requiredProperty key="version"> >> >> + <defaultValue>2.0.9-SNAPSHOT</defaultValue> >> >> + </requiredProperty> >> >> + >> >> + <!-- >> >> + The issueId from the MyFaces core JIRA issue for which >> >> + this integration test is created (e.g MYFACES-1234) >> >> + --> >> >> + <requiredProperty key="issueId" /> >> >> + >> >> + <!-- >> >> + type of environment: >> >> + 0 - servlet 2.5 + el 1.0 (default) >> >> + 1 - servlet 2.5 + el 2.2 >> >> + 2 - servlet 3.0 + el 2.2 >> >> + --> >> >> + <requiredProperty key="environmentType" /> >> >> + </requiredProperties> >> >> + >> >> + <fileSets> >> >> + <fileSet filtered="true" packaged="true"> >> >> + <directory>src/main/java/</directory> >> >> + </fileSet> >> >> + <fileSet filtered="true" packaged="true"> >> >> + <directory>src/test/java/</directory> >> >> + </fileSet> >> >> + <fileSet filtered="true" packaged="false"> >> >> + <directory>src/main/webapp/</directory> >> >> + </fileSet> >> >> + </fileSets> >> >> + >> >> + <modules/> >> >> + >> >> +</archetype-descriptor> >> >> >> >> Added: >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/pom.xml >> >> URL: >> >> http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/pom.xml?rev=1161089&view=auto >> >> >> >> ============================================================================== >> >> --- >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/pom.xml >> >> (added) >> >> +++ >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/pom.xml >> >> Wed Aug 24 13:19:38 2011 >> >> @@ -0,0 +1,216 @@ >> >> +#set( $symbol_pound = '#' ) >> >> +#set( $symbol_dollar = '$' ) >> >> +#set( $symbol_escape = '\' ) >> >> +<?xml version="1.0" encoding="UTF-8"?> >> >> +<!-- >> >> + * Licensed to the Apache Software Foundation (ASF) under one or more >> >> + * contributor license agreements. See the NOTICE file distributed >> >> with >> >> + * this work for additional information regarding copyright ownership. >> >> + * The ASF licenses this file to you 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. >> >> +--> >> >> +<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>org.apache.myfaces.core.integrationtest</groupId> >> >> + <artifactId>myfaces-integration-tests</artifactId> >> >> + >> >> + <!-- NOTE: set appropriate version, e.g. 2.0.x-SNAPSHOT or >> >> 2.1.x-SNAPSHOT --> >> >> + <version>${version}</version> >> >> + </parent> >> >> + >> >> + <modelVersion>4.0.0</modelVersion> >> >> + >> >> + <groupId>${groupId}</groupId> >> >> + <artifactId>${artifactId}</artifactId> >> >> + <packaging>war</packaging> >> >> + <name>Apache MyFaces JSF-2.0 Core Integration Tests - >> >> ${issueId}</name> >> >> + >> >> + >> >> + <build> >> >> + <plugins> >> >> + <plugin> >> >> + <!-- to start the container for manual tests use "mvn >> >> clean package cargo:run" --> >> >> + <groupId>org.codehaus.cargo</groupId> >> >> + <artifactId>cargo-maven2-plugin</artifactId> >> >> + <configuration> >> >> + <container> >> >> +## servlet 2.5 + el 2.2 >> >> +#if ($environmentType == 1) >> >> + <!-- using jetty6x here, b/c jetty7x does not >> >> play well with el-2.2 integration --> >> >> + <containerId>jetty6x</containerId> >> >> + <type>embedded</type> >> >> + >> >> + <dependencies> >> >> + <!-- use el 2.2 api+impl from glassfish >> >> --> >> >> + <dependency> >> >> + <groupId>javax.el</groupId> >> >> + <artifactId>javax.el-api</artifactId> >> >> + </dependency> >> >> + <dependency> >> >> + <groupId>org.glassfish.web</groupId> >> >> + <artifactId>javax.el</artifactId> >> >> + </dependency> >> >> + </dependencies> >> >> +## servlet 3.0 + el 2.2 >> >> +#elseif ($environmentType == 2) >> >> + <containerId>tomcat7x</containerId> >> >> + <zipUrlInstaller> >> >> + >> >> >> >> <url>http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16.zip</url> >> >> + </zipUrlInstaller> >> >> +## servlet 2.5 + el 1.0 (default) >> >> +#else >> >> + <containerId>tomcat6x</containerId> >> >> + <zipUrlInstaller> >> >> + >> >> >> >> <url>http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.zip</url> >> >> + </zipUrlInstaller> >> >> +#end >> >> + </container> >> >> + >> >> + <configuration> >> >> + <properties> >> >> + >> >> <cargo.servlet.port>${symbol_dollar}{cargo.port}</cargo.servlet.port> >> >> + </properties> >> >> + >> >> + <deployables> >> >> + <deployable> >> >> + >> >> <groupId>${symbol_dollar}{project.groupId}</groupId> >> >> + >> >> <artifactId>${symbol_dollar}{project.artifactId}</artifactId> >> >> + <type>war</type> >> >> + <properties> >> >> + >> >> <context>${symbol_dollar}{cargo.context}</context> >> >> + </properties> >> >> + </deployable> >> >> + </deployables> >> >> + </configuration> >> >> + </configuration> >> >> + <executions> >> >> + <execution> >> >> + <id>start-container</id> >> >> + <phase>pre-integration-test</phase> >> >> + <goals> >> >> + <goal>start</goal> >> >> + </goals> >> >> + </execution> >> >> + <execution> >> >> + <id>stop-container</id> >> >> + <phase>post-integration-test</phase> >> >> + <goals> >> >> + <goal>stop</goal> >> >> + </goals> >> >> + </execution> >> >> + </executions> >> >> + </plugin> >> >> + >> >> + <plugin> >> >> + <!-- using failsafe instead of surefire plugin >> >> ensures execution of phase post-integration-test --> >> >> + <artifactId>maven-failsafe-plugin</artifactId> >> >> + <executions> >> >> + <execution> >> >> + <id>htmlunit-integration-tests</id> >> >> + <phase>integration-test</phase> >> >> + <goals> >> >> + <goal>integration-test</goal> >> >> + </goals> >> >> + <configuration> >> >> + <includes> >> >> + <include>**/*Test*.java</include> >> >> + </includes> >> >> + <skip>false</skip> >> >> + >> >> <testNGArtifactName>none:none</testNGArtifactName> >> >> + <systemPropertyVariables> >> >> + <!-- pass properties to JUnit --> >> >> + >> >> <cargo.context>${symbol_dollar}{cargo.context}</cargo.context> >> >> + >> >> <cargo.port>${symbol_dollar}{cargo.port}</cargo.port> >> >> + </systemPropertyVariables> >> >> + </configuration> >> >> + </execution> >> >> + <execution> >> >> + <id>verify</id> >> >> + <phase>verify</phase> >> >> + <goals> >> >> + <goal>verify</goal> >> >> + </goals> >> >> + </execution> >> >> + </executions> >> >> + </plugin> >> >> + >> >> + </plugins> >> >> + </build> >> >> + >> >> + >> >> + <dependencies> >> >> + >> >> +## servlet 2.5 + el 2.2 >> >> +#if ($environmentType == 1) >> >> + <!-- servlet 2.5 --> >> >> + <dependency> >> >> + <groupId>org.apache.geronimo.specs</groupId> >> >> + <artifactId>geronimo-servlet_2.5_spec</artifactId> >> >> + <scope>provided</scope> >> >> + </dependency> >> >> + >> >> + <!-- el 2.2 api+impl from glassfish (need both dependencies >> >> here for cargo-plugin, see above) --> >> >> + <dependency> >> >> + <groupId>javax.el</groupId> >> >> + <artifactId>javax.el-api</artifactId> >> >> + <version>2.2.1</version> >> >> + <scope>provided</scope> >> >> + </dependency> >> >> + <dependency> >> >> + <groupId>org.glassfish.web</groupId> >> >> + <artifactId>javax.el</artifactId> >> >> + <version>2.2.1</version> >> >> + <scope>provided</scope> >> >> + </dependency> >> >> +## servlet 3.0 + el 2.2 >> >> +#elseif ($environmentType == 2) >> >> + <!-- servlet 3.0 --> >> >> + <dependency> >> >> + <groupId>org.apache.geronimo.specs</groupId> >> >> + <artifactId>geronimo-servlet_3.0_spec</artifactId> >> >> + <scope>provided</scope> >> >> + </dependency> >> >> + >> >> + <!-- el 2.2 --> >> >> + <dependency> >> >> + <groupId>org.apache.geronimo.specs</groupId> >> >> + <artifactId>geronimo-el_2.2_spec</artifactId> >> >> + <scope>provided</scope> >> >> + </dependency> >> >> +## servlet 2.5 + el 1.0 (default) >> >> +#else >> >> + <!-- servlet 2.5 --> >> >> + <dependency> >> >> + <groupId>org.apache.geronimo.specs</groupId> >> >> + <artifactId>geronimo-servlet_2.5_spec</artifactId> >> >> + <scope>provided</scope> >> >> + </dependency> >> >> + >> >> + <!-- el 1.0 --> >> >> + <dependency> >> >> + <groupId>org.apache.geronimo.specs</groupId> >> >> + <artifactId>geronimo-el_1.0_spec</artifactId> >> >> + <scope>provided</scope> >> >> + </dependency> >> >> +#end >> >> + >> >> + <!-- test support module --> >> >> + <dependency> >> >> + <groupId>org.apache.myfaces.core.integrationtest</groupId> >> >> + <artifactId>myfaces-integration-test-support</artifactId> >> >> + <scope>test</scope> >> >> + </dependency> >> >> + >> >> + </dependencies> >> >> + >> >> +</project> >> >> >> >> Added: >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/java/TestBean.java >> >> URL: >> >> http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/java/TestBean.java?rev=1161089&view=auto >> >> >> >> ============================================================================== >> >> --- >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/java/TestBean.java >> >> (added) >> >> +++ >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/java/TestBean.java >> >> Wed Aug 24 13:19:38 2011 >> >> @@ -0,0 +1,42 @@ >> >> +#set( $symbol_pound = '#' ) >> >> +#set( $symbol_dollar = '$' ) >> >> +#set( $symbol_escape = '\' ) >> >> +/* >> >> + * Licensed to the Apache Software Foundation (ASF) under one >> >> + * or more contributor license agreements. See the NOTICE file >> >> + * distributed with this work for additional information >> >> + * regarding copyright ownership. The ASF licenses this file >> >> + * to you 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 ${package}; >> >> + >> >> +import javax.faces.bean.ManagedBean; >> >> +import javax.faces.bean.RequestScoped; >> >> + >> >> +/** >> >> + * Bean for integration tests of ${issueId}. >> >> + */ >> >> +@ManagedBean >> >> +@RequestScoped >> >> +public class TestBean >> >> +{ >> >> + >> >> + // TODO >> >> + >> >> + public String action() >> >> + { >> >> + return null; >> >> + } >> >> + >> >> +} >> >> >> >> Added: >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml >> >> URL: >> >> http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml?rev=1161089&view=auto >> >> >> >> ============================================================================== >> >> --- >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml >> >> (added) >> >> +++ >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml >> >> Wed Aug 24 13:19:38 2011 >> >> @@ -0,0 +1,66 @@ >> >> +#set( $symbol_pound = '#' ) >> >> +#set( $symbol_dollar = '$' ) >> >> +#set( $symbol_escape = '\' ) >> >> +<?xml version = '1.0' encoding = 'ISO-8859-1'?> >> >> +<!-- >> >> + Licensed to the Apache Software Foundation (ASF) under one >> >> + or more contributor license agreements. See the NOTICE file >> >> + distributed with this work for additional information >> >> + regarding copyright ownership. The ASF licenses this file >> >> + to you 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. >> >> + >> >> +--> >> >> +<web-app xmlns="http://java.sun.com/xml/ns/javaee" >> >> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >> + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee >> >> http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >> >> + version="2.5"> >> >> + >> >> + <servlet> >> >> + <servlet-name>Faces Servlet</servlet-name> >> >> + <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> >> >> + <load-on-startup>1</load-on-startup> >> >> + </servlet> >> >> + >> >> + <servlet-mapping> >> >> + <servlet-name>Faces Servlet</servlet-name> >> >> + <url-pattern>*.xhtml</url-pattern> >> >> + </servlet-mapping> >> >> + >> >> + <context-param> >> >> + <param-name>javax.faces.PROJECT_STAGE</param-name> >> >> + <param-value>Production</param-value> >> >> + </context-param> >> >> + >> >> + <context-param> >> >> + <param-name>javax.faces.DEFAULT_SUFFIX</param-name> >> >> + <param-value>.xhtml</param-value> >> >> + </context-param> >> >> + >> >> + <welcome-file-list> >> >> + <welcome-file>index.xhtml</welcome-file> >> >> + </welcome-file-list> >> >> + >> >> +## servlet 2.5 + el 2.2 >> >> +#if ($environmentType == 1) >> >> + <!-- >> >> + we have to explicitly configure glassfish's el 2.2 >> >> implementation, >> >> + because it is not the standard one on this server >> >> + --> >> >> + <context-param> >> >> + <param-name>org.apache.myfaces.EXPRESSION_FACTORY</param-name> >> >> + <param-value>com.sun.el.ExpressionFactoryImpl</param-value> >> >> + </context-param> >> >> +#end >> >> + >> >> +</web-app> >> >> >> >> Added: >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/webapp/pages/index.xhtml >> >> URL: >> >> http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/webapp/pages/index.xhtml?rev=1161089&view=auto >> >> >> >> ============================================================================== >> >> --- >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/webapp/pages/index.xhtml >> >> (added) >> >> +++ >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/main/webapp/pages/index.xhtml >> >> Wed Aug 24 13:19:38 2011 >> >> @@ -0,0 +1,48 @@ >> >> +#set( $symbol_pound = '#' ) >> >> +#set( $symbol_dollar = '$' ) >> >> +#set( $symbol_escape = '\' ) >> >> +<?xml version="1.0" encoding="UTF-8"?> >> >> +<!-- >> >> + Licensed to the Apache Software Foundation (ASF) under one >> >> + or more contributor license agreements. See the NOTICE file >> >> + distributed with this work for additional information >> >> + regarding copyright ownership. The ASF licenses this file >> >> + to you 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. >> >> + >> >> +--> >> >> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >> >> + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> >> >> +<html xmlns="http://www.w3.org/1999/xhtml" >> >> + xmlns:f="http://java.sun.com/jsf/core" >> >> + xmlns:h="http://java.sun.com/jsf/html" >> >> + xmlns:ui="http://java.sun.com/jsf/facelets" >> >> + xmlns:c="http://java.sun.com/jsp/jstl/core"> >> >> +<h:head> >> >> + <title>Apache MyFaces Core - Integration test for >> >> ${issueId}</title> >> >> +</h:head> >> >> +<h:body> >> >> + >> >> + <h1>Apache MyFaces Core - Integration test for ${issueId}</h1> >> >> + >> >> + <h:messages /> >> >> + >> >> + <h:form id="form"> >> >> + >> >> + <!-- TODO --> >> >> + >> >> + <h:commandButton id="submit" value="Submit" >> >> action="${symbol_pound}{testBean.action}" /> >> >> + </h:form> >> >> + >> >> +</h:body> >> >> +</html> >> >> >> >> Added: >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/test/java/IntegrationTest.java >> >> URL: >> >> http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/test/java/IntegrationTest.java?rev=1161089&view=auto >> >> >> >> ============================================================================== >> >> --- >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/test/java/IntegrationTest.java >> >> (added) >> >> +++ >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/main/resources/archetype-resources/src/test/java/IntegrationTest.java >> >> Wed Aug 24 13:19:38 2011 >> >> @@ -0,0 +1,46 @@ >> >> +#set( $symbol_pound = '#' ) >> >> +#set( $symbol_dollar = '$' ) >> >> +#set( $symbol_escape = '\' ) >> >> +/* >> >> + * Licensed to the Apache Software Foundation (ASF) under one >> >> + * or more contributor license agreements. See the NOTICE file >> >> + * distributed with this work for additional information >> >> + * regarding copyright ownership. The ASF licenses this file >> >> + * to you 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 ${package}; >> >> + >> >> +import com.gargoylesoftware.htmlunit.html.HtmlPage; >> >> +import >> >> org.apache.myfaces.integrationtest.support.MyFacesIntegrationTest; >> >> +import org.junit.Assert; >> >> +import org.junit.Test; >> >> +import org.junit.runner.RunWith; >> >> +import org.junit.runners.JUnit4; >> >> + >> >> +/** >> >> + * Test cases for ${issueId}. >> >> + */ >> >> +@RunWith(JUnit4.class) >> >> +public class IntegrationTest extends MyFacesIntegrationTest >> >> +{ >> >> + >> >> + @Test >> >> + public void testAction_shouldExpectedResult() throws Exception >> >> + { >> >> + HtmlPage page = webClient.getPage(getBaseURL() + >> >> "pages/index.xhtml"); >> >> + >> >> + // TODO >> >> + } >> >> + >> >> +} >> >> >> >> Added: >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/site/apt/index.apt >> >> URL: >> >> http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/site/apt/index.apt?rev=1161089&view=auto >> >> >> >> ============================================================================== >> >> --- >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/site/apt/index.apt >> >> (added) >> >> +++ >> >> myfaces/myfaces-build-tools/trunk/maven2-archetypes/myfaces-archetype-core-integration-test/src/site/apt/index.apt >> >> Wed Aug 24 13:19:38 2011 >> >> @@ -0,0 +1,46 @@ >> >> + ------ >> >> + MyFaces Core Integration-Test Archetype >> >> + ------ >> >> + >> >> +Overview >> >> + >> >> + This project defines a Maven archetype. Running the archetype >> >> plugin with this archetype will >> >> + create a directory tree containing the files needed to quickly get >> >> started on a new integration >> >> + test for MyFaces core 2.x. >> >> + >> >> +Usage >> >> + >> >> + Use the following maven command and then select >> >> myfaces-archetype-core-integration-test from the options. >> >> + >> >> + >> >> ++------------------------------------------------------------------+ >> >> +mvn archetype:generate -DarchetypeCatalog=http://myfaces.apache.org >> >> ++------------------------------------------------------------------+ >> >> + >> >> + You will then be prompted for some archetype specific properties, >> >> which will look like this: >> >> + >> >> ++------------------------------------------------------------------+ >> >> +Define value for property 'artifactId': : myfaces-1234-tests >> >> +Define value for property 'environmentType': : 0 >> >> +Define value for property 'issueId': : MYFACES-1234 >> >> ++------------------------------------------------------------------+ >> >> + >> >> + All other properties (like e.g. groupId) will automatically be >> >> configured. As shown above, you need >> >> + to provide 3 properties: >> >> + >> >> + * artifactId is the artifactId for the maven project, you should >> >> use #\{issueId\}-tests as shown above. >> >> + >> >> + * environmentType defines which type of environment should be used. >> >> + >> >> + * 0: servlet 2.5 and el 1.0 >> >> + >> >> + * 1: servlet 2.5 and el 2.2 >> >> + >> >> + * 2: servlet 3.0 and el 2.2 >> >> + >> >> + * issueId is the issue-id of the JIRA issue which this integration >> >> test addresses >> >> + >> >> + [] >> >> + >> >> + The version of the project is automatically set to a default value >> >> (e.g. 2.0.9-SNAPSHOT). If you >> >> + want to test a different version, you have to change this manually >> >> in the pom.xml. >> >> >> >> Modified: myfaces/myfaces-build-tools/trunk/maven2-archetypes/pom.xml >> >> URL: >> >> http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-archetypes/pom.xml?rev=1161089&r1=1161088&r2=1161089&view=diff >> >> >> >> ============================================================================== >> >> --- myfaces/myfaces-build-tools/trunk/maven2-archetypes/pom.xml >> >> (original) >> >> +++ myfaces/myfaces-build-tools/trunk/maven2-archetypes/pom.xml Wed >> >> Aug 24 13:19:38 2011 >> >> @@ -121,6 +121,7 @@ >> >> <module>myfaces-archetype-jsfcomponents20</module> >> >> <module>myfaces-archetype-codi-jsf12</module> >> >> <module>myfaces-archetype-codi-jsf20</module> >> >> + <module>myfaces-archetype-core-integration-test</module> >> >> </modules> >> >> >> >> <distributionManagement> >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> Jakob Korherr >> >> >> >> blog: http://www.jakobk.com >> >> twitter: http://twitter.com/jakobkorherr >> >> work: http://www.irian.at >> >> >> > >> > >> > >> > -- >> > Jakob Korherr >> > >> > blog: http://www.jakobk.com >> > twitter: http://twitter.com/jakobkorherr >> > work: http://www.irian.at >> > > >