[jboss-svn-commits] JBoss Common SVN: r4523 - in arquillian/trunk: containers/jbossas-remote-50 and 14 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jun 15 08:01:50 EDT 2010


Author: aslak
Date: 2010-06-15 08:01:49 -0400 (Tue, 15 Jun 2010)
New Revision: 4523

Added:
   arquillian/trunk/containers/jbossas-remote-50/
   arquillian/trunk/containers/jbossas-remote-50/pom.xml
   arquillian/trunk/containers/jbossas-remote-50/src/
   arquillian/trunk/containers/jbossas-remote-50/src/main/
   arquillian/trunk/containers/jbossas-remote-50/src/main/java/
   arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/
   arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/jboss/
   arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/jboss/arquillian/
   arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/jboss/arquillian/jbossas/
   arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/jboss/arquillian/jbossas/remote50/
   arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/jboss/arquillian/jbossas/remote50/JBossASConfiguration.java
   arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/jboss/arquillian/jbossas/remote50/JBossASDeploymentAppender.java
   arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/jboss/arquillian/jbossas/remote50/JBossASRemoteContainer.java
   arquillian/trunk/containers/jbossas-remote-50/src/main/resources/
   arquillian/trunk/containers/jbossas-remote-50/src/main/resources/META-INF/
   arquillian/trunk/containers/jbossas-remote-50/src/main/resources/META-INF/services/
   arquillian/trunk/containers/jbossas-remote-50/src/main/resources/META-INF/services/org.jboss.arquillian.spi.AuxiliaryArchiveAppender
   arquillian/trunk/containers/jbossas-remote-50/src/main/resources/META-INF/services/org.jboss.arquillian.spi.ContainerConfiguration
   arquillian/trunk/containers/jbossas-remote-50/src/main/resources/META-INF/services/org.jboss.arquillian.spi.DeployableContainer
   arquillian/trunk/containers/jbossas-remote-50/src/test/
   arquillian/trunk/containers/jbossas-remote-50/src/test/java/
   arquillian/trunk/containers/jbossas-remote-50/src/test/resources/
Modified:
   arquillian/trunk/containers/pom.xml
   arquillian/trunk/examples/junit/pom.xml
   arquillian/trunk/examples/testng/pom.xml
Log:
ARQ-178 Added a Remote DeployableContainer for JBoss AS 5.0



Property changes on: arquillian/trunk/containers/jbossas-remote-50
___________________________________________________________________
Name: svn:ignore
   + .classpath
.project
.settings
target



Added: arquillian/trunk/containers/jbossas-remote-50/pom.xml
===================================================================
--- arquillian/trunk/containers/jbossas-remote-50/pom.xml	                        (rev 0)
+++ arquillian/trunk/containers/jbossas-remote-50/pom.xml	2010-06-15 12:01:49 UTC (rev 4523)
@@ -0,0 +1,76 @@
+<?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">
+
+   <!-- 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.container</groupId>
+   <artifactId>arquillian-jbossas-remote-50</artifactId>
+   <name>Arquillian Container JBoss AS Remote 5.0</name>
+   <description>JBoss AS 5.0 Remote Container integration for the Arquillian Project</description>
+
+
+   <!-- Properties -->
+   <properties>
+
+      <!-- Versioning -->
+
+   </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.arquillian.protocol</groupId>
+         <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>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.arquillian.testenricher</groupId>
+         <artifactId>arquillian-testenricher-resource</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+
+      <!-- 
+    org.jboss
+     -->
+      <dependency>
+         <groupId>org.jboss.jbossas</groupId>
+         <artifactId>jboss-as-client</artifactId>
+         <version>5.0.1.GA</version>
+         <type>pom</type>
+         <scope>provided</scope>
+      </dependency>
+   </dependencies>
+</project>
+

Added: arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/jboss/arquillian/jbossas/remote50/JBossASConfiguration.java
===================================================================
--- arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/jboss/arquillian/jbossas/remote50/JBossASConfiguration.java	                        (rev 0)
+++ arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/jboss/arquillian/jbossas/remote50/JBossASConfiguration.java	2010-06-15 12:01:49 UTC (rev 4523)
@@ -0,0 +1,114 @@
+/*
+ * 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.jbossas.remote50;
+
+import org.jboss.arquillian.spi.ContainerConfiguration;
+import org.jboss.arquillian.spi.ContainerProfile;
+
+/**
+ * A {@link org.jboss.arquillian.spi.ContainerConfiguration} implementation for
+ * the JBoss AS container.
+ *
+ * @author <a href="mailto:german.escobarc at gmail.com">German Escobar</a>
+ * @author <a href="mailto:aslak at redhat.com">Aslak Knutsen</a>
+ * @version $Revision: $
+ */
+public class JBossASConfiguration implements ContainerConfiguration
+{
+   /**
+    * ProfileService profileKey. Used to load the correct profile into the DeploymentManager.  
+    */
+   private String profileName = "default";
+      
+   /**
+    * Used by Servlet Protocol to connect to deployment.
+    * // TODO: these belongs to the configuration of Servlet Protocol. Extract out. 
+    */
+   private String remoteServerAddress = "localhost";
+
+   /**
+    * Used by Servlet Protocol to connect to deployment.
+    */
+   private int remoteServerHttpPort = 8080;
+
+   /**
+    * Bind Address for HTTP server for serving deployments to the remote server.
+    * Address should be reachable from remote server. 
+    */
+   private String localDeploymentBindAddress = "localhost";
+   
+   /**
+    * Bind Port for HTTP server for serving deployments to remote server.
+    * Port must be reachable from remote server.
+    */
+   private int localDeploymentBindPort = 9999;
+   
+   public ContainerProfile getContainerProfile()
+   {
+      return ContainerProfile.CLIENT;
+   }
+   
+   public String getProfileName()
+   {
+      return profileName;
+   }
+   
+   public void setProfileName(String profileName)
+   {
+      this.profileName = profileName;
+   }
+
+   public String getRemoteServerAddress()
+   {
+      return remoteServerAddress;
+   }
+
+   public void setRemoteServerAddress(String remoteServerAddress)
+   {
+      this.remoteServerAddress = remoteServerAddress;
+   }
+
+   public int getRemoteServerHttpPort()
+   {
+      return remoteServerHttpPort;
+   }
+
+   public void setRemoteServerHttpPort(int remoteServerHttpPort)
+   {
+      this.remoteServerHttpPort = remoteServerHttpPort;
+   }
+   
+   public String getLocalDeploymentBindAddress()
+   {
+      return localDeploymentBindAddress;
+   }
+   
+   public void setLocalDeploymentBindAddress(String localDeploymentBindAddress)
+   {
+      this.localDeploymentBindAddress = localDeploymentBindAddress;
+   }
+   
+   public int getLocalDeploymentBindPort()
+   {
+      return localDeploymentBindPort;
+   }
+   
+   public void setLocalDeploymentBindPort(int localDeploymentBindPort)
+   {
+      this.localDeploymentBindPort = localDeploymentBindPort;
+   }
+}

Added: arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/jboss/arquillian/jbossas/remote50/JBossASDeploymentAppender.java
===================================================================
--- arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/jboss/arquillian/jbossas/remote50/JBossASDeploymentAppender.java	                        (rev 0)
+++ arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/jboss/arquillian/jbossas/remote50/JBossASDeploymentAppender.java	2010-06-15 12:01:49 UTC (rev 4523)
@@ -0,0 +1,53 @@
+/*
+ * 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.jbossas.remote50;
+
+import org.jboss.arquillian.spi.AuxiliaryArchiveAppender;
+import org.jboss.arquillian.spi.TestEnricher;
+import org.jboss.arquillian.testenricher.ejb.EJBInjectionEnricher;
+import org.jboss.arquillian.testenricher.resource.ResourceInjectionEnricher;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+
+/**
+ * EmbeddedDeploymentAppender
+ * 
+ * Package the required dependencies needed by the Jboss Embedded Container plugin 
+ * to run in container. 
+ *
+ * @author <a href="mailto:aslak at conduct.no">Aslak Knutsen</a>
+ * @version $Revision: $
+ */
+public class JBossASDeploymentAppender implements AuxiliaryArchiveAppender
+{
+
+   public Archive<?> createAuxiliaryArchive()
+   {
+      JavaArchive archive = ShrinkWrap.create("arquillian-jboss-testenrichers.jar", JavaArchive.class)
+                        .addPackages(
+                              true, 
+                              EJBInjectionEnricher.class.getPackage(),
+                              ResourceInjectionEnricher.class.getPackage())
+                        .addServiceProvider(
+                              TestEnricher.class, 
+                              EJBInjectionEnricher.class,
+                              ResourceInjectionEnricher.class);
+      return archive;
+   }
+
+}

Added: arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/jboss/arquillian/jbossas/remote50/JBossASRemoteContainer.java
===================================================================
--- arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/jboss/arquillian/jbossas/remote50/JBossASRemoteContainer.java	                        (rev 0)
+++ arquillian/trunk/containers/jbossas-remote-50/src/main/java/org/jboss/arquillian/jbossas/remote50/JBossASRemoteContainer.java	2010-06-15 12:01:49 UTC (rev 4523)
@@ -0,0 +1,288 @@
+/*
+ * 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.jbossas.remote50;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.naming.InitialContext;
+
+import org.jboss.arquillian.protocol.servlet.ServletMethodExecutor;
+import org.jboss.arquillian.spi.Configuration;
+import org.jboss.arquillian.spi.ContainerMethodExecutor;
+import org.jboss.arquillian.spi.Context;
+import org.jboss.arquillian.spi.DeployableContainer;
+import org.jboss.arquillian.spi.DeploymentException;
+import org.jboss.arquillian.spi.LifecycleException;
+import org.jboss.deployers.spi.management.deploy.DeploymentManager;
+import org.jboss.deployers.spi.management.deploy.DeploymentProgress;
+import org.jboss.deployers.spi.management.deploy.DeploymentStatus;
+import org.jboss.managed.api.ManagedDeployment.DeploymentPhase;
+import org.jboss.profileservice.spi.ProfileKey;
+import org.jboss.profileservice.spi.ProfileService;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.exporter.ZipExporter;
+import org.jboss.virtual.VFS;
+
+import com.sun.net.httpserver.HttpExchange;
+import com.sun.net.httpserver.HttpHandler;
+import com.sun.net.httpserver.HttpServer;
+
+/**
+ * JbossRemoteContainer
+ *
+ * @author <a href="mailto:aslak at conduct.no">Aslak Knutsen</a>
+ * @version $Revision: $
+ */
+public class JBossASRemoteContainer implements DeployableContainer
+{
+   private final List<String> failedUndeployments = new ArrayList<String>();
+   private DeploymentManager deploymentManager;
+
+   private HttpServer httpFileServer;
+   
+   private JBossASConfiguration configuration;
+   
+   public void setup(Context context, Configuration configuration)
+   {
+      this.configuration = configuration.getContainerConfig(JBossASConfiguration.class);
+   }
+   
+   public void start(Context context) throws LifecycleException
+   {
+      try 
+      {
+         // TODO: configure http bind address
+         httpFileServer = HttpServer.create();
+         httpFileServer.bind(
+               new InetSocketAddress(
+                     InetAddress.getByName(configuration.getLocalDeploymentBindAddress()), 
+                     configuration.getLocalDeploymentBindPort()), 
+               -1);
+         httpFileServer.start();
+         initDeploymentManager();
+      } 
+      catch (Exception e) 
+      {
+         throw new LifecycleException("Could not connect to container", e);
+      }
+   }
+   
+   public void stop(Context context) throws LifecycleException
+   {
+      try 
+      {
+         httpFileServer.stop(0);
+         removeFailedUnDeployments();
+      } 
+      catch (Exception e) 
+      {
+         throw new LifecycleException("Could not clean up", e);
+      }
+   }
+
+   public ContainerMethodExecutor deploy(Context context, final Archive<?> archive) throws DeploymentException
+   {
+      if(archive == null) 
+      {
+         throw new IllegalArgumentException("Archive must be specified");
+      }
+      if (deploymentManager == null)
+      {
+         throw new IllegalStateException("start has not been called!");
+      }
+      String deploymentName = archive.getName();
+      
+      Exception failure = null;
+      try
+      {
+         httpFileServer.createContext("/" + deploymentName, new HttpHandler()
+         {
+            public void handle(HttpExchange exchange) throws IOException
+            {
+               InputStream zip = archive.as(ZipExporter.class).exportZip();
+               ByteArrayOutputStream zipStream = new ByteArrayOutputStream();
+               JBossASRemoteContainer.copy(zip, zipStream);
+               zip.close();
+
+               byte[] zipArray = zipStream.toByteArray();
+               exchange.sendResponseHeaders(200, zipArray.length);
+
+               OutputStream out = exchange.getResponseBody();
+               out.write(zipArray);
+               out.close();
+
+            }
+         });
+         URL fileServerUrl = createFileServerURL(deploymentName);
+         
+         DeploymentProgress distribute = deploymentManager.distribute(deploymentName, DeploymentPhase.APPLICATION, fileServerUrl, true);
+         distribute.run();
+         DeploymentStatus uploadStatus = distribute.getDeploymentStatus(); 
+         if(uploadStatus.isFailed()) 
+         {
+            failure = uploadStatus.getFailure();
+            undeploy(deploymentName);
+         } 
+         else 
+         {
+            DeploymentProgress progress = deploymentManager.start(DeploymentPhase.APPLICATION, deploymentName);
+            progress.run();
+            DeploymentStatus status = progress.getDeploymentStatus();
+            if (status.isFailed())
+            {
+               failure = status.getFailure();
+               undeploy(deploymentName);
+            }
+         }
+      }
+      catch (Exception e)
+      {
+         throw new DeploymentException("Could not deploy " + deploymentName, e);
+      }
+      if (failure != null)
+      {
+         throw new DeploymentException("Failed to deply " + deploymentName, failure);
+      }
+      try 
+      {
+         return new ServletMethodExecutor(
+               new URL(
+                     "http",
+                     configuration.getRemoteServerAddress(),
+                     configuration.getRemoteServerHttpPort(), 
+                     "/")
+               );
+      } 
+      catch (Exception e) 
+      {
+         throw new RuntimeException("Could not create ContianerMethodExecutor", e);
+      }
+   }
+
+   public void undeploy(Context context, Archive<?> archive) throws DeploymentException
+   {
+      if(archive == null) 
+      {
+         throw new IllegalArgumentException("Archive must be specified");
+      }
+      undeploy(archive.getName());
+   }
+
+   private void undeploy(String name) throws DeploymentException
+   {
+      try
+      {
+         DeploymentProgress stopProgress = deploymentManager.stop(DeploymentPhase.APPLICATION, name);
+         stopProgress.run();
+
+         DeploymentProgress undeployProgress = deploymentManager.undeploy(DeploymentPhase.APPLICATION, name);
+         undeployProgress.run();
+         if (undeployProgress.getDeploymentStatus().isFailed())
+         {
+            failedUndeployments.add(name);
+         }
+         httpFileServer.removeContext("/" + name);
+      }
+      catch (Exception e)
+      {
+         throw new DeploymentException("Could not undeploy " + name, e);
+      }
+   }
+
+   private void initDeploymentManager() throws Exception 
+   {
+      String profileName = configuration.getProfileName();
+      InitialContext ctx = new InitialContext();
+      ProfileService ps = (ProfileService) ctx.lookup("ProfileService");
+      deploymentManager = ps.getDeploymentManager();
+      ProfileKey defaultKey = new ProfileKey(profileName);
+      deploymentManager.loadProfile(defaultKey, false);
+      VFS.init();
+   }
+   
+   private URL createFileServerURL(String archiveName) 
+   {
+      try 
+      {
+         InetSocketAddress address = httpFileServer.getAddress();
+         return new URL(
+               "http", 
+               address.getHostName(), 
+               address.getPort(), 
+               "/" + archiveName);
+      }
+      catch (MalformedURLException e) 
+      {
+         throw new RuntimeException("Could not create fileserver url", e);
+      }
+   }
+   
+   private void removeFailedUnDeployments() throws IOException
+   {
+      List<String> remainingDeployments = new ArrayList<String>();
+      for (String name : failedUndeployments)
+      {
+         try
+         {
+            DeploymentProgress undeployProgress = deploymentManager.undeploy(DeploymentPhase.APPLICATION, name);
+            undeployProgress.run();
+            if (undeployProgress.getDeploymentStatus().isFailed())
+            {
+               remainingDeployments.add(name);
+            }
+         }
+         catch (Exception e)
+         {
+            IOException ioe = new IOException();
+            ioe.initCause(e);
+            throw ioe;
+         }
+      }
+      if (remainingDeployments.size() > 0)
+      {
+         //log.error("Failed to undeploy these artifacts: " + remainingDeployments);
+      }
+      failedUndeployments.clear();
+   }
+
+   private static void copy(InputStream source, OutputStream destination) throws IOException
+   {
+      if (source == null)
+      {
+         throw new IllegalArgumentException("source must be specified");
+      }
+      if (destination == null)
+      {
+         throw new IllegalArgumentException("destination must be specified");
+      }
+      byte[] readBuffer = new byte[2156]; 
+      int bytesIn = 0; 
+      while((bytesIn = source.read(readBuffer)) != -1) 
+      { 
+         destination.write(readBuffer, 0, bytesIn); 
+      }
+   }
+}

Added: arquillian/trunk/containers/jbossas-remote-50/src/main/resources/META-INF/services/org.jboss.arquillian.spi.AuxiliaryArchiveAppender
===================================================================
--- arquillian/trunk/containers/jbossas-remote-50/src/main/resources/META-INF/services/org.jboss.arquillian.spi.AuxiliaryArchiveAppender	                        (rev 0)
+++ arquillian/trunk/containers/jbossas-remote-50/src/main/resources/META-INF/services/org.jboss.arquillian.spi.AuxiliaryArchiveAppender	2010-06-15 12:01:49 UTC (rev 4523)
@@ -0,0 +1 @@
+org.jboss.arquillian.jbossas.remote50.JBossASDeploymentAppender
\ No newline at end of file

Added: arquillian/trunk/containers/jbossas-remote-50/src/main/resources/META-INF/services/org.jboss.arquillian.spi.ContainerConfiguration
===================================================================
--- arquillian/trunk/containers/jbossas-remote-50/src/main/resources/META-INF/services/org.jboss.arquillian.spi.ContainerConfiguration	                        (rev 0)
+++ arquillian/trunk/containers/jbossas-remote-50/src/main/resources/META-INF/services/org.jboss.arquillian.spi.ContainerConfiguration	2010-06-15 12:01:49 UTC (rev 4523)
@@ -0,0 +1 @@
+org.jboss.arquillian.jbossas.remote50.JBossASConfiguration
\ No newline at end of file

Added: arquillian/trunk/containers/jbossas-remote-50/src/main/resources/META-INF/services/org.jboss.arquillian.spi.DeployableContainer
===================================================================
--- arquillian/trunk/containers/jbossas-remote-50/src/main/resources/META-INF/services/org.jboss.arquillian.spi.DeployableContainer	                        (rev 0)
+++ arquillian/trunk/containers/jbossas-remote-50/src/main/resources/META-INF/services/org.jboss.arquillian.spi.DeployableContainer	2010-06-15 12:01:49 UTC (rev 4523)
@@ -0,0 +1 @@
+org.jboss.arquillian.jbossas.remote50.JBossASRemoteContainer
\ No newline at end of file

Modified: arquillian/trunk/containers/pom.xml
===================================================================
--- arquillian/trunk/containers/pom.xml	2010-06-13 11:01:43 UTC (rev 4522)
+++ arquillian/trunk/containers/pom.xml	2010-06-15 12:01:49 UTC (rev 4523)
@@ -24,17 +24,17 @@
   <!-- Aggregate Modules -->
   <modules>
     
-    <!--    <module>container-jboss-embedded</module> -->
+    <module>jbossas-remote-50</module>
     <module>jbossas-remote-51</module>
     <module>jbossas-remote-60</module>
     <module>jbossas-local-51</module>
     <module>jbossas-local-60</module>
     <module>jbossas-embedded-60</module>
     <module>glassfish-embedded-30</module>
-    <module>weld-embedded</module>
+    <module>weld-embedded</module>    
     <module>openejb</module>
     <module>reloaded</module>
     <module>openwebbeans-embedded</module>
   </modules>
 
-</project>
\ No newline at end of file
+</project>

Modified: arquillian/trunk/examples/junit/pom.xml
===================================================================
--- arquillian/trunk/examples/junit/pom.xml	2010-06-13 11:01:43 UTC (rev 4522)
+++ arquillian/trunk/examples/junit/pom.xml	2010-06-15 12:01:49 UTC (rev 4523)
@@ -27,6 +27,7 @@
 		<version.openwebbeans>1.0.0-M4</version.openwebbeans>
 		<version.jboss_60>6.0.0.20100429-M3</version.jboss_60>
 		<version.jboss_51>5.1.0.GA</version.jboss_51>
+		<version.jboss_50>5.0.1.GA</version.jboss_50>
 		<version.glassfish_30>3.0.1-b02</version.glassfish_30>
 		
    </properties>
@@ -298,6 +299,51 @@
 			</build>
 		</profile>
 		<profile>
+			<id>jbossas-remote-50</id>
+			<dependencies>
+				<dependency>
+					<groupId>org.jboss.arquillian.container</groupId>
+					<artifactId>arquillian-jbossas-remote-50</artifactId>
+					<version>${project.version}</version>
+				</dependency>
+				<dependency>
+					<!--
+						Need on all profiles except Glassfish to compile, api is not 100%
+						up to date with final spec
+					-->
+					<groupId>org.jboss.ejb3</groupId>
+					<artifactId>jboss-ejb3-api</artifactId>
+					<version>3.1.0</version>
+				</dependency>
+				<dependency>
+					<groupId>org.jboss.jbossas</groupId>
+					<artifactId>jboss-as-client</artifactId>
+					<version>${version.jboss_50}</version>
+					<type>pom</type>
+				</dependency>
+			</dependencies>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-surefire-plugin</artifactId>
+						<configuration>
+							<includes>
+								<include>com/acme/ejb/*</include>
+								<include>com/acme/jms/*</include>
+								<include>com/acme/resources/*</include>
+							</includes>
+						</configuration>
+					</plugin>
+				</plugins>
+				<testResources>
+					<testResource>
+						<directory>src/test/jboss-resources</directory>
+					</testResource>
+				</testResources>
+			</build>
+		</profile>
+		<profile>
 			<id>jbossas-remote-51</id>
 			<dependencies>
 				<dependency>

Modified: arquillian/trunk/examples/testng/pom.xml
===================================================================
--- arquillian/trunk/examples/testng/pom.xml	2010-06-13 11:01:43 UTC (rev 4522)
+++ arquillian/trunk/examples/testng/pom.xml	2010-06-15 12:01:49 UTC (rev 4523)
@@ -28,6 +28,7 @@
 		<version.openwebbeans>1.0.0-M4</version.openwebbeans>
 		<version.jboss_60>6.0.0.20100429-M3</version.jboss_60>
 		<version.jboss_51>5.1.0.GA</version.jboss_51>
+		<version.jboss_50>5.0.1.GA</version.jboss_50>
 		<version.glassfish_30>3.0.1-b02</version.glassfish_30>
 
 
@@ -305,6 +306,51 @@
 			</build>
 		</profile>
 		<profile>
+			<id>jbossas-remote-50</id>
+			<dependencies>
+				<dependency>
+					<groupId>org.jboss.arquillian.container</groupId>
+					<artifactId>arquillian-jbossas-remote-50</artifactId>
+					<version>${project.version}</version>
+				</dependency>
+				<dependency>
+					<!--
+						Need on all profiles except Glassfish to compile, api is not 100%
+						up to date with final spec
+					-->
+					<groupId>org.jboss.ejb3</groupId>
+					<artifactId>jboss-ejb3-api</artifactId>
+					<version>3.1.0</version>
+				</dependency>
+				<dependency>
+					<groupId>org.jboss.jbossas</groupId>
+					<artifactId>jboss-as-client</artifactId>
+					<version>${version.jboss_50}</version>
+					<type>pom</type>
+				</dependency>
+			</dependencies>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-surefire-plugin</artifactId>
+						<configuration>
+							<includes>
+								<include>com/acme/ejb/*</include>
+								<include>com/acme/jms/*</include>
+								<include>com/acme/resources/*</include>
+							</includes>
+						</configuration>
+					</plugin>
+				</plugins>
+				<testResources>
+					<testResource>
+						<directory>src/test/jboss-resources</directory>
+					</testResource>
+				</testResources>
+			</build>
+		</profile>
+		<profile>
 			<id>jbossas-remote-51</id>
 			<dependencies>
 				<dependency>



More information about the jboss-svn-commits mailing list