[jboss-svn-commits] JBoss Common SVN: r4686 - in arquillian/trunk: containers/glassfish-embedded-3 and 32 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Jul 7 13:54:10 EDT 2010
Author: aslak
Date: 2010-07-07 13:54:08 -0400 (Wed, 07 Jul 2010)
New Revision: 4686
Added:
arquillian/trunk/protocols/local/src/main/java/org/jboss/arquillian/protocol/local/LocalDeploymentPackager.java
arquillian/trunk/protocols/local/src/main/resources/META-INF/
arquillian/trunk/protocols/local/src/main/resources/META-INF/services/
arquillian/trunk/protocols/local/src/main/resources/META-INF/services/org.jboss.arquillian.spi.DeploymentPackager
arquillian/trunk/protocols/servlet-ee5/src/main/java/org/jboss/arquillian/protocol/servlet/ServletProtocolDeploymentPackager.java
arquillian/trunk/protocols/servlet-ee5/src/main/resources/META-INF/services/org.jboss.arquillian.spi.DeploymentPackager
arquillian/trunk/protocols/servlet-ee5/src/test/java/org/jboss/arquillian/protocol/servlet/ServletProtocolDeploymentPackagerTestCase.java
arquillian/trunk/protocols/servlet-ee6/src/main/java/org/jboss/arquillian/protocol/servlet/ServletProtocolDeploymentPackager.java
arquillian/trunk/protocols/servlet-ee6/src/main/resources/META-INF/services/org.jboss.arquillian.spi.DeploymentPackager
arquillian/trunk/protocols/servlet-ee6/src/test/java/org/jboss/arquillian/protocol/servlet/ServletProtocolDeploymentPackagerTestCase.java
arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/TestDeployment.java
Removed:
arquillian/trunk/packagers/applicationarchive/pom.xml
arquillian/trunk/packagers/applicationarchive/src/
arquillian/trunk/packagers/javaee/pom.xml
arquillian/trunk/packagers/javaee/src/
arquillian/trunk/protocols/servlet-ee5/src/main/resources/META-INF/services/org.jboss.arquillian.spi.AuxiliaryArchiveAppender
arquillian/trunk/protocols/servlet-ee6/src/main/resources/META-INF/services/org.jboss.arquillian.spi.AuxiliaryArchiveAppender
Modified:
arquillian/trunk/containers/glassfish-embedded-3/pom.xml
arquillian/trunk/containers/jbossas-embedded-6/pom.xml
arquillian/trunk/containers/jbossas-managed-5.1/pom.xml
arquillian/trunk/containers/jbossas-managed-6/pom.xml
arquillian/trunk/containers/jbossas-remote-5.1/pom.xml
arquillian/trunk/containers/jbossas-remote-5/pom.xml
arquillian/trunk/containers/jbossas-remote-6/pom.xml
arquillian/trunk/containers/jetty-embedded-6.1/pom.xml
arquillian/trunk/containers/jetty-embedded-7/pom.xml
arquillian/trunk/containers/jsr88-remote-1.2/pom.xml
arquillian/trunk/containers/openejb-embedded-3.1/pom.xml
arquillian/trunk/containers/openwebbeans-embedded-1/pom.xml
arquillian/trunk/containers/pom.xml
arquillian/trunk/containers/reloaded-embedded-1/pom.xml
arquillian/trunk/containers/tomcat-embedded-6/pom.xml
arquillian/trunk/containers/weld-ee-embedded-1.1/pom.xml
arquillian/trunk/containers/weld-se-embedded-1/pom.xml
arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/ClientDeploymentGenerator.java
arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/XmlConfigurationBuilderTestCase.java
arquillian/trunk/impl-base/src/test/resources/arquillian.xml
arquillian/trunk/packagers/pom.xml
arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/DeploymentPackager.java
Log:
ARQ-205 Moved DeploymentPackager implementations down to Protocols. The Protocol should know how to repackage/include it self in the application deployment to be able to execute in container.
Modified: arquillian/trunk/containers/glassfish-embedded-3/pom.xml
===================================================================
--- arquillian/trunk/containers/glassfish-embedded-3/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/glassfish-embedded-3/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -52,12 +52,6 @@
</dependency>
<dependency>
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-javaee</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
<groupId>org.jboss.arquillian.testenricher</groupId>
<artifactId>arquillian-testenricher-cdi</artifactId>
<version>${project.version}</version>
Modified: arquillian/trunk/containers/jbossas-embedded-6/pom.xml
===================================================================
--- arquillian/trunk/containers/jbossas-embedded-6/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/jbossas-embedded-6/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -58,12 +58,6 @@
</dependency>
<dependency>
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-javaee</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
<groupId>org.jboss.arquillian.testenricher</groupId>
<artifactId>arquillian-testenricher-cdi</artifactId>
<version>${project.version}</version>
Modified: arquillian/trunk/containers/jbossas-managed-5.1/pom.xml
===================================================================
--- arquillian/trunk/containers/jbossas-managed-5.1/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/jbossas-managed-5.1/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -43,14 +43,7 @@
<artifactId>arquillian-protocol-servlet-ee5</artifactId>
<version>${project.version}</version>
</dependency>
-
<dependency>
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-javaee</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
<groupId>org.jboss.arquillian.testenricher</groupId>
<artifactId>arquillian-testenricher-ejb</artifactId>
<version>${project.version}</version>
Modified: arquillian/trunk/containers/jbossas-managed-6/pom.xml
===================================================================
--- arquillian/trunk/containers/jbossas-managed-6/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/jbossas-managed-6/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -45,12 +45,6 @@
</dependency>
<dependency>
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-javaee</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
<groupId>org.jboss.arquillian.testenricher</groupId>
<artifactId>arquillian-testenricher-cdi</artifactId>
<version>${project.version}</version>
Modified: arquillian/trunk/containers/jbossas-remote-5/pom.xml
===================================================================
--- arquillian/trunk/containers/jbossas-remote-5/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/jbossas-remote-5/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -43,14 +43,7 @@
<artifactId>arquillian-protocol-servlet-ee5</artifactId>
<version>${project.version}</version>
</dependency>
-
<dependency>
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-javaee</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
<groupId>org.jboss.arquillian.testenricher</groupId>
<artifactId>arquillian-testenricher-ejb</artifactId>
<version>${project.version}</version>
Modified: arquillian/trunk/containers/jbossas-remote-5.1/pom.xml
===================================================================
--- arquillian/trunk/containers/jbossas-remote-5.1/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/jbossas-remote-5.1/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -43,14 +43,7 @@
<artifactId>arquillian-protocol-servlet-ee5</artifactId>
<version>${project.version}</version>
</dependency>
-
<dependency>
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-javaee</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
<groupId>org.jboss.arquillian.testenricher</groupId>
<artifactId>arquillian-testenricher-ejb</artifactId>
<version>${project.version}</version>
Modified: arquillian/trunk/containers/jbossas-remote-6/pom.xml
===================================================================
--- arquillian/trunk/containers/jbossas-remote-6/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/jbossas-remote-6/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -45,12 +45,6 @@
</dependency>
<dependency>
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-javaee</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
<groupId>org.jboss.arquillian.testenricher</groupId>
<artifactId>arquillian-testenricher-cdi</artifactId>
<version>${project.version}</version>
Modified: arquillian/trunk/containers/jetty-embedded-6.1/pom.xml
===================================================================
--- arquillian/trunk/containers/jetty-embedded-6.1/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/jetty-embedded-6.1/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -43,20 +43,14 @@
<scope>provided</scope>
</dependency>
+ <!-- TODO We likely need a servlet packager to restrict use of EAR -->
<dependency>
<groupId>org.jboss.arquillian.protocol</groupId>
<artifactId>arquillian-protocol-servlet-ee6</artifactId>
<version>${project.version}</version>
</dependency>
- <!-- TODO We likely need a servlet packager to restrict use of EAR -->
<dependency>
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-javaee</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
<groupId>org.jboss.arquillian.testenricher</groupId>
<artifactId>arquillian-testenricher-cdi</artifactId>
<version>${project.version}</version>
Modified: arquillian/trunk/containers/jetty-embedded-7/pom.xml
===================================================================
--- arquillian/trunk/containers/jetty-embedded-7/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/jetty-embedded-7/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -50,11 +50,6 @@
</dependency>
<!-- TODO We likely need a servlet packager to restrict use of EAR -->
- <dependency>
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-javaee</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.jboss.arquillian.testenricher</groupId>
Modified: arquillian/trunk/containers/jsr88-remote-1.2/pom.xml
===================================================================
--- arquillian/trunk/containers/jsr88-remote-1.2/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/jsr88-remote-1.2/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -35,12 +35,6 @@
</dependency>
<dependency>
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-javaee</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
<groupId>org.jboss.arquillian.testenricher</groupId>
<artifactId>arquillian-testenricher-cdi</artifactId>
<version>${project.version}</version>
Modified: arquillian/trunk/containers/openejb-embedded-3.1/pom.xml
===================================================================
--- arquillian/trunk/containers/openejb-embedded-3.1/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/openejb-embedded-3.1/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -1,88 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
<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">
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <!-- Parent -->
- <parent>
- <groupId>org.jboss.arquillian</groupId>
- <artifactId>arquillian-build</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <relativePath>../../build/pom.xml</relativePath>
- </parent>
+ <!-- Parent -->
+ <parent>
+ <groupId>org.jboss.arquillian</groupId>
+ <artifactId>arquillian-build</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../../build/pom.xml</relativePath>
+ </parent>
- <!-- Model Version -->
- <modelVersion>4.0.0</modelVersion>
+ <!-- Model Version -->
+ <modelVersion>4.0.0</modelVersion>
- <!-- Artifact Configuration -->
- <groupId>org.jboss.arquillian.container</groupId>
- <artifactId>arquillian-openejb-embedded-3.1</artifactId>
- <name>Arquillian Container OpenEJB Embedded 3.1.x</name>
- <description>OpenEJB 3.1.x Embedded integration for the Arquillian Project</description>
+ <!-- Artifact Configuration -->
+ <groupId>org.jboss.arquillian.container</groupId>
+ <artifactId>arquillian-openejb-embedded-3.1</artifactId>
+ <name>Arquillian Container OpenEJB Embedded 3.1.x</name>
+ <description>OpenEJB 3.1.x Embedded integration for the Arquillian Project</description>
- <!-- Properties -->
- <properties>
+ <!-- Properties -->
+ <properties>
- <!-- Versioning -->
- <version.org.apache.openejb_openejb.core>3.1.2</version.org.apache.openejb_openejb.core>
+ <!-- Versioning -->
+ <version.org.apache.openejb_openejb.core>3.1.2</version.org.apache.openejb_openejb.core>
- </properties>
+ </properties>
- <!-- Dependencies -->
- <dependencies>
+ <!-- Dependencies -->
+ <dependencies>
- <!--
+ <!--
org.jboss.arquillian
-->
- <dependency>
- <groupId>org.jboss.arquillian.protocol</groupId>
- <artifactId>arquillian-protocol-local</artifactId>
- <version>${project.version}</version>
- </dependency>
+ <dependency>
+ <groupId>org.jboss.arquillian.protocol</groupId>
+ <artifactId>arquillian-protocol-local</artifactId>
+ <version>${project.version}</version>
+ </dependency>
- <dependency>
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-applicationarchive</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.arquillian.testenricher</groupId>
- <artifactId>arquillian-testenricher-ejb</artifactId>
- <version>${project.version}</version>
- </dependency>
+ <dependency>
+ <groupId>org.jboss.arquillian.testenricher</groupId>
+ <artifactId>arquillian-testenricher-ejb</artifactId>
+ <version>${project.version}</version>
+ </dependency>
- <!--
+ <!--
External Projects
-->
- <dependency>
- <groupId>org.jboss.shrinkwrap</groupId>
- <artifactId>shrinkwrap-extension-openejb</artifactId>
- <version>${version.shrinkwrap_shrinkwrap}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.openejb</groupId>
- <artifactId>openejb-core</artifactId>
- <version>${version.org.apache.openejb_openejb.core}</version>
- <scope>provided</scope>
- </dependency>
+ <dependency>
+ <groupId>org.jboss.shrinkwrap</groupId>
+ <artifactId>shrinkwrap-extension-openejb</artifactId>
+ <version>${version.shrinkwrap_shrinkwrap}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.openejb</groupId>
+ <artifactId>openejb-core</artifactId>
+ <version>${version.org.apache.openejb_openejb.core}</version>
+ <scope>provided</scope>
+ </dependency>
- <!-- test -->
- <dependency>
- <groupId>org.jboss.arquillian</groupId>
- <artifactId>arquillian-junit</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
+ <!-- test -->
+ <dependency>
+ <groupId>org.jboss.arquillian</groupId>
+ <artifactId>arquillian-junit</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
- <!-- Part of prototyping, extract when ready -->
- <dependency>
- <groupId>javax.inject</groupId>
- <artifactId>javax.inject</artifactId>
- <scope>provided</scope>
- </dependency>
+ <!-- Part of prototyping, extract when ready -->
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ <scope>provided</scope>
+ </dependency>
- </dependencies>
+ </dependencies>
</project>
Modified: arquillian/trunk/containers/openwebbeans-embedded-1/pom.xml
===================================================================
--- arquillian/trunk/containers/openwebbeans-embedded-1/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/openwebbeans-embedded-1/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -47,12 +47,6 @@
</dependency>
<dependency>
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-applicationarchive</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
<groupId>org.jboss.arquillian.testenricher</groupId>
<artifactId>arquillian-testenricher-cdi</artifactId>
<version>${project.version}</version>
Modified: arquillian/trunk/containers/pom.xml
===================================================================
--- arquillian/trunk/containers/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -24,7 +24,7 @@
<!-- Aggregate Modules -->
<modules>
<module>jsr88-remote-1.2</module>
- <module>osgi-embedded-4.2</module>
+<!-- <module>osgi-embedded-4.2</module> -->
<!-- <module>jbossas-remote-4_2</module> -->
<module>jbossas-remote-5</module>
<module>jbossas-remote-5.1</module>
Modified: arquillian/trunk/containers/reloaded-embedded-1/pom.xml
===================================================================
--- arquillian/trunk/containers/reloaded-embedded-1/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/reloaded-embedded-1/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -43,12 +43,6 @@
</dependency>
<dependency>
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-applicationarchive</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
<groupId>org.jboss.arquillian.testenricher</groupId>
<artifactId>arquillian-testenricher-ejb</artifactId>
<version>${project.version}</version>
Modified: arquillian/trunk/containers/tomcat-embedded-6/pom.xml
===================================================================
--- arquillian/trunk/containers/tomcat-embedded-6/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/tomcat-embedded-6/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -12,7 +12,7 @@
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-tomcat-embedded-6</artifactId>
- <name>Arquillian Container: Tomcat Embedded 6.x</name>
+ <name>Arquillian Container Tomcat Embedded 6.x</name>
<description>Tomcat 6.x Embedded container integration for the Arquillian Project</description>
<properties>
@@ -47,11 +47,6 @@
</dependency>
<!-- TODO We likely need a servlet packager to restrict use of EAR -->
- <dependency>
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-javaee</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.jboss.arquillian.testenricher</groupId>
Modified: arquillian/trunk/containers/weld-ee-embedded-1.1/pom.xml
===================================================================
--- arquillian/trunk/containers/weld-ee-embedded-1.1/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/weld-ee-embedded-1.1/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -73,12 +73,6 @@
</dependency>
<dependency>
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-applicationarchive</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
<groupId>org.jboss.arquillian.testenricher</groupId>
<artifactId>arquillian-testenricher-cdi</artifactId>
<version>${project.version}</version>
Modified: arquillian/trunk/containers/weld-se-embedded-1/pom.xml
===================================================================
--- arquillian/trunk/containers/weld-se-embedded-1/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/containers/weld-se-embedded-1/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -59,12 +59,6 @@
</dependency>
<dependency>
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-applicationarchive</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
<groupId>org.jboss.arquillian.testenricher</groupId>
<artifactId>arquillian-testenricher-cdi</artifactId>
<version>${project.version}</version>
Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/ClientDeploymentGenerator.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/ClientDeploymentGenerator.java 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/ClientDeploymentGenerator.java 2010-07-07 17:54:08 UTC (rev 4686)
@@ -25,6 +25,7 @@
import org.jboss.arquillian.spi.AuxiliaryArchiveAppender;
import org.jboss.arquillian.spi.AuxiliaryArchiveProcessor;
import org.jboss.arquillian.spi.DeployableContainer;
+import org.jboss.arquillian.spi.TestDeployment;
import org.jboss.arquillian.spi.DeploymentPackager;
import org.jboss.arquillian.spi.ServiceLoader;
import org.jboss.arquillian.spi.TestClass;
@@ -61,7 +62,7 @@
List<Archive<?>> auxiliaryArchives = loadAuxiliaryArchives();
applyAuxiliaryProcessors(auxiliaryArchives);
- return packager.generateDeployment(applicationArchive, auxiliaryArchives);
+ return packager.generateDeployment(new TestDeployment(applicationArchive, auxiliaryArchives));
}
private List<Archive<?>> loadAuxiliaryArchives()
Modified: arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/XmlConfigurationBuilderTestCase.java
===================================================================
--- arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/XmlConfigurationBuilderTestCase.java 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/XmlConfigurationBuilderTestCase.java 2010-07-07 17:54:08 UTC (rev 4686)
@@ -67,7 +67,7 @@
Assert.assertEquals(
"Should set properties on " + Configuration.class.getName(),
- "/tmp",
+ "/tmp/",
configuration.getDeploymentExportPath());
// retrieve the container configuration
Modified: arquillian/trunk/impl-base/src/test/resources/arquillian.xml
===================================================================
--- arquillian/trunk/impl-base/src/test/resources/arquillian.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/impl-base/src/test/resources/arquillian.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -4,7 +4,7 @@
xmlns:mock="urn:arq:org.jboss.arquillian.impl">
<engine>
- <deploymentExportPath>/tmp</deploymentExportPath>
+ <deploymentExportPath>/tmp/</deploymentExportPath>
</engine>
<mock:container>
Deleted: arquillian/trunk/packagers/applicationarchive/pom.xml
===================================================================
--- arquillian/trunk/packagers/applicationarchive/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/packagers/applicationarchive/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
- <!--
- vi:ts=2:sw=2:expandtab:
--->
-<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 -->
- <parent>
- <groupId>org.jboss.arquillian</groupId>
- <artifactId>arquillian-build</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <relativePath>../../build/pom.xml</relativePath>
- </parent>
-
- <!-- Model Version -->
- <modelVersion>4.0.0</modelVersion>
-
- <!-- Artifact Configuration -->
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-applicationarchive</artifactId>
- <name>Arquillian Packager ApplicationArchive</name>
- <description>Packager that only return the ApplicationArchive for the Arquillian project</description>
-
-
- <!-- Properties -->
- <properties>
-
-
- </properties>
-
- <!-- Dependencies -->
- <dependencies>
-
- <!--
- org.jboss.arquillian
- -->
- <dependency>
- <groupId>org.jboss.arquillian</groupId>
- <artifactId>arquillian-spi</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.shrinkwrap</groupId>
- <artifactId>shrinkwrap-impl-base</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jboss.shrinkwrap</groupId>
- <artifactId>shrinkwrap-spi</artifactId>
- </dependency>
-
- <!--
- External Projects
- -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
-</project>
-
Deleted: arquillian/trunk/packagers/javaee/pom.xml
===================================================================
--- arquillian/trunk/packagers/javaee/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/packagers/javaee/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi:ts=2:sw=2:expandtab: -->
-<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 -->
- <parent>
- <groupId>org.jboss.arquillian</groupId>
- <artifactId>arquillian-build</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <relativePath>../../build/pom.xml</relativePath>
- </parent>
-
- <!-- Model Version -->
- <modelVersion>4.0.0</modelVersion>
-
- <!-- Artifact Configuration -->
- <groupId>org.jboss.arquillian.packager</groupId>
- <artifactId>arquillian-packager-javaee</artifactId>
- <name>Arquillian Packager Java EE</name>
- <description>Java EE Packager for the Arquillian project</description>
-
-
- <!-- Properties -->
- <properties>
- </properties>
-
- <!-- Dependencies -->
- <dependencies>
-
- <!-- org.jboss.arquillian -->
- <dependency>
- <groupId>org.jboss.arquillian</groupId>
- <artifactId>arquillian-spi</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.shrinkwrap</groupId>
- <artifactId>shrinkwrap-impl-base</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jboss.shrinkwrap</groupId>
- <artifactId>shrinkwrap-spi</artifactId>
- </dependency>
-
- <!-- Test Dependencies -->
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
-</project>
-
Modified: arquillian/trunk/packagers/pom.xml
===================================================================
--- arquillian/trunk/packagers/pom.xml 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/packagers/pom.xml 2010-07-07 17:54:08 UTC (rev 4686)
@@ -26,8 +26,6 @@
<!-- Aggregate Modules -->
<modules>
- <module>applicationarchive</module>
- <module>javaee</module>
<module>osgi</module>
</modules>
Added: arquillian/trunk/protocols/local/src/main/java/org/jboss/arquillian/protocol/local/LocalDeploymentPackager.java
===================================================================
--- arquillian/trunk/protocols/local/src/main/java/org/jboss/arquillian/protocol/local/LocalDeploymentPackager.java (rev 0)
+++ arquillian/trunk/protocols/local/src/main/java/org/jboss/arquillian/protocol/local/LocalDeploymentPackager.java 2010-07-07 17:54:08 UTC (rev 4686)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * 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 org.jboss.arquillian.protocol.local;
+
+import org.jboss.arquillian.spi.DeploymentPackager;
+import org.jboss.arquillian.spi.TestDeployment;
+import org.jboss.shrinkwrap.api.Archive;
+
+/**
+ * LocalDeploymentPackager
+ *
+ * @author <a href="mailto:aslak at redhat.com">Aslak Knutsen</a>
+ * @version $Revision: $
+ */
+public class LocalDeploymentPackager implements DeploymentPackager
+{
+ /* (non-Javadoc)
+ * @see org.jboss.arquillian.spi.DeploymentPackager#generateDeployment(org.jboss.arquillian.spi.TestDeployment)
+ */
+ public Archive<?> generateDeployment(TestDeployment testDeployment)
+ {
+ return testDeployment.getApplicationArchive();
+ }
+}
Added: arquillian/trunk/protocols/local/src/main/resources/META-INF/services/org.jboss.arquillian.spi.DeploymentPackager
===================================================================
--- arquillian/trunk/protocols/local/src/main/resources/META-INF/services/org.jboss.arquillian.spi.DeploymentPackager (rev 0)
+++ arquillian/trunk/protocols/local/src/main/resources/META-INF/services/org.jboss.arquillian.spi.DeploymentPackager 2010-07-07 17:54:08 UTC (rev 4686)
@@ -0,0 +1 @@
+org.jboss.arquillian.protocol.local.LocalDeploymentPackager
\ No newline at end of file
Added: arquillian/trunk/protocols/servlet-ee5/src/main/java/org/jboss/arquillian/protocol/servlet/ServletProtocolDeploymentPackager.java
===================================================================
--- arquillian/trunk/protocols/servlet-ee5/src/main/java/org/jboss/arquillian/protocol/servlet/ServletProtocolDeploymentPackager.java (rev 0)
+++ arquillian/trunk/protocols/servlet-ee5/src/main/java/org/jboss/arquillian/protocol/servlet/ServletProtocolDeploymentPackager.java 2010-07-07 17:54:08 UTC (rev 4686)
@@ -0,0 +1,95 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * 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 org.jboss.arquillian.protocol.servlet;
+
+import java.util.Collection;
+
+import org.jboss.arquillian.spi.DeploymentPackager;
+import org.jboss.arquillian.spi.TestDeployment;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+
+/**
+ * ServletProtocolDeploymentPackager
+ *
+ * @author <a href="mailto:aslak at redhat.com">Aslak Knutsen</a>
+ * @version $Revision: $
+ */
+public class ServletProtocolDeploymentPackager implements DeploymentPackager
+{
+ /* (non-Javadoc)
+ * @see org.jboss.arquillian.spi.DeploymentPackager#generateDeployment(org.jboss.arquillian.spi.TestDeployment)
+ */
+ public Archive<?> generateDeployment(TestDeployment testDeployment)
+ {
+ WebArchive protocol = WebArchive.class.cast(
+ new ProtocolDeploymentAppender().createAuxiliaryArchive());
+
+ Archive<?> applicationArchive = testDeployment.getApplicationArchive();
+ Collection<Archive<?>> auxiliaryArchives = testDeployment.getAuxiliaryArchives();
+
+ if(EnterpriseArchive.class.isInstance(applicationArchive))
+ {
+ return handleArchive(EnterpriseArchive.class.cast(applicationArchive), auxiliaryArchives, protocol);
+ }
+
+ if(WebArchive.class.isInstance(applicationArchive))
+ {
+ return handleArchive(WebArchive.class.cast(applicationArchive), auxiliaryArchives, protocol);
+ }
+
+ if(JavaArchive.class.isInstance(applicationArchive))
+ {
+ return handleArchive(JavaArchive.class.cast(applicationArchive), auxiliaryArchives, protocol);
+ }
+
+ throw new IllegalArgumentException(ServletProtocolDeploymentPackager.class.getName() +
+ " can not handle archive of type " + applicationArchive.getClass().getName());
+ }
+
+ private Archive<?> handleArchive(WebArchive applicationArchive, Collection<Archive<?>> auxiliaryArchives, WebArchive protocol)
+ {
+ throw new IllegalArgumentException("The " + ServletProtocolDeploymentPackager.class.getSimpleName() + " can't merge web.xml files.");
+ }
+
+ private Archive<?> handleArchive(JavaArchive applicationArchive, Collection<Archive<?>> auxiliaryArchives, WebArchive protocol)
+ {
+ return ShrinkWrap.create("test.ear", EnterpriseArchive.class)
+ .addModule(applicationArchive)
+ .addModule(protocol)
+ .addLibraries(auxiliaryArchives.toArray(new Archive[0]));
+ }
+
+ private Archive<?> handleArchive(EnterpriseArchive applicationArchive, Collection<Archive<?>> auxiliaryArchives, WebArchive protocol)
+ {
+ if(false) // contains web archive
+ {
+ // find web archive and attach our self to it
+ }
+ else
+ {
+ applicationArchive
+ .addModule(protocol)
+ .addLibraries(
+ auxiliaryArchives.toArray(new Archive<?>[0]));
+ }
+ return applicationArchive;
+ }
+}
Deleted: arquillian/trunk/protocols/servlet-ee5/src/main/resources/META-INF/services/org.jboss.arquillian.spi.AuxiliaryArchiveAppender
===================================================================
--- arquillian/trunk/protocols/servlet-ee5/src/main/resources/META-INF/services/org.jboss.arquillian.spi.AuxiliaryArchiveAppender 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/protocols/servlet-ee5/src/main/resources/META-INF/services/org.jboss.arquillian.spi.AuxiliaryArchiveAppender 2010-07-07 17:54:08 UTC (rev 4686)
@@ -1 +0,0 @@
-org.jboss.arquillian.protocol.servlet.ProtocolDeploymentAppender
\ No newline at end of file
Added: arquillian/trunk/protocols/servlet-ee5/src/main/resources/META-INF/services/org.jboss.arquillian.spi.DeploymentPackager
===================================================================
--- arquillian/trunk/protocols/servlet-ee5/src/main/resources/META-INF/services/org.jboss.arquillian.spi.DeploymentPackager (rev 0)
+++ arquillian/trunk/protocols/servlet-ee5/src/main/resources/META-INF/services/org.jboss.arquillian.spi.DeploymentPackager 2010-07-07 17:54:08 UTC (rev 4686)
@@ -0,0 +1 @@
+org.jboss.arquillian.protocol.servlet.ServletProtocolDeploymentPackager
\ No newline at end of file
Added: arquillian/trunk/protocols/servlet-ee5/src/test/java/org/jboss/arquillian/protocol/servlet/ServletProtocolDeploymentPackagerTestCase.java
===================================================================
--- arquillian/trunk/protocols/servlet-ee5/src/test/java/org/jboss/arquillian/protocol/servlet/ServletProtocolDeploymentPackagerTestCase.java (rev 0)
+++ arquillian/trunk/protocols/servlet-ee5/src/test/java/org/jboss/arquillian/protocol/servlet/ServletProtocolDeploymentPackagerTestCase.java 2010-07-07 17:54:08 UTC (rev 4686)
@@ -0,0 +1,108 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * 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 org.jboss.arquillian.protocol.servlet;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.jboss.arquillian.spi.TestDeployment;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ArchivePaths;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.Assert;
+import org.junit.Test;
+
+
+/**
+ * ServletProtocolDeploymentPackagerTestCase
+ *
+ * @author <a href="mailto:aslak at redhat.com">Aslak Knutsen</a>
+ * @version $Revision: $
+ */
+public class ServletProtocolDeploymentPackagerTestCase
+{
+
+ @Test
+ public void shouldHandleJavaArchive() throws Exception
+ {
+ Archive<?> archive = new ServletProtocolDeploymentPackager().generateDeployment(
+ new TestDeployment(
+ ShrinkWrap.create("applicationArchive.jar", JavaArchive.class),
+ createAuxiliaryArchives()));
+
+ Assert.assertTrue(
+ "Verify that a defined JavaArchive using EE5 WebArchive protocol is build as EnterpriseArchive",
+ EnterpriseArchive.class.isInstance(archive));
+
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchives EE Modules are placed in /",
+ archive.contains(ArchivePaths.create("/lib/auxiliaryArchive1.jar")));
+
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchives are placed in /lib",
+ archive.contains(ArchivePaths.create("/lib/auxiliaryArchive2.jar")));
+
+ Assert.assertTrue(
+ "Verify that the applicationArchive is placed in /",
+ archive.contains(ArchivePaths.create("/applicationArchive.jar")));
+ }
+
+ // as of now, War inside War is not supported. need to merge ?
+ @Test(expected = IllegalArgumentException.class)
+ public void shouldHandleWebArchive() throws Exception
+ {
+ new ServletProtocolDeploymentPackager().generateDeployment(
+ new TestDeployment(
+ ShrinkWrap.create("applicationArchive.war", WebArchive.class),
+ createAuxiliaryArchives()));
+
+ }
+
+ @Test
+ public void shouldHandleEnterpriseArchive() throws Exception
+ {
+ Archive<?> archive = new ServletProtocolDeploymentPackager().generateDeployment(
+ new TestDeployment(
+ ShrinkWrap.create("applicationArchive.ear", EnterpriseArchive.class),
+ createAuxiliaryArchives()));
+
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchives are placed in /",
+ archive.contains(ArchivePaths.create("arquillian-protocol.war")));
+
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchives are placed in /lib",
+ archive.contains(ArchivePaths.create("/lib/auxiliaryArchive1.jar")));
+
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchives are placed in /lib",
+ archive.contains(ArchivePaths.create("/lib/auxiliaryArchive2.jar")));
+ }
+
+ private Collection<Archive<?>> createAuxiliaryArchives()
+ {
+ List<Archive<?>> archives = new ArrayList<Archive<?>>();
+ archives.add(ShrinkWrap.create("auxiliaryArchive1.jar", WebArchive.class));
+ archives.add(ShrinkWrap.create("auxiliaryArchive2.jar", JavaArchive.class));
+
+ return archives;
+ }
+}
Added: arquillian/trunk/protocols/servlet-ee6/src/main/java/org/jboss/arquillian/protocol/servlet/ServletProtocolDeploymentPackager.java
===================================================================
--- arquillian/trunk/protocols/servlet-ee6/src/main/java/org/jboss/arquillian/protocol/servlet/ServletProtocolDeploymentPackager.java (rev 0)
+++ arquillian/trunk/protocols/servlet-ee6/src/main/java/org/jboss/arquillian/protocol/servlet/ServletProtocolDeploymentPackager.java 2010-07-07 17:54:08 UTC (rev 4686)
@@ -0,0 +1,97 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * 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 org.jboss.arquillian.protocol.servlet;
+
+import java.util.Collection;
+
+import org.jboss.arquillian.spi.DeploymentPackager;
+import org.jboss.arquillian.spi.TestDeployment;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+
+/**
+ * ServletProtocolDeploymentPackager
+ *
+ * @author <a href="mailto:aslak at redhat.com">Aslak Knutsen</a>
+ * @version $Revision: $
+ */
+public class ServletProtocolDeploymentPackager implements DeploymentPackager
+{
+ /* (non-Javadoc)
+ * @see org.jboss.arquillian.spi.DeploymentPackager#generateDeployment(org.jboss.arquillian.spi.TestDeployment)
+ */
+ public Archive<?> generateDeployment(TestDeployment testDeployment)
+ {
+ Archive<?> protocol = new ProtocolDeploymentAppender().createAuxiliaryArchive();
+
+ Archive<?> applicationArchive = testDeployment.getApplicationArchive();
+ Collection<Archive<?>> auxiliaryArchives = testDeployment.getAuxiliaryArchives();
+
+ if(EnterpriseArchive.class.isInstance(applicationArchive))
+ {
+ return handleArchive(EnterpriseArchive.class.cast(applicationArchive), auxiliaryArchives, protocol);
+ }
+
+ if(WebArchive.class.isInstance(applicationArchive))
+ {
+ return handleArchive(WebArchive.class.cast(applicationArchive), auxiliaryArchives, protocol);
+ }
+
+ if(JavaArchive.class.isInstance(applicationArchive))
+ {
+ return handleArchive(JavaArchive.class.cast(applicationArchive), auxiliaryArchives, protocol);
+ }
+
+ throw new IllegalArgumentException(ServletProtocolDeploymentPackager.class.getName() +
+ " can not handle archive of type " + applicationArchive.getClass().getName());
+ }
+
+ private Archive<?> handleArchive(WebArchive applicationArchive, Collection<Archive<?>> auxiliaryArchives, Archive<?> protocol)
+ {
+ return applicationArchive
+ .addLibraries(
+ auxiliaryArchives.toArray(new Archive<?>[0]))
+ .addLibrary(protocol);
+ }
+
+ private Archive<?> handleArchive(JavaArchive applicationArchive, Collection<Archive<?>> auxiliaryArchives, Archive<?> protocol)
+ {
+ return ShrinkWrap.create("test.war", WebArchive.class)
+ .addLibraries(applicationArchive, protocol)
+ .addLibraries(auxiliaryArchives.toArray(new Archive[0]));
+ }
+
+ private Archive<?> handleArchive(EnterpriseArchive applicationArchive, Collection<Archive<?>> auxiliaryArchives, Archive<?> protocol)
+ {
+ if(false) // contains web archive
+ {
+ // find web archive and attach our self to it
+ }
+ else
+ {
+ applicationArchive.addModule(
+ ShrinkWrap.create("test.war", WebArchive.class)
+ .addLibrary(protocol))
+ .addLibraries(
+ auxiliaryArchives.toArray(new Archive<?>[0]));
+ }
+ return applicationArchive;
+ }
+}
Deleted: arquillian/trunk/protocols/servlet-ee6/src/main/resources/META-INF/services/org.jboss.arquillian.spi.AuxiliaryArchiveAppender
===================================================================
--- arquillian/trunk/protocols/servlet-ee6/src/main/resources/META-INF/services/org.jboss.arquillian.spi.AuxiliaryArchiveAppender 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/protocols/servlet-ee6/src/main/resources/META-INF/services/org.jboss.arquillian.spi.AuxiliaryArchiveAppender 2010-07-07 17:54:08 UTC (rev 4686)
@@ -1 +0,0 @@
-org.jboss.arquillian.protocol.servlet.ProtocolDeploymentAppender
\ No newline at end of file
Added: arquillian/trunk/protocols/servlet-ee6/src/main/resources/META-INF/services/org.jboss.arquillian.spi.DeploymentPackager
===================================================================
--- arquillian/trunk/protocols/servlet-ee6/src/main/resources/META-INF/services/org.jboss.arquillian.spi.DeploymentPackager (rev 0)
+++ arquillian/trunk/protocols/servlet-ee6/src/main/resources/META-INF/services/org.jboss.arquillian.spi.DeploymentPackager 2010-07-07 17:54:08 UTC (rev 4686)
@@ -0,0 +1 @@
+org.jboss.arquillian.protocol.servlet.ServletProtocolDeploymentPackager
\ No newline at end of file
Added: arquillian/trunk/protocols/servlet-ee6/src/test/java/org/jboss/arquillian/protocol/servlet/ServletProtocolDeploymentPackagerTestCase.java
===================================================================
--- arquillian/trunk/protocols/servlet-ee6/src/test/java/org/jboss/arquillian/protocol/servlet/ServletProtocolDeploymentPackagerTestCase.java (rev 0)
+++ arquillian/trunk/protocols/servlet-ee6/src/test/java/org/jboss/arquillian/protocol/servlet/ServletProtocolDeploymentPackagerTestCase.java 2010-07-07 17:54:08 UTC (rev 4686)
@@ -0,0 +1,154 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * 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 org.jboss.arquillian.protocol.servlet;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.jboss.arquillian.spi.TestDeployment;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ArchivePaths;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.jboss.shrinkwrap.impl.base.asset.ArchiveAsset;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * ServletProtocolDeploymentPackagerTestCase
+ *
+ * @author <a href="mailto:aslak at redhat.com">Aslak Knutsen</a>
+ * @version $Revision: $
+ */
+public class ServletProtocolDeploymentPackagerTestCase
+{
+ @Test
+ public void shouldHandleJavaArchive() throws Exception
+ {
+ Archive<?> archive = new ServletProtocolDeploymentPackager().generateDeployment(
+ new TestDeployment(
+ ShrinkWrap.create("applicationArchive.jar", JavaArchive.class),
+ createAuxiliaryArchives()));
+
+ Assert.assertTrue(
+ "Verify that a defined JavaArchive using EE6 JavaArchive protocol is build as WebArchive",
+ WebArchive.class.isInstance(archive));
+
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchives are placed in /WEB-INF/lib",
+ archive.contains(ArchivePaths.create("/WEB-INF/lib/arquillian-protocol.jar")));
+
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchives are placed in /WEB-INF/lib",
+ archive.contains(ArchivePaths.create("/WEB-INF/lib/auxiliaryArchive2.jar")));
+
+ Assert.assertTrue(
+ "Verify that the applicationArchive is placed in /WEB-INF/lib",
+ archive.contains(ArchivePaths.create("/WEB-INF/lib/applicationArchive.jar")));
+ }
+
+ @Test
+ public void shouldHandleWebArchive() throws Exception
+ {
+ Archive<?> archive = new ServletProtocolDeploymentPackager().generateDeployment(
+ new TestDeployment(
+ ShrinkWrap.create("applicationArchive.war", WebArchive.class),
+ createAuxiliaryArchives()));
+
+ Assert.assertTrue(
+ "Verify that a defined WebArchive using EE6 JavaArchive protocol is build as WebArchive",
+ WebArchive.class.isInstance(archive));
+
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchives are placed in /WEB-INF/lib",
+ archive.contains(ArchivePaths.create("/WEB-INF/lib/arquillian-protocol.jar")));
+
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchives are placed in /WEB-INF/lib",
+ archive.contains(ArchivePaths.create("/WEB-INF/lib/auxiliaryArchive1.jar")));
+
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchives are placed in /WEB-INF/lib",
+ archive.contains(ArchivePaths.create("/WEB-INF/lib/auxiliaryArchive2.jar")));
+ }
+
+ @Test
+ public void shouldHandleEnterpriseArchive() throws Exception
+ {
+ Archive<?> archive = new ServletProtocolDeploymentPackager().generateDeployment(
+ new TestDeployment(
+ ShrinkWrap.create("applicationArchive.ear", EnterpriseArchive.class),
+ createAuxiliaryArchives()));
+
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchives are placed in /",
+ archive.contains(ArchivePaths.create("test.war")));
+
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchives are placed in /lib",
+ archive.contains(ArchivePaths.create("/lib/auxiliaryArchive1.jar")));
+
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchives are placed in /lib",
+ archive.contains(ArchivePaths.create("/lib/auxiliaryArchive2.jar")));
+ }
+
+ @Test
+ @Ignore // TODO: Does not merge with existing archive
+ public void shouldHandleEnterpriseArchiveWithExistingWAR() throws Exception
+ {
+ Archive<?> archive = new ServletProtocolDeploymentPackager().generateDeployment(
+ new TestDeployment(
+ ShrinkWrap.create("applicationArchive.ear", EnterpriseArchive.class)
+ .addModule(
+ ShrinkWrap.create("test.war", WebArchive.class)
+ .addClass(Test.class)),
+ createAuxiliaryArchives()));
+
+ Assert.assertTrue(
+ "Verify that the applicationArchive still contains WebArchive in /",
+ archive.contains(ArchivePaths.create("test.war")));
+
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchives are placed in /lib",
+ archive.contains(ArchivePaths.create("/lib/auxiliaryArchive2.jar")));
+
+ Archive<?> applicationArchive = ((ArchiveAsset)archive.get(ArchivePaths.create("test.war")).getAsset()).getArchive();
+ Assert.assertTrue(
+ "Verify that the auxiliaryArchive protocol is placed in applicationArchive WebArchive",
+ applicationArchive.contains(ArchivePaths.create("/WEB-INF/lib/arquillian-protocol.jar")));
+
+ Assert.assertTrue(
+ "Verify that the applicationArchive has not been overwritten",
+ applicationArchive.contains(ArchivePaths.create("/WEB-INF/classes/org/junit/Test.class")));
+
+
+ }
+
+ private Collection<Archive<?>> createAuxiliaryArchives()
+ {
+ List<Archive<?>> archives = new ArrayList<Archive<?>>();
+ archives.add(ShrinkWrap.create("auxiliaryArchive1.jar", JavaArchive.class));
+ archives.add(ShrinkWrap.create("auxiliaryArchive2.jar", JavaArchive.class));
+
+ return archives;
+ }
+}
Modified: arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/DeploymentPackager.java
===================================================================
--- arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/DeploymentPackager.java 2010-07-07 03:19:26 UTC (rev 4685)
+++ arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/DeploymentPackager.java 2010-07-07 17:54:08 UTC (rev 4686)
@@ -16,25 +16,22 @@
*/
package org.jboss.arquillian.spi;
-import java.util.Collection;
-
import org.jboss.shrinkwrap.api.Archive;
/**
- * Extension point for the {@link DeployableContainer} to prepare the Archives for deployment.
+ * Extension point for the Protocol to prepare the Archives for deployment.
*
* Example:
* - Create a EAR, WAR
*
- * @author <a href="mailto:aslak at conduct.no">Aslak Knutsen</a>
+ * @author <a href="mailto:aslak at redhat.com">Aslak Knutsen</a>
* @version $Revision: $
*/
public interface DeploymentPackager
{
/**
- * @param applicationArchive The user defined deployment archive
- * @param auxiliaryArchives All found system defined deployment archives
- * @return A archive to deploy
+ * @param testDeployment Value object containing the application {@link Archive} and other auxiliary library {@link Archive}s.
+ * @return The prepared archive for deployment.
*/
- Archive<?> generateDeployment(Archive<?> applicationArchive, Collection<Archive<?>> auxiliaryArchives);
+ Archive<?> generateDeployment(TestDeployment testDeployment);
}
Added: arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/TestDeployment.java
===================================================================
--- arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/TestDeployment.java (rev 0)
+++ arquillian/trunk/spi/src/main/java/org/jboss/arquillian/spi/TestDeployment.java 2010-07-07 17:54:08 UTC (rev 4686)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * 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 org.jboss.arquillian.spi;
+
+import java.util.Collection;
+
+import org.jboss.shrinkwrap.api.Archive;
+
+/**
+ * Value object that contains the {@link Archive}s needed for deployment. <br/>
+ *
+ * With convenience methods for working / manipulating the Archives.
+ *
+ * @author <a href="mailto:aslak at redhat.com">Aslak Knutsen</a>
+ * @version $Revision: $
+ */
+public class TestDeployment
+{
+ private Archive<?> applicationArchive;
+ private Collection<Archive<?>> auxiliaryArchives;
+
+ /**
+ * @param applicationArchive The user defined {@link Archive}
+ * @param auxiliaryArchives All extra library {@link Archive}s defined by extensions / core / frameworks.
+ */
+ public TestDeployment(Archive<?> applicationArchive, Collection<Archive<?>> auxiliaryArchives)
+ {
+ if(applicationArchive == null)
+ {
+ throw new IllegalArgumentException("ApplicationArchive must be specified");
+ }
+ if(auxiliaryArchives == null)
+ {
+ throw new IllegalArgumentException("AuxiliaryArchives must be specified");
+ }
+
+ this.applicationArchive = applicationArchive;
+ this.auxiliaryArchives = auxiliaryArchives;
+ }
+
+ /**
+ * Convenience method to lookup the user tagged archive for enriching.
+ * @return The tagged Archive or ApplicationArchive if none are tagged
+ */
+ public Archive<?> getArchiveForEnrichment()
+ {
+ // TODO: lookup 'tagged' archive. return applicationArchive if none found
+ return applicationArchive;
+ }
+
+ public Archive<?> getApplicationArchive()
+ {
+ return applicationArchive;
+ }
+
+ public Collection<Archive<?>> getAuxiliaryArchives()
+ {
+ return auxiliaryArchives;
+ }
+}
More information about the jboss-svn-commits
mailing list