[jboss-cvs] JBossAS SVN: r81906 - in projects/jboss-deployers/tags: 2.0.3.GA and 16 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Dec 1 09:14:15 EST 2008


Author: alesj
Date: 2008-12-01 09:14:14 -0500 (Mon, 01 Dec 2008)
New Revision: 81906

Added:
   projects/jboss-deployers/tags/2.0.3.GA/
   projects/jboss-deployers/tags/2.0.3.GA/build/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-client-spi/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-client/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-core-spi/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-core/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractDeploymentClassLoaderPolicyModule.java
   projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/main/java/org/jboss/deployers/plugins/main/MainDeployerImpl.java
   projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ModuleRemoveUnitTestCase.java
   projects/jboss-deployers/tags/2.0.3.GA/deployers-spi/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-structure-spi/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs-spi/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/AliasesParserDeployer.java
   projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DependenciesMetaDataDeployer.java
   projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentAliasesDeployer.java
   projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/dependency/test/DependenciesTestCase.java
   projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/test/resources/dependency/nested/
   projects/jboss-deployers/tags/2.0.3.GA/pom.xml
Removed:
   projects/jboss-deployers/tags/2.0.3.GA/build/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-client-spi/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-client/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-core-spi/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-core/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractDeploymentClassLoaderPolicyModule.java
   projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/main/java/org/jboss/deployers/plugins/main/MainDeployerImpl.java
   projects/jboss-deployers/tags/2.0.3.GA/deployers-spi/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-structure-spi/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs-spi/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/pom.xml
   projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/AliasesParserDeployer.java
   projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DependenciesMetaDataDeployer.java
   projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentAliasesDeployer.java
   projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/dependency/test/DependenciesTestCase.java
   projects/jboss-deployers/tags/2.0.3.GA/pom.xml
Log:
[maven-release-plugin]  copy for tag 2.0.3.GA

Copied: projects/jboss-deployers/tags/2.0.3.GA (from rev 81772, projects/jboss-deployers/branches/Branch_2_0)

Deleted: projects/jboss-deployers/tags/2.0.3.GA/build/pom.xml
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/build/pom.xml	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/build/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,18 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.jboss.deployers</groupId>
-    <artifactId>jboss-deployers</artifactId>
-    <version>2.0.0-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.jboss.deployers</groupId>
-  <artifactId>jboss-deployers-dist</artifactId>
-  <version>2.0.0-SNAPSHOT</version>
-  <packaging>pom</packaging>
-  <name>JBoss Deployers Distribution Build</name>
-  <url>http://www.jboss.com/products/jbossmc</url>
-  <description>
-    The JBoss Deployment Distribution Build.
-  </description>
-
-</project>
\ No newline at end of file

Copied: projects/jboss-deployers/tags/2.0.3.GA/build/pom.xml (from rev 81905, projects/jboss-deployers/branches/Branch_2_0/build/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/build/pom.xml	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/build/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,18 @@
+<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.jboss.deployers</groupId>
+    <artifactId>jboss-deployers</artifactId>
+    <version>2.0.3.GA</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.jboss.deployers</groupId>
+  <artifactId>jboss-deployers-dist</artifactId>
+  <version>2.0.3.GA</version>
+  <packaging>pom</packaging>
+  <name>JBoss Deployers Distribution Build</name>
+  <url>http://www.jboss.com/products/jbossmc</url>
+  <description>
+    The JBoss Deployment Distribution Build.
+  </description>
+
+</project>
\ No newline at end of file

Deleted: projects/jboss-deployers/tags/2.0.3.GA/deployers-client/pom.xml
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/deployers-client/pom.xml	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-client/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,65 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.jboss.deployers</groupId>
-    <artifactId>jboss-deployers</artifactId>
-    <version>2.0.0-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>jboss-deployers-client</artifactId>
-  <packaging>jar</packaging>
-  <name>JBoss Deployers Client</name>
-  <url>http://www.jboss.com/products/jbossmc</url>
-  <description>JBoss Deployers Client</description>
-  
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>test-jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>	   	   
-    </plugins>
-  </build>
-  
-  <!-- Do not add version information here, use ../pom.xml instead -->
-  <dependencies>
-    <!-- Global dependencies -->
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-client-spi</artifactId>
-    </dependency>
-     <!-- Test dependencies -->
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-core</artifactId>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss.deployers</groupId>
-          <artifactId>jboss-deployers-core-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-log4j</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.test</groupId>
-      <artifactId>jboss-test</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>  
-</project>

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-client/pom.xml (from rev 81905, projects/jboss-deployers/branches/Branch_2_0/deployers-client/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/deployers-client/pom.xml	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-client/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,65 @@
+<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.jboss.deployers</groupId>
+    <artifactId>jboss-deployers</artifactId>
+    <version>2.0.3.GA</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>jboss-deployers-client</artifactId>
+  <packaging>jar</packaging>
+  <name>JBoss Deployers Client</name>
+  <url>http://www.jboss.com/products/jbossmc</url>
+  <description>JBoss Deployers Client</description>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <goals>
+              <goal>test-jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>	   	   
+    </plugins>
+  </build>
+  
+  <!-- Do not add version information here, use ../pom.xml instead -->
+  <dependencies>
+    <!-- Global dependencies -->
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-client-spi</artifactId>
+    </dependency>
+     <!-- Test dependencies -->
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-core</artifactId>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss.deployers</groupId>
+          <artifactId>jboss-deployers-core-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-log4j</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.test</groupId>
+      <artifactId>jboss-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>  
+</project>

Deleted: projects/jboss-deployers/tags/2.0.3.GA/deployers-client-spi/pom.xml
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/deployers-client-spi/pom.xml	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-client-spi/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,40 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.jboss.deployers</groupId>
-    <artifactId>jboss-deployers</artifactId>
-    <version>2.0.0-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>jboss-deployers-client-spi</artifactId>
-  <packaging>jar</packaging>
-  <name>JBoss Deployers Client SPI</name>
-  <url>http://www.jboss.com/products/jbossmc</url>
-  <description>JBoss Deployers Client SPI</description>
-  
-  <!-- Do not add version information here, use ../pom.xml instead -->
-  <dependencies>
-    <!-- Global dependencies -->
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-core-spi</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.man</groupId>
-      <artifactId>jboss-managed</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-reflect</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-common-core</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-  </dependencies>  
-</project>
\ No newline at end of file

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-client-spi/pom.xml (from rev 81905, projects/jboss-deployers/branches/Branch_2_0/deployers-client-spi/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/deployers-client-spi/pom.xml	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-client-spi/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,40 @@
+<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.jboss.deployers</groupId>
+    <artifactId>jboss-deployers</artifactId>
+    <version>2.0.3.GA</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>jboss-deployers-client-spi</artifactId>
+  <packaging>jar</packaging>
+  <name>JBoss Deployers Client SPI</name>
+  <url>http://www.jboss.com/products/jbossmc</url>
+  <description>JBoss Deployers Client SPI</description>
+  
+  <!-- Do not add version information here, use ../pom.xml instead -->
+  <dependencies>
+    <!-- Global dependencies -->
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-core-spi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.man</groupId>
+      <artifactId>jboss-managed</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-reflect</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-common-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>  
+</project>
\ No newline at end of file

Deleted: projects/jboss-deployers/tags/2.0.3.GA/deployers-core/pom.xml
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/deployers-core/pom.xml	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-core/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,60 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.jboss.deployers</groupId>
-    <artifactId>jboss-deployers</artifactId>
-    <version>2.0.0-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>jboss-deployers-core</artifactId>
-  <packaging>jar</packaging>
-  <name>JBoss Deployers Core</name>
-  <url>http://www.jboss.com/products/jbossmc</url>
-  <description>JBoss Deployers Core</description>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-      </plugin>   	   
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>test-jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>	   	   
-    </plugins>
-  </build>
-  <!-- Do not add version information here, use ../build/pom.xml instead -->
-  <dependencies>
-    <!-- Global dependencies -->
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-core-spi</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-spi</artifactId>
-    </dependency>
-     <!-- Test dependencies -->
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-log4j</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.test</groupId>
-      <artifactId>jboss-test</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>  
-</project>

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-core/pom.xml (from rev 81905, projects/jboss-deployers/branches/Branch_2_0/deployers-core/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/deployers-core/pom.xml	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-core/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,60 @@
+<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.jboss.deployers</groupId>
+    <artifactId>jboss-deployers</artifactId>
+    <version>2.0.3.GA</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>jboss-deployers-core</artifactId>
+  <packaging>jar</packaging>
+  <name>JBoss Deployers Core</name>
+  <url>http://www.jboss.com/products/jbossmc</url>
+  <description>JBoss Deployers Core</description>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+      </plugin>   	   
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <goals>
+              <goal>test-jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>	   	   
+    </plugins>
+  </build>
+  <!-- Do not add version information here, use ../build/pom.xml instead -->
+  <dependencies>
+    <!-- Global dependencies -->
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-core-spi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-spi</artifactId>
+    </dependency>
+     <!-- Test dependencies -->
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-log4j</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.test</groupId>
+      <artifactId>jboss-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>  
+</project>

Deleted: projects/jboss-deployers/tags/2.0.3.GA/deployers-core-spi/pom.xml
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/deployers-core-spi/pom.xml	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-core-spi/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,40 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.jboss.deployers</groupId>
-    <artifactId>jboss-deployers</artifactId>
-    <version>2.0.0-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>jboss-deployers-core-spi</artifactId>
-  <packaging>jar</packaging>
-  <name>JBoss Deployers Core SPI</name>
-  <url>http://www.jboss.com/products/jbossmc</url>
-  <description>JBoss Deployers Core SPI</description>
-  
-  <!-- Do not add version information here, use ../pom.xml instead -->
-  <!-- Global dependencies -->
-  <dependencies>
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-common-core</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>apache-httpclient</groupId>
-          <artifactId>commons-httpclient</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>apache-slide</groupId>
-          <artifactId>webdavlib</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>apache-xerces</groupId>
-          <artifactId>xml-apis</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-  </dependencies>  
-</project>
\ No newline at end of file

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-core-spi/pom.xml (from rev 81905, projects/jboss-deployers/branches/Branch_2_0/deployers-core-spi/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/deployers-core-spi/pom.xml	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-core-spi/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,40 @@
+<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.jboss.deployers</groupId>
+    <artifactId>jboss-deployers</artifactId>
+    <version>2.0.3.GA</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>jboss-deployers-core-spi</artifactId>
+  <packaging>jar</packaging>
+  <name>JBoss Deployers Core SPI</name>
+  <url>http://www.jboss.com/products/jbossmc</url>
+  <description>JBoss Deployers Core SPI</description>
+  
+  <!-- Do not add version information here, use ../pom.xml instead -->
+  <!-- Global dependencies -->
+  <dependencies>
+    <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-common-core</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>apache-httpclient</groupId>
+          <artifactId>commons-httpclient</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>apache-slide</groupId>
+          <artifactId>webdavlib</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>apache-xerces</groupId>
+          <artifactId>xml-apis</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>  
+</project>
\ No newline at end of file

Deleted: projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/pom.xml
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/deployers-impl/pom.xml	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,186 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.jboss.deployers</groupId>
-    <artifactId>jboss-deployers</artifactId>
-    <version>2.0.0-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>jboss-deployers-impl</artifactId>
-  <packaging>jar</packaging>
-  <name>JBoss Deployers Impl</name>
-  <url>http://www.jboss.com/products/jbossmc</url>
-  <description>JBoss Deployers Impl</description>
-  
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>test-jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>	   	   
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <!--configuration>
-          <testFailureIgnore>true</testFailureIgnore>
-        </configuration-->
-      </plugin>   	   
-    </plugins>
-  </build>
-  
-  <!-- Do not add version information here, use ../pom.xml instead -->
-  <dependencies>
-    <!-- Global dependencies -->
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-spi</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss.microcontainer</groupId>
-          <artifactId>jboss-dependency</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.cl</groupId>
-      <artifactId>jboss-classloading</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-common-core</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.microcontainer</groupId>
-          <artifactId>jboss-dependency</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-mdr</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-reflect</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-common-core</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
-      <artifactId>jboss-kernel</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-common-core</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>javassist</groupId>
-      <artifactId>javassist</artifactId>
-    </dependency>
-    <!-- Test dependencies -->
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-core</artifactId>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss.deployers</groupId>
-          <artifactId>jboss-deployers-core-spi</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-client</artifactId>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss.deployers</groupId>
-          <artifactId>jboss-deployers-core-spi</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.deployers</groupId>
-          <artifactId>jboss-deployers-client-spi</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.aop</groupId>
-      <artifactId>jboss-aop</artifactId>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss.microcontainer</groupId>
-          <artifactId>jboss-container</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.microcontainer</groupId>
-          <artifactId>jboss-dependency</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-common-core</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>apache-xerces</groupId>
-          <artifactId>xml-apis</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>ant</groupId>
-          <artifactId>ant</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-log4j</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.test</groupId>
-      <artifactId>jboss-test</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>  
-</project>

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/pom.xml (from rev 81905, projects/jboss-deployers/branches/Branch_2_0/deployers-impl/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/pom.xml	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,186 @@
+<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.jboss.deployers</groupId>
+    <artifactId>jboss-deployers</artifactId>
+    <version>2.0.3.GA</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>jboss-deployers-impl</artifactId>
+  <packaging>jar</packaging>
+  <name>JBoss Deployers Impl</name>
+  <url>http://www.jboss.com/products/jbossmc</url>
+  <description>JBoss Deployers Impl</description>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <goals>
+              <goal>test-jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>	   	   
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <!--configuration>
+          <testFailureIgnore>true</testFailureIgnore>
+        </configuration-->
+      </plugin>   	   
+    </plugins>
+  </build>
+  
+  <!-- Do not add version information here, use ../pom.xml instead -->
+  <dependencies>
+    <!-- Global dependencies -->
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-spi</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss.microcontainer</groupId>
+          <artifactId>jboss-dependency</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.cl</groupId>
+      <artifactId>jboss-classloading</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-common-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.microcontainer</groupId>
+          <artifactId>jboss-dependency</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-mdr</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-reflect</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-common-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.microcontainer</groupId>
+      <artifactId>jboss-kernel</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-common-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>javassist</groupId>
+      <artifactId>javassist</artifactId>
+    </dependency>
+    <!-- Test dependencies -->
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-core</artifactId>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss.deployers</groupId>
+          <artifactId>jboss-deployers-core-spi</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-client</artifactId>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss.deployers</groupId>
+          <artifactId>jboss-deployers-core-spi</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.deployers</groupId>
+          <artifactId>jboss-deployers-client-spi</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.aop</groupId>
+      <artifactId>jboss-aop</artifactId>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss.microcontainer</groupId>
+          <artifactId>jboss-container</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.microcontainer</groupId>
+          <artifactId>jboss-dependency</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-common-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>apache-xerces</groupId>
+          <artifactId>xml-apis</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>ant</groupId>
+          <artifactId>ant</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-log4j</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.test</groupId>
+      <artifactId>jboss-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>  
+</project>

Deleted: projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractDeploymentClassLoaderPolicyModule.java
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractDeploymentClassLoaderPolicyModule.java	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractDeploymentClassLoaderPolicyModule.java	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,129 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.plugins.classloading;
-
-import java.util.Set;
-
-import org.jboss.classloading.spi.dependency.policy.ClassLoaderPolicyModule;
-import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
-import org.jboss.dependency.spi.ControllerContext;
-import org.jboss.dependency.spi.ControllerState;
-import org.jboss.deployers.spi.deployer.DeploymentStages;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-
-/**
- * AbstractDeploymentClassLoaderPolicyModule.
- * 
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public abstract class AbstractDeploymentClassLoaderPolicyModule extends ClassLoaderPolicyModule
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-
-   /** The classloader state for deployments */
-   private static ControllerState CLASSLOADER_STATE = new ControllerState(DeploymentStages.CLASSLOADER.getName());
-   
-   /** The deployment unit */
-   private DeploymentUnit unit;
-   
-   /**
-    * Determine the classloading metadata for the deployment unit 
-    * 
-    * @param unit the deployment unit
-    * @return the classloading metadata
-    */
-   private static ClassLoadingMetaData determineClassLoadingMetaData(DeploymentUnit unit)
-   {
-      if (unit == null)
-         throw new IllegalArgumentException("Null unit");
-      return unit.getAttachment(ClassLoadingMetaData.class);
-   }
-
-   /**
-    * Determine the classloading metadata for the deployment unit 
-    * 
-    * @param unit the deployment unit
-    * @return the classloading metadata
-    */
-   private static String determineContextName(DeploymentUnit unit)
-   {
-      if (unit == null)
-         throw new IllegalArgumentException("Null unit");
-      ControllerContext context = unit.getTopLevel().getAttachment(ControllerContext.class);
-      if (context == null)
-         throw new IllegalStateException("Deployment has no controller context");
-      
-      // We use the deployment name
-      String contextName = unit.getName();
-
-      // Check to see whether we need to add our name as an alias
-      if (contextName.equals(context.getName()) == false)
-      {
-         Set<Object> aliases = context.getAliases();
-         if (aliases != null && aliases.contains(contextName) == false)
-         {
-            try
-            {
-               context.getController().addAlias(contextName, context.getName());
-            }
-            catch (Throwable t)
-            {
-               throw new RuntimeException("Error adding deployment alias " + contextName + " to " + context, t);
-            }
-         }
-      }
-      
-      return contextName;
-   }
-   
-   /**
-    * Create a new AbstractDeploymentClassLoaderPolicyModule.
-    * 
-    * @param unit the deployment unit
-    * @throws IllegalArgumentException for a null unit
-    */
-   public AbstractDeploymentClassLoaderPolicyModule(DeploymentUnit unit)
-   {
-      super(determineClassLoadingMetaData(unit), determineContextName(unit));
-      this.unit = unit;
-      ControllerContext context = unit.getTopLevel().getAttachment(ControllerContext.class);
-      setControllerContext(context);
-   }
-
-   /**
-    * Get the unit.
-    * 
-    * @return the unit.
-    */
-   public DeploymentUnit getDeploymentUnit()
-   {
-      return unit;
-   }
-
-   @Override
-   public ControllerState getClassLoaderState()
-   {
-      return CLASSLOADER_STATE;
-   }
-}

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractDeploymentClassLoaderPolicyModule.java (from rev 81898, projects/jboss-deployers/branches/Branch_2_0/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractDeploymentClassLoaderPolicyModule.java)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractDeploymentClassLoaderPolicyModule.java	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractDeploymentClassLoaderPolicyModule.java	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,154 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2008, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.deployers.plugins.classloading;
+
+import java.util.Set;
+
+import org.jboss.classloading.spi.dependency.policy.ClassLoaderPolicyModule;
+import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * AbstractDeploymentClassLoaderPolicyModule.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ * @version $Revision: 1.1 $
+ */
+public abstract class AbstractDeploymentClassLoaderPolicyModule extends ClassLoaderPolicyModule
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 1L;
+
+   /** The classloader state for deployments */
+   private static ControllerState CLASSLOADER_STATE = new ControllerState(DeploymentStages.CLASSLOADER.getName());
+
+   /** The deployment unit */
+   private DeploymentUnit unit;
+
+   /**
+    * Determine the classloading metadata for the deployment unit
+    *
+    * @param unit the deployment unit
+    * @return the classloading metadata
+    */
+   private static ClassLoadingMetaData determineClassLoadingMetaData(DeploymentUnit unit)
+   {
+      if (unit == null)
+         throw new IllegalArgumentException("Null unit");
+      return unit.getAttachment(ClassLoadingMetaData.class);
+   }
+
+   /**
+    * Determine the classloading metadata for the deployment unit
+    *
+    * @param unit the deployment unit
+    * @param addAlias should we add alias or remove
+    * @return the classloading metadata
+    */
+   private static String determineContextName(DeploymentUnit unit, boolean addAlias)
+   {
+      if (unit == null)
+         throw new IllegalArgumentException("Null unit");
+
+      ControllerContext context = unit.getTopLevel().getAttachment(ControllerContext.class);
+      if (context == null)
+         throw new IllegalStateException("Deployment has no controller context");
+
+      // We use the deployment name
+      String contextName = unit.getName();
+
+      // Check to see whether we need to add our name as an alias
+      if (contextName.equals(context.getName()) == false)
+      {
+         Set<Object> aliases = context.getAliases();
+         if (aliases == null || (aliases != null && aliases.contains(contextName) == false))
+         {
+            Controller controller = context.getController();
+            if (addAlias)
+            {
+               try
+               {
+                  controller.addAlias(contextName, context.getName());
+               }
+               catch (Throwable t)
+               {
+                  throw new RuntimeException("Error adding deployment alias " + contextName + " to " + context, t);
+               }
+            }
+            else
+            {
+               controller.removeAlias(contextName);
+            }
+         }
+      }
+
+      return contextName;
+   }
+
+   /**
+    * Create a new AbstractDeploymentClassLoaderPolicyModule.
+    *
+    * @param unit the deployment unit
+    * @throws IllegalArgumentException for a null unit
+    */
+   public AbstractDeploymentClassLoaderPolicyModule(DeploymentUnit unit)
+   {
+      super(determineClassLoadingMetaData(unit), determineContextName(unit, true));
+      this.unit = unit;
+      ControllerContext context = unit.getTopLevel().getAttachment(ControllerContext.class);
+      setControllerContext(context);
+   }
+
+   /**
+    * Get the unit.
+    *
+    * @return the unit.
+    */
+   public DeploymentUnit getDeploymentUnit()
+   {
+      return unit;
+   }
+
+   @Override
+   public ControllerState getClassLoaderState()
+   {
+      return CLASSLOADER_STATE;
+   }
+
+   @Override
+   public void release()
+   {
+      try
+      {
+         super.release();
+      }
+      finally
+      {
+         determineContextName(unit, false);
+      }
+   }
+}

Deleted: projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/main/java/org/jboss/deployers/plugins/main/MainDeployerImpl.java
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/deployers-impl/src/main/java/org/jboss/deployers/plugins/main/MainDeployerImpl.java	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/main/java/org/jboss/deployers/plugins/main/MainDeployerImpl.java	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,944 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.plugins.main;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
-import org.jboss.deployers.client.spi.Deployment;
-import org.jboss.deployers.client.spi.main.MainDeployer;
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.DeploymentState;
-import org.jboss.deployers.spi.deployer.Deployers;
-import org.jboss.deployers.spi.deployer.DeploymentStage;
-import org.jboss.deployers.spi.deployer.DeploymentStages;
-import org.jboss.deployers.spi.deployer.managed.ManagedDeploymentCreator;
-import org.jboss.deployers.structure.spi.DeploymentContext;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.structure.spi.StructuralDeployers;
-import org.jboss.deployers.structure.spi.helpers.RevertedDeploymentContextComparator;
-import org.jboss.deployers.structure.spi.main.MainDeployerStructure;
-import org.jboss.logging.Logger;
-import org.jboss.managed.api.ManagedDeployment;
-import org.jboss.managed.api.ManagedObject;
-import org.jboss.util.graph.Graph;
-import org.jboss.util.graph.Vertex;
-
-/**
- * MainDeployerImpl.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @author <a href="scott.stark at jboss.org">Scott Stark</a>
- * @author <a href="ales.justin at jboss.com">Ales Justin</a>
- * @version $Revision$
- */
-public class MainDeployerImpl implements MainDeployer, MainDeployerStructure
-{
-   /** The log */
-   private static final Logger log = Logger.getLogger(MainDeployerImpl.class);
-
-   /** Whether we are shutdown */
-   private AtomicBoolean shutdown = new AtomicBoolean(false);
-
-   /** The deployers */
-   private Deployers deployers;
-
-   /** The structural deployers */
-   private StructuralDeployers structuralDeployers;
-
-   /** The ManagedDeploymentCreator plugin */
-   private ManagedDeploymentCreator mgtDeploymentCreator = null;
-
-   /** The deployments by name */
-   private Map<String, DeploymentContext> topLevelDeployments = new ConcurrentHashMap<String, DeploymentContext>();
-
-   /** All deployments by name */
-   private Map<String, DeploymentContext> allDeployments = new ConcurrentHashMap<String, DeploymentContext>();
-
-   /** Deployments in error by name */
-   private Map<String, DeploymentContext> errorDeployments = new ConcurrentHashMap<String, DeploymentContext>();
-
-   /** Deployments missing deployers */
-   private Map<String, Deployment> missingDeployers = new ConcurrentHashMap<String, Deployment>();
-
-   /** The undeploy work */
-   private List<DeploymentContext> undeploy = new CopyOnWriteArrayList<DeploymentContext>();
-
-   /** The deploy work */
-   private List<DeploymentContext> deploy = new CopyOnWriteArrayList<DeploymentContext>();
-
-   /** The process lock */
-   private ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
-
-   /** The top deployment context comparator */
-   private Comparator<DeploymentContext> comparator;
-   private Comparator<DeploymentContext> reverted;
-
-   /**
-    * Set the top deployment context comparator.
-    *
-    * @param comparator the deployment context comparator
-    */
-   public void setComparator(Comparator<DeploymentContext> comparator)
-   {
-      if (comparator == null)
-         throw new IllegalArgumentException("Null comparator");
-      this.comparator = comparator;
-      this.reverted = new RevertedDeploymentContextComparator(comparator);
-   }
-
-   /**
-    * Get the deployers
-    *
-    * @return the deployers
-    */
-   public synchronized Deployers getDeployers()
-   {
-      return deployers;
-   }
-
-   /**
-    * Set the deployers
-    *
-    * @param deployers the deployers
-    * @throws IllegalArgumentException for null deployers
-    */
-   public synchronized void setDeployers(Deployers deployers)
-   {
-      if (deployers == null)
-         throw new IllegalArgumentException("Null deployers");
-      this.deployers = deployers;
-   }
-
-   /**
-    * Get the structural deployers
-    *
-    * @return the structural deployers
-    */
-   public synchronized StructuralDeployers getStructuralDeployers()
-   {
-      return structuralDeployers;
-   }
-
-   /**
-    * Set the structural deployers
-    *
-    * @param deployers the deployers
-    * @throws IllegalArgumentException for null deployers
-    */
-   public synchronized void setStructuralDeployers(StructuralDeployers deployers)
-   {
-      if (deployers == null)
-         throw new IllegalArgumentException("Null deployers");
-      structuralDeployers = deployers;
-   }
-
-   public ManagedDeploymentCreator getMgtDeploymentCreator()
-   {
-      return mgtDeploymentCreator;
-   }
-
-   public void setMgtDeploymentCreator(ManagedDeploymentCreator mgtDeploymentCreator)
-   {
-      this.mgtDeploymentCreator = mgtDeploymentCreator;
-   }
-
-   public Deployment getDeployment(String name)
-   {
-      DeploymentContext context = getTopLevelDeploymentContext(name);
-      if (context == null)
-         return null;
-      return context.getDeployment();
-   }
-
-   @Deprecated
-   public DeploymentContext getDeploymentContext(String name)
-   {
-      if (name == null)
-         throw new IllegalArgumentException("Null name");
-
-      return allDeployments.get(name);
-   }
-
-   @Deprecated
-   public DeploymentContext getDeploymentContext(String name, boolean errorNotFound) throws DeploymentException
-   {
-      DeploymentContext context = getDeploymentContext(name);
-      if (errorNotFound && context == null)
-         throw new DeploymentException("Context " + name + " not found");
-      return context;
-   }
-
-   public DeploymentUnit getDeploymentUnit(String name)
-   {
-      DeploymentContext context = getDeploymentContext(name);
-      if (context == null)
-         return null;
-      return context.getDeploymentUnit();
-   }
-
-   public DeploymentUnit getDeploymentUnit(String name, boolean errorNotFound) throws DeploymentException
-   {
-      DeploymentUnit unit = getDeploymentUnit(name);
-      if (errorNotFound && unit == null)
-         throw new DeploymentException("Unit " + name + " not found");
-      return unit;
-   }
-
-   /**
-    * Get a top level deployment context by name
-    *
-    * @param name the name
-    * @return the context
-    */
-   public DeploymentContext getTopLevelDeploymentContext(String name)
-   {
-      if (name == null)
-         throw new IllegalArgumentException("Null name");
-      return topLevelDeployments.get(name);
-   }
-
-   public Collection<DeploymentContext> getAll()
-   {
-      return Collections.unmodifiableCollection(allDeployments.values());
-   }
-
-   public Collection<DeploymentContext> getErrors()
-   {
-      return Collections.unmodifiableCollection(errorDeployments.values());
-   }
-
-   public Collection<Deployment> getMissingDeployer()
-   {
-      return Collections.unmodifiableCollection(missingDeployers.values());
-   }
-
-   public Collection<Deployment> getTopLevel()
-   {
-      List<Deployment> result = new ArrayList<Deployment>();
-      for (DeploymentContext context : topLevelDeployments.values())
-      {
-         Deployment deployment = context.getDeployment();
-         if (deployment != null)
-            result.add(deployment);
-         else
-            throw new IllegalStateException("Context has no deployment? " + context.getName());
-      }
-      return result;
-   }
-
-   public void addDeployment(Deployment deployment) throws DeploymentException
-   {
-      addDeployment(deployment, true);
-   }
-
-   /**
-    * Add a deployment
-    *
-    * @param deployment the deployment
-    * @param addToDeploy should we add this deployment to deploy collection
-    * @throws DeploymentException for any error
-    */
-   protected void addDeployment(Deployment deployment, boolean addToDeploy) throws DeploymentException
-   {
-      if (deployment == null)
-         throw new DeploymentException("Null context");
-
-      lockRead();
-      try
-      {
-         if (shutdown.get())
-            throw new DeploymentException("The main deployer is shutdown");
-
-         String name = deployment.getName();
-         log.debug("Add deployment: " + name);
-
-         DeploymentContext previous = topLevelDeployments.get(name);
-         boolean topLevelFound = false;
-         if (previous != null)
-         {
-            log.debug("Removing previous deployment: " + previous.getName());
-            removeContext(previous, addToDeploy);
-            topLevelFound = true;
-         }
-
-         if (topLevelFound == false)
-         {
-            previous = allDeployments.get(name);
-            if (previous != null)
-               throw new IllegalStateException("Deployment already exists as a subdeployment: " + name);
-         }
-
-         DeploymentContext context = null;
-         try
-         {
-            context = determineStructure(deployment);
-            if (DeploymentState.ERROR.equals(context.getState()))
-               errorDeployments.put(name, context);
-
-            context.getTransientAttachments().addAttachment(MainDeployer.class, this);
-            topLevelDeployments.put(name, context);
-            addContext(context, addToDeploy);
-         }
-         catch (DeploymentException e)
-         {
-            missingDeployers.put(name, deployment);
-            throw e;
-         }
-         catch (Throwable t)
-         {
-            // was structure determined?
-            if (context == null)
-               missingDeployers.put(name, deployment);
-
-            throw DeploymentException.rethrowAsDeploymentException("Error determining deployment structure for " + name, t);
-         }
-      }
-      finally
-      {
-         unlockRead();
-      }
-   }
-
-   public boolean removeDeployment(Deployment deployment) throws DeploymentException
-   {
-      return removeDeployment(deployment, true);
-   }
-
-   /**
-    * Remove a deployment by name
-    *
-    * @param deployment thedeployment
-    * @param addToUndeploy should we add to undeploy collection
-    * @return false when the context was previously unknown
-    * @throws DeploymentException for any error
-    */
-   protected boolean removeDeployment(Deployment deployment, boolean addToUndeploy) throws DeploymentException
-   {
-      if (deployment == null)
-         throw new DeploymentException("Null deployment");
-
-      return removeDeployment(deployment.getName(), addToUndeploy);
-   }
-
-   public boolean removeDeployment(String name) throws DeploymentException
-   {
-      return removeDeployment(name, true);
-   }
-
-   /**
-    * Remove a deployment by name
-    *
-    * @param name the name of the deployment
-    * @param addToUndeploy should we add to undeploy collection
-    * @return false when the context was previously unknown
-    * @throws DeploymentException for any error
-    */
-   protected boolean removeDeployment(String name, boolean addToUndeploy) throws DeploymentException
-   {
-      if (name == null)
-         throw new DeploymentException("Null name");
-
-      lockRead();
-      try
-      {
-         if (shutdown.get())
-            throw new IllegalStateException("The main deployer is shutdown");
-
-         log.debug("Remove deployment context: " + name);
-
-         DeploymentContext context = topLevelDeployments.remove(name);
-         if (context == null)
-            return false;
-
-         context.getTransientAttachments().removeAttachment(MainDeployer.class);
-         removeContext(context, addToUndeploy);
-
-         return true;
-      }
-      finally
-      {
-         unlockRead();
-      }
-   }
-
-   public void deploy(Deployment... deployments) throws DeploymentException
-   {
-      if (deployments == null)
-         throw new IllegalArgumentException("Null deployments.");
-
-      if (deployers == null)
-         throw new IllegalStateException("No deployers");
-
-      lockRead();
-      try
-      {
-         if (shutdown.get())
-            throw new IllegalStateException("The main deployer is shutdown");
-
-         DeploymentContext[] contexts = new DeploymentContext[deployments.length];
-         for(int i = 0; i < deployments.length; i++)
-         {
-            try
-            {
-               addDeployment(deployments[i], false);
-               DeploymentContext context = getDeploymentContext(deployments[i].getName(), true);
-               deployers.process(Collections.singletonList(context), null);
-               contexts[i] = context;
-            }
-            catch(Throwable t)
-            {
-               DeploymentContext[] deployedContexts = new DeploymentContext[i];
-               System.arraycopy(contexts, 0, deployedContexts, 0, i);
-               deployers.process(null, Arrays.asList(deployedContexts));
-               throw DeploymentException.rethrowAsDeploymentException("Unable to deploy deployments, cause: " + deployments[i], t);
-            }
-         }
-         try
-         {
-            deployers.checkComplete(contexts);
-         }
-         catch (DeploymentException e)
-         {
-            deployers.process(null, Arrays.asList(contexts));
-            throw e;
-         }
-      }
-      finally
-      {
-         unlockRead();
-      }
-   }
-
-   public void undeploy(Deployment... deployments) throws DeploymentException
-   {
-      if (deployments == null)
-         throw new IllegalArgumentException("Null deployments.");
-
-      if (deployers == null)
-         throw new IllegalStateException("No deployers");
-
-      lockRead();
-      try
-      {
-         if (shutdown.get())
-            throw new IllegalStateException("The main deployer is shutdown");
-
-         for(Deployment deployment : deployments)
-         {
-            DeploymentContext context = getDeploymentContext(deployment.getName());
-            if (context != null)
-            {
-               try
-               {
-                  removeDeployment(deployment, false);
-                  deployers.process(null, Collections.singletonList(context));
-               }
-               catch (DeploymentException e)
-               {
-                  if (log.isTraceEnabled())
-                     log.trace("Ignored exception while undeploying deployment " + deployment.getName() + ":" + e);
-               }
-            }
-            else if (log.isTraceEnabled())
-            {
-               log.trace("No such deployment present: " + deployment.getName());
-            }
-         }
-      }
-      finally
-      {
-         unlockRead();
-      }
-   }
-
-   public void undeploy(String... names) throws DeploymentException
-   {
-      if (names == null)
-         throw new IllegalArgumentException("Null names.");
-
-      List<Deployment> deployments = new ArrayList<Deployment>();
-      for(String name : names)
-      {
-         DeploymentContext context = getDeploymentContext(name);
-         if (context != null)
-            deployments.add(context.getDeployment());
-         else if (log.isTraceEnabled())
-            log.trace("No such deployment present: " + name);
-      }
-      if (deployments.isEmpty() == false)
-         undeploy(deployments.toArray(new Deployment[deployments.size()]));
-   }
-
-   public void process()
-   {
-      if (deployers == null)
-         throw new IllegalStateException("No deployers");
-
-      lockRead();
-      try
-      {
-         if (shutdown.get())
-            throw new IllegalStateException("The main deployer is shutdown");
-
-         List<DeploymentContext> undeployContexts = null;
-         List<DeploymentContext> deployContexts = null;
-
-         if (undeploy.isEmpty() == false)
-         {
-            // Undeploy in reverse order (subdeployments first)
-            undeployContexts = new ArrayList<DeploymentContext>(undeploy.size());
-            for (int i = undeploy.size() - 1; i >= 0; --i)
-               undeployContexts.add(undeploy.get(i));
-            if (reverted != null)
-               Collections.sort(undeployContexts, reverted);
-            undeploy.clear();
-         }
-         if (deploy.isEmpty() == false)
-         {
-            deployContexts = new ArrayList<DeploymentContext>(deploy);
-            if (comparator != null)
-               Collections.sort(deployContexts, comparator);
-            deploy.clear();
-         }
-
-         if (undeployContexts == null && deployContexts == null)
-         {
-            log.debug("Asked to process() when there is nothing to do.");
-            return;
-         }
-
-         try
-         {
-            deployers.process(deployContexts, undeployContexts);
-         }
-         catch (RuntimeException e)
-         {
-            throw e;
-         }
-         catch (Error e)
-         {
-            throw e;
-         }
-         catch (Throwable t)
-         {
-            throw new RuntimeException("Unexpected error in process()", t);
-         }
-      }
-      finally
-      {
-         unlockRead();
-      }
-   }
-
-   public DeploymentStage getDeploymentStage(String deploymentName) throws DeploymentException
-   {
-      if (deployers == null)
-         throw new IllegalStateException("No deployers");
-
-      lockRead();
-      try
-      {
-         DeploymentContext context = getTopLevelDeploymentContext(deploymentName);
-         if (context == null)
-            return DeploymentStages.NOT_INSTALLED;
-         DeploymentStage result = deployers.getDeploymentStage(context);
-         if (result != null)
-            return result;
-         else
-            return DeploymentStages.NOT_INSTALLED;
-      }
-      catch (Error e)
-      {
-         throw e;
-      }
-      catch (Throwable t)
-      {
-         throw DeploymentException.rethrowAsDeploymentException("Error getting stage for " + deploymentName, t);
-      }
-      finally
-      {
-         unlockRead();
-      }
-   }
-
-   public void change(String deploymentName, DeploymentStage stage) throws DeploymentException
-   {
-      if (deployers == null)
-         throw new IllegalStateException("No deployers");
-
-      lockRead();
-      try
-      {
-         DeploymentContext context = getTopLevelDeploymentContext(deploymentName);
-         if (context == null)
-            throw new DeploymentException("Top level deployment " + deploymentName + " not found");
-         try
-         {
-            deployers.change(context, stage);
-         }
-         catch (Error e)
-         {
-            throw e;
-         }
-         catch (Throwable t)
-         {
-            throw DeploymentException.rethrowAsDeploymentException("Error changing context " + deploymentName + " to stage " + stage, t);
-         }
-      }
-      finally
-      {
-         unlockRead();
-      }
-   }
-
-   public void prepareShutdown()
-   {
-      if (deployers != null)
-         deployers.shutdown();
-   }
-
-   public void shutdown()
-   {
-      prepareShutdown();
-      lockWrite();
-      try
-      {
-         while (topLevelDeployments.isEmpty() == false)
-         {
-            // Remove all the contexts
-            for (DeploymentContext context : topLevelDeployments.values())
-            {
-               topLevelDeployments.remove(context.getName());
-               removeContext(context, true);
-            }
-
-            // Do it
-            process();
-         }
-
-         shutdown.set(true);
-      }
-      finally
-      {
-         unlockWrite();
-      }
-   }
-
-   public void checkComplete() throws DeploymentException
-   {
-      if (deployers == null)
-         throw new IllegalStateException("Null deployers");
-
-      deployers.checkComplete(errorDeployments.values(), missingDeployers.values());
-   }
-
-   /**
-    * Get the names from deployments.
-    *
-    * @param deployments the deployments
-    * @return depolyment names
-    */
-   protected static String[] getDeploymentNames(Deployment... deployments)
-   {
-      if (deployments == null)
-         throw new IllegalArgumentException("Null deployments");
-
-      String[] names = new String[deployments.length];
-      for(int i = 0; i < deployments.length; i++)
-      {
-         if (deployments[i] == null)
-            throw new IllegalArgumentException("Null deployment: " + i);
-         names[i] = deployments[i].getName();
-      }
-      return names;
-   }
-
-   /**
-    * Get the deployment contexts.
-    *
-    * @param names the deployment names
-    * @return depolyment contexts
-    * @throws DeploymentException if context is not found
-    */
-   protected DeploymentContext[] getDeploymentContexts(String... names) throws DeploymentException
-   {
-      if (names == null)
-         throw new IllegalArgumentException("Null names");
-
-      DeploymentContext[] contexts = new DeploymentContext[names.length];
-      for(int i = 0; i < names.length; i++)
-         contexts[i] = getDeploymentContext(names[i], true);
-
-      return contexts;
-   }
-
-   public void checkComplete(Deployment... deployments) throws DeploymentException
-   {
-      if (deployments == null)
-         throw new IllegalArgumentException("Null deployments");
-
-      checkComplete(getDeploymentNames(deployments));
-   }
-
-   public void checkComplete(String... names) throws DeploymentException
-   {
-      if (names == null)
-         throw new IllegalArgumentException("Null names");
-
-      if (deployers == null)
-         throw new IllegalStateException("Null deployers");
-
-      deployers.checkComplete(getDeploymentContexts(names));
-   }
-
-   public void checkStructureComplete(Deployment... deployments) throws DeploymentException
-   {
-      if (deployments == null)
-         throw new IllegalArgumentException("Null deployments");
-
-      checkStructureComplete(getDeploymentNames(deployments));
-   }
-
-   public void checkStructureComplete(String... names) throws DeploymentException
-   {
-      if (names == null)
-         throw new IllegalArgumentException("Null names");
-
-      if (deployers == null)
-         throw new IllegalStateException("Null deployers");
-
-      deployers.checkStructureComplete(getDeploymentContexts(names));
-   }
-
-   public DeploymentState getDeploymentState(String name)
-   {
-      DeploymentContext context = getDeploymentContext(name);
-      if (context == null)
-         return DeploymentState.UNDEPLOYED;
-      return context.getState();
-   }
-
-   public ManagedDeployment getManagedDeployment(String name) throws DeploymentException
-   {
-      DeploymentContext context = getDeploymentContext(name, true);
-      Map<String, ManagedObject> rootMOs = getManagedObjects(context);
-      ManagedDeployment root = mgtDeploymentCreator.build(context.getDeploymentUnit(), rootMOs, null);
-      for (DeploymentContext childContext : context.getChildren())
-      {
-         processManagedDeployment(childContext, root);
-      }
-      return root;
-   }
-
-   public Map<String, ManagedObject> getManagedObjects(String name) throws DeploymentException
-   {
-      DeploymentContext context = getDeploymentContext(name, true);
-      return getManagedObjects(context);
-   }
-
-   public Map<String, ManagedObject> getManagedObjects(DeploymentContext context) throws DeploymentException
-   {
-      if (context == null)
-         throw new IllegalArgumentException("Null context");
-
-      if (deployers == null)
-         throw new IllegalStateException("No deployers");
-
-      return deployers.getManagedObjects(context);
-   }
-
-   public Graph<Map<String, ManagedObject>> getDeepManagedObjects(String name) throws DeploymentException
-   {
-      DeploymentContext context = getDeploymentContext(name);
-      Graph<Map<String, ManagedObject>> managedObjectsGraph = new Graph<Map<String, ManagedObject>>();
-      Vertex<Map<String, ManagedObject>> parent = new Vertex<Map<String, ManagedObject>>(context.getName());
-      managedObjectsGraph.setRootVertex(parent);
-      Map<String, ManagedObject> managedObjects = getManagedObjects(context);
-      parent.setData(managedObjects);
-      processManagedObjects(context, managedObjectsGraph, parent);
-
-      return managedObjectsGraph;
-   }
-
-   /**
-    * Get the managed objects for a context
-    *
-    * @param context the context
-    * @param graph the graph
-    * @param parent the parent node
-    * @throws DeploymentException for any problem
-    */
-   protected void processManagedObjects(DeploymentContext context, Graph<Map<String, ManagedObject>> graph, Vertex<Map<String, ManagedObject>> parent)
-      throws DeploymentException
-   {
-      List<DeploymentContext> children = context.getChildren();
-      for(DeploymentContext child : children)
-      {
-         Vertex<Map<String, ManagedObject>> vertex = new Vertex<Map<String, ManagedObject>>(child.getName());
-         Map<String, ManagedObject> managedObjects = getManagedObjects(context);
-         vertex.setData(managedObjects);
-         graph.addEdge(parent, vertex, 0);
-         processManagedObjects(child, graph, vertex);
-      }
-   }
-
-   /**
-    * Recursively process the DeploymentContext into ManagedDeployments.
-    *
-    * @param context the context
-    * @param parent the parent
-    * @throws DeploymentException for any error
-    */
-   protected void processManagedDeployment(DeploymentContext context, ManagedDeployment parent)
-      throws DeploymentException
-   {
-      DeploymentUnit unit = context.getDeploymentUnit();
-      Map<String, ManagedObject> MOs = getManagedObjects(context);
-      ManagedDeployment md = mgtDeploymentCreator.build(unit, MOs, parent);
-      for (DeploymentContext childContext : context.getChildren())
-      {
-         processManagedDeployment(childContext, md);
-      }
-   }
-
-   /**
-    * Determine the structure of a deployment
-    *
-    * @param deployment the deployment
-    * @return the deployment context
-    * @throws DeploymentException for an error determining the deployment structure
-    */
-   private DeploymentContext determineStructure(Deployment deployment) throws DeploymentException
-   {
-      StructuralDeployers structuralDeployers = getStructuralDeployers();
-      if (structuralDeployers != null)
-      {
-          DeploymentContext result = structuralDeployers.determineStructure(deployment);
-          if (result != null)
-             return result;
-      }
-      throw new DeploymentException("No structural deployers.");
-   }
-
-   /**
-    * Add a context.
-    *
-    * @param context the context
-    * @param addToDeploy should we add to deploy collection
-    */
-   private void addContext(DeploymentContext context, boolean addToDeploy)
-   {
-      allDeployments.put(context.getName(), context);
-      if (context.getState() == DeploymentState.ERROR)
-      {
-         log.debug("Not scheduling addition of context already in error: " + context.getName() + " reason=" + context.getProblem());
-         return;
-      }
-      context.setState(DeploymentState.DEPLOYING);
-      DeploymentContext parent = context.getParent();
-      log.debug("Scheduling deployment: " + context.getName() + " parent=" + parent);
-
-      // Process the top level only
-      if (context.isTopLevel() && addToDeploy)
-         deploy.add(context);
-
-      // Add all the children
-      List<DeploymentContext> children = context.getChildren();
-      if (children != null)
-      {
-         for (DeploymentContext child : children)
-            addContext(child, addToDeploy);
-      }
-   }
-
-   /**
-    * Remove a context
-    *
-    * @param context the context
-    * @param addToUndeploy add to undeploy collection
-    */
-   private void removeContext(DeploymentContext context, boolean addToUndeploy)
-   {
-      String name = context.getName();
-      allDeployments.remove(name);
-      errorDeployments.remove(name);
-      missingDeployers.remove(name);
-      if (DeploymentState.ERROR.equals(context.getState()) == false)
-         context.setState(DeploymentState.UNDEPLOYING);
-      DeploymentContext parent = context.getParent();
-      log.debug("Scheduling undeployment: " + name + " parent=" + parent);
-
-      // Process the top level only
-      if (context.isTopLevel() && addToUndeploy)
-         undeploy.add(context);
-
-      // Remove all the children
-      List<DeploymentContext> children = context.getChildren();
-      if (children != null)
-      {
-         for (DeploymentContext child : children)
-            removeContext(child, addToUndeploy);
-      }
-   }
-
-   /**
-    * Lock for read
-    */
-   protected void lockRead()
-   {
-      lock.readLock().lock();
-   }
-
-   /**
-    * Unlock for read
-    */
-   protected void unlockRead()
-   {
-      lock.readLock().unlock();
-   }
-
-   /**
-    * Lock for write
-    */
-   protected void lockWrite()
-   {
-      lock.writeLock().lock();
-   }
-
-   /**
-    * Unlock for write
-    */
-   protected void unlockWrite()
-   {
-      lock.writeLock().unlock();
-   }
-}

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/main/java/org/jboss/deployers/plugins/main/MainDeployerImpl.java (from rev 81797, projects/jboss-deployers/branches/Branch_2_0/deployers-impl/src/main/java/org/jboss/deployers/plugins/main/MainDeployerImpl.java)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/main/java/org/jboss/deployers/plugins/main/MainDeployerImpl.java	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/main/java/org/jboss/deployers/plugins/main/MainDeployerImpl.java	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,952 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.deployers.plugins.main;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
+
+import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.client.spi.main.MainDeployer;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.DeploymentState;
+import org.jboss.deployers.spi.deployer.Deployers;
+import org.jboss.deployers.spi.deployer.DeploymentStage;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.spi.deployer.managed.ManagedDeploymentCreator;
+import org.jboss.deployers.structure.spi.DeploymentContext;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.structure.spi.StructuralDeployers;
+import org.jboss.deployers.structure.spi.helpers.RevertedDeploymentContextComparator;
+import org.jboss.deployers.structure.spi.main.MainDeployerStructure;
+import org.jboss.logging.Logger;
+import org.jboss.managed.api.ManagedDeployment;
+import org.jboss.managed.api.ManagedObject;
+import org.jboss.util.graph.Graph;
+import org.jboss.util.graph.Vertex;
+
+/**
+ * MainDeployerImpl.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="scott.stark at jboss.org">Scott Stark</a>
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ * @version $Revision$
+ */
+public class MainDeployerImpl implements MainDeployer, MainDeployerStructure
+{
+   /** The log */
+   private static final Logger log = Logger.getLogger(MainDeployerImpl.class);
+
+   /** Whether we are shutdown */
+   private AtomicBoolean shutdown = new AtomicBoolean(false);
+
+   /** The deployers */
+   private Deployers deployers;
+
+   /** The structural deployers */
+   private StructuralDeployers structuralDeployers;
+
+   /** The ManagedDeploymentCreator plugin */
+   private ManagedDeploymentCreator mgtDeploymentCreator = null;
+
+   /** The deployments by name */
+   private Map<String, DeploymentContext> topLevelDeployments = new ConcurrentHashMap<String, DeploymentContext>();
+
+   /** All deployments by name */
+   private Map<String, DeploymentContext> allDeployments = new ConcurrentHashMap<String, DeploymentContext>();
+
+   /** Deployments in error by name */
+   private Map<String, DeploymentContext> errorDeployments = new ConcurrentHashMap<String, DeploymentContext>();
+
+   /** Deployments missing deployers */
+   private Map<String, Deployment> missingDeployers = new ConcurrentHashMap<String, Deployment>();
+
+   /** The undeploy work */
+   private List<DeploymentContext> undeploy = new CopyOnWriteArrayList<DeploymentContext>();
+
+   /** The deploy work */
+   private List<DeploymentContext> deploy = new CopyOnWriteArrayList<DeploymentContext>();
+
+   /** The process lock */
+   private ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
+
+   /** The top deployment context comparator */
+   private Comparator<DeploymentContext> comparator;
+   private Comparator<DeploymentContext> reverted;
+
+   /**
+    * Set the top deployment context comparator.
+    *
+    * @param comparator the deployment context comparator
+    */
+   public void setComparator(Comparator<DeploymentContext> comparator)
+   {
+      if (comparator == null)
+         throw new IllegalArgumentException("Null comparator");
+      this.comparator = comparator;
+      this.reverted = new RevertedDeploymentContextComparator(comparator);
+   }
+
+   /**
+    * Get the deployers
+    *
+    * @return the deployers
+    */
+   public synchronized Deployers getDeployers()
+   {
+      return deployers;
+   }
+
+   /**
+    * Set the deployers
+    *
+    * @param deployers the deployers
+    * @throws IllegalArgumentException for null deployers
+    */
+   public synchronized void setDeployers(Deployers deployers)
+   {
+      if (deployers == null)
+         throw new IllegalArgumentException("Null deployers");
+      this.deployers = deployers;
+   }
+
+   /**
+    * Get the structural deployers
+    *
+    * @return the structural deployers
+    */
+   public synchronized StructuralDeployers getStructuralDeployers()
+   {
+      return structuralDeployers;
+   }
+
+   /**
+    * Set the structural deployers
+    *
+    * @param deployers the deployers
+    * @throws IllegalArgumentException for null deployers
+    */
+   public synchronized void setStructuralDeployers(StructuralDeployers deployers)
+   {
+      if (deployers == null)
+         throw new IllegalArgumentException("Null deployers");
+      structuralDeployers = deployers;
+   }
+
+   public ManagedDeploymentCreator getMgtDeploymentCreator()
+   {
+      return mgtDeploymentCreator;
+   }
+
+   public void setMgtDeploymentCreator(ManagedDeploymentCreator mgtDeploymentCreator)
+   {
+      this.mgtDeploymentCreator = mgtDeploymentCreator;
+   }
+
+   public Deployment getDeployment(String name)
+   {
+      DeploymentContext context = getTopLevelDeploymentContext(name);
+      if (context == null)
+         return null;
+      return context.getDeployment();
+   }
+
+   @Deprecated
+   public DeploymentContext getDeploymentContext(String name)
+   {
+      if (name == null)
+         throw new IllegalArgumentException("Null name");
+
+      return allDeployments.get(name);
+   }
+
+   @Deprecated
+   public DeploymentContext getDeploymentContext(String name, boolean errorNotFound) throws DeploymentException
+   {
+      DeploymentContext context = getDeploymentContext(name);
+      if (errorNotFound && context == null)
+         throw new DeploymentException("Context " + name + " not found");
+      return context;
+   }
+
+   public DeploymentUnit getDeploymentUnit(String name)
+   {
+      DeploymentContext context = getDeploymentContext(name);
+      if (context == null)
+         return null;
+      return context.getDeploymentUnit();
+   }
+
+   public DeploymentUnit getDeploymentUnit(String name, boolean errorNotFound) throws DeploymentException
+   {
+      DeploymentUnit unit = getDeploymentUnit(name);
+      if (errorNotFound && unit == null)
+         throw new DeploymentException("Unit " + name + " not found");
+      return unit;
+   }
+
+   /**
+    * Get a top level deployment context by name
+    *
+    * @param name the name
+    * @return the context
+    */
+   public DeploymentContext getTopLevelDeploymentContext(String name)
+   {
+      if (name == null)
+         throw new IllegalArgumentException("Null name");
+      return topLevelDeployments.get(name);
+   }
+
+   public Collection<DeploymentContext> getAll()
+   {
+      return Collections.unmodifiableCollection(allDeployments.values());
+   }
+
+   public Collection<DeploymentContext> getErrors()
+   {
+      return Collections.unmodifiableCollection(errorDeployments.values());
+   }
+
+   public Collection<Deployment> getMissingDeployer()
+   {
+      return Collections.unmodifiableCollection(missingDeployers.values());
+   }
+
+   public Collection<Deployment> getTopLevel()
+   {
+      List<Deployment> result = new ArrayList<Deployment>();
+      for (DeploymentContext context : topLevelDeployments.values())
+      {
+         Deployment deployment = context.getDeployment();
+         if (deployment != null)
+            result.add(deployment);
+         else
+            throw new IllegalStateException("Context has no deployment? " + context.getName());
+      }
+      return result;
+   }
+
+   public void addDeployment(Deployment deployment) throws DeploymentException
+   {
+      addDeployment(deployment, true);
+   }
+
+   /**
+    * Add a deployment
+    *
+    * @param deployment the deployment
+    * @param addToDeploy should we add this deployment to deploy collection
+    * @throws DeploymentException for any error
+    */
+   protected void addDeployment(Deployment deployment, boolean addToDeploy) throws DeploymentException
+   {
+      if (deployment == null)
+         throw new DeploymentException("Null context");
+
+      lockRead();
+      try
+      {
+         if (shutdown.get())
+            throw new DeploymentException("The main deployer is shutdown");
+
+         String name = deployment.getName();
+         log.debug("Add deployment: " + name);
+
+         DeploymentContext previous = topLevelDeployments.get(name);
+         boolean topLevelFound = false;
+         if (previous != null)
+         {
+            log.debug("Removing previous deployment: " + previous.getName());
+            removeContext(previous, addToDeploy);
+            topLevelFound = true;
+         }
+
+         if (topLevelFound == false)
+         {
+            previous = allDeployments.get(name);
+            if (previous != null)
+               throw new IllegalStateException("Deployment already exists as a subdeployment: " + name);
+         }
+
+         DeploymentContext context = null;
+         try
+         {
+            context = determineStructure(deployment);
+            if (DeploymentState.ERROR.equals(context.getState()))
+               errorDeployments.put(name, context);
+
+            context.getTransientAttachments().addAttachment(MainDeployer.class, this);
+            topLevelDeployments.put(name, context);
+            addContext(context, addToDeploy);
+         }
+         catch (DeploymentException e)
+         {
+            missingDeployers.put(name, deployment);
+            throw e;
+         }
+         catch (Throwable t)
+         {
+            // was structure determined?
+            if (context == null)
+               missingDeployers.put(name, deployment);
+
+            throw DeploymentException.rethrowAsDeploymentException("Error determining deployment structure for " + name, t);
+         }
+      }
+      finally
+      {
+         unlockRead();
+      }
+   }
+
+   public boolean removeDeployment(Deployment deployment) throws DeploymentException
+   {
+      return removeDeployment(deployment, true);
+   }
+
+   /**
+    * Remove a deployment by name
+    *
+    * @param deployment thedeployment
+    * @param addToUndeploy should we add to undeploy collection
+    * @return false when the context was previously unknown
+    * @throws DeploymentException for any error
+    */
+   protected boolean removeDeployment(Deployment deployment, boolean addToUndeploy) throws DeploymentException
+   {
+      if (deployment == null)
+         throw new DeploymentException("Null deployment");
+
+      return removeDeployment(deployment.getName(), addToUndeploy);
+   }
+
+   public boolean removeDeployment(String name) throws DeploymentException
+   {
+      return removeDeployment(name, true);
+   }
+
+   /**
+    * Remove a deployment by name
+    *
+    * @param name the name of the deployment
+    * @param addToUndeploy should we add to undeploy collection
+    * @return false when the context was previously unknown
+    * @throws DeploymentException for any error
+    */
+   protected boolean removeDeployment(String name, boolean addToUndeploy) throws DeploymentException
+   {
+      if (name == null)
+         throw new DeploymentException("Null name");
+
+      lockRead();
+      try
+      {
+         if (shutdown.get())
+            throw new IllegalStateException("The main deployer is shutdown");
+
+         log.debug("Remove deployment context: " + name);
+
+         DeploymentContext context = topLevelDeployments.remove(name);
+         if (context == null)
+            return false;
+
+         context.getTransientAttachments().removeAttachment(MainDeployer.class);
+         removeContext(context, addToUndeploy);
+
+         return true;
+      }
+      finally
+      {
+         unlockRead();
+      }
+   }
+
+   public void deploy(Deployment... deployments) throws DeploymentException
+   {
+      if (deployments == null)
+         throw new IllegalArgumentException("Null deployments.");
+
+      if (deployers == null)
+         throw new IllegalStateException("No deployers");
+
+      lockRead();
+      try
+      {
+         if (shutdown.get())
+            throw new IllegalStateException("The main deployer is shutdown");
+
+         DeploymentContext[] contexts = new DeploymentContext[deployments.length];
+         for(int i = 0; i < deployments.length; i++)
+         {
+            try
+            {
+               Deployment deployment = deployments[i];
+               addDeployment(deployment, false);
+               DeploymentContext context = getTopLevelDeploymentContext(deployment.getName());
+               if (contexts == null)
+                  throw new DeploymentException("Deployment context not found: " + deployment.getName());
+
+               deployers.process(Collections.singletonList(context), null);
+               contexts[i] = context;
+            }
+            catch(Throwable t)
+            {
+               DeploymentContext[] deployedContexts = new DeploymentContext[i];
+               System.arraycopy(contexts, 0, deployedContexts, 0, i);
+               deployers.process(null, Arrays.asList(deployedContexts));
+               throw DeploymentException.rethrowAsDeploymentException("Unable to deploy deployments, cause: " + deployments[i], t);
+            }
+         }
+         try
+         {
+            deployers.checkComplete(contexts);
+         }
+         catch (DeploymentException e)
+         {
+            deployers.process(null, Arrays.asList(contexts));
+            throw e;
+         }
+      }
+      finally
+      {
+         unlockRead();
+      }
+   }
+
+   public void undeploy(Deployment... deployments) throws DeploymentException
+   {
+      if (deployments == null)
+         throw new IllegalArgumentException("Null deployments.");
+
+      if (deployers == null)
+         throw new IllegalStateException("No deployers");
+
+      lockRead();
+      try
+      {
+         if (shutdown.get())
+            throw new IllegalStateException("The main deployer is shutdown");
+
+         for(Deployment deployment : deployments)
+         {
+            DeploymentContext context = getTopLevelDeploymentContext(deployment.getName());
+            if (context != null)
+            {
+               try
+               {
+                  removeDeployment(deployment, false);
+                  deployers.process(null, Collections.singletonList(context));
+               }
+               catch (DeploymentException e)
+               {
+                  if (log.isTraceEnabled())
+                     log.trace("Ignored exception while undeploying deployment " + deployment.getName() + ":" + e);
+               }
+            }
+            else if (log.isTraceEnabled())
+            {
+               log.trace("No such deployment present: " + deployment.getName());
+            }
+         }
+      }
+      finally
+      {
+         unlockRead();
+      }
+   }
+
+   public void undeploy(String... names) throws DeploymentException
+   {
+      if (names == null)
+         throw new IllegalArgumentException("Null names.");
+
+      List<Deployment> deployments = new ArrayList<Deployment>();
+      for(String name : names)
+      {
+         DeploymentContext context = getTopLevelDeploymentContext(name);
+         if (context != null)
+            deployments.add(context.getDeployment());
+         else if (log.isTraceEnabled())
+            log.trace("No such deployment present: " + name);
+      }
+      if (deployments.isEmpty() == false)
+         undeploy(deployments.toArray(new Deployment[deployments.size()]));
+   }
+
+   public void process()
+   {
+      if (deployers == null)
+         throw new IllegalStateException("No deployers");
+
+      lockRead();
+      try
+      {
+         if (shutdown.get())
+            throw new IllegalStateException("The main deployer is shutdown");
+
+         List<DeploymentContext> undeployContexts = null;
+         List<DeploymentContext> deployContexts = null;
+
+         if (undeploy.isEmpty() == false)
+         {
+            // Undeploy in reverse order (subdeployments first)
+            undeployContexts = new ArrayList<DeploymentContext>(undeploy.size());
+            for (int i = undeploy.size() - 1; i >= 0; --i)
+               undeployContexts.add(undeploy.get(i));
+            if (reverted != null)
+               Collections.sort(undeployContexts, reverted);
+            undeploy.clear();
+         }
+         if (deploy.isEmpty() == false)
+         {
+            deployContexts = new ArrayList<DeploymentContext>(deploy);
+            if (comparator != null)
+               Collections.sort(deployContexts, comparator);
+            deploy.clear();
+         }
+
+         if (undeployContexts == null && deployContexts == null)
+         {
+            log.debug("Asked to process() when there is nothing to do.");
+            return;
+         }
+
+         try
+         {
+            deployers.process(deployContexts, undeployContexts);
+         }
+         catch (RuntimeException e)
+         {
+            throw e;
+         }
+         catch (Error e)
+         {
+            throw e;
+         }
+         catch (Throwable t)
+         {
+            throw new RuntimeException("Unexpected error in process()", t);
+         }
+      }
+      finally
+      {
+         unlockRead();
+      }
+   }
+
+   public DeploymentStage getDeploymentStage(String deploymentName) throws DeploymentException
+   {
+      if (deployers == null)
+         throw new IllegalStateException("No deployers");
+
+      lockRead();
+      try
+      {
+         DeploymentContext context = getTopLevelDeploymentContext(deploymentName);
+         if (context == null)
+            return DeploymentStages.NOT_INSTALLED;
+         DeploymentStage result = deployers.getDeploymentStage(context);
+         if (result != null)
+            return result;
+         else
+            return DeploymentStages.NOT_INSTALLED;
+      }
+      catch (Error e)
+      {
+         throw e;
+      }
+      catch (Throwable t)
+      {
+         throw DeploymentException.rethrowAsDeploymentException("Error getting stage for " + deploymentName, t);
+      }
+      finally
+      {
+         unlockRead();
+      }
+   }
+
+   public void change(String deploymentName, DeploymentStage stage) throws DeploymentException
+   {
+      if (deployers == null)
+         throw new IllegalStateException("No deployers");
+
+      lockRead();
+      try
+      {
+         DeploymentContext context = getTopLevelDeploymentContext(deploymentName);
+         if (context == null)
+            throw new DeploymentException("Top level deployment " + deploymentName + " not found");
+         try
+         {
+            deployers.change(context, stage);
+         }
+         catch (Error e)
+         {
+            throw e;
+         }
+         catch (Throwable t)
+         {
+            throw DeploymentException.rethrowAsDeploymentException("Error changing context " + deploymentName + " to stage " + stage, t);
+         }
+      }
+      finally
+      {
+         unlockRead();
+      }
+   }
+
+   public void prepareShutdown()
+   {
+      if (deployers != null)
+         deployers.shutdown();
+   }
+
+   public void shutdown()
+   {
+      prepareShutdown();
+      lockWrite();
+      try
+      {
+         while (topLevelDeployments.isEmpty() == false)
+         {
+            // Remove all the contexts
+            for (DeploymentContext context : topLevelDeployments.values())
+            {
+               topLevelDeployments.remove(context.getName());
+               removeContext(context, true);
+            }
+
+            // Do it
+            process();
+         }
+
+         shutdown.set(true);
+      }
+      finally
+      {
+         unlockWrite();
+      }
+   }
+
+   public void checkComplete() throws DeploymentException
+   {
+      if (deployers == null)
+         throw new IllegalStateException("Null deployers");
+
+      deployers.checkComplete(errorDeployments.values(), missingDeployers.values());
+   }
+
+   /**
+    * Get the names from deployments.
+    *
+    * @param deployments the deployments
+    * @return depolyment names
+    */
+   protected static String[] getDeploymentNames(Deployment... deployments)
+   {
+      if (deployments == null)
+         throw new IllegalArgumentException("Null deployments");
+
+      String[] names = new String[deployments.length];
+      for(int i = 0; i < deployments.length; i++)
+      {
+         if (deployments[i] == null)
+            throw new IllegalArgumentException("Null deployment: " + i);
+         names[i] = deployments[i].getName();
+      }
+      return names;
+   }
+
+   /**
+    * Get the deployment contexts.
+    *
+    * @param names the deployment names
+    * @return depolyment contexts
+    * @throws DeploymentException if context is not found
+    */
+   protected DeploymentContext[] getDeploymentContexts(String... names) throws DeploymentException
+   {
+      if (names == null)
+         throw new IllegalArgumentException("Null names");
+
+      DeploymentContext[] contexts = new DeploymentContext[names.length];
+      for(int i = 0; i < names.length; i++)
+      {
+         contexts[i] = getTopLevelDeploymentContext(names[i]);
+         if (contexts[i] == null)
+            throw new DeploymentException("Deployment context not found: " + names[i]);
+      }
+
+      return contexts;
+   }
+
+   public void checkComplete(Deployment... deployments) throws DeploymentException
+   {
+      if (deployments == null)
+         throw new IllegalArgumentException("Null deployments");
+
+      checkComplete(getDeploymentNames(deployments));
+   }
+
+   public void checkComplete(String... names) throws DeploymentException
+   {
+      if (names == null)
+         throw new IllegalArgumentException("Null names");
+
+      if (deployers == null)
+         throw new IllegalStateException("Null deployers");
+
+      deployers.checkComplete(getDeploymentContexts(names));
+   }
+
+   public void checkStructureComplete(Deployment... deployments) throws DeploymentException
+   {
+      if (deployments == null)
+         throw new IllegalArgumentException("Null deployments");
+
+      checkStructureComplete(getDeploymentNames(deployments));
+   }
+
+   public void checkStructureComplete(String... names) throws DeploymentException
+   {
+      if (names == null)
+         throw new IllegalArgumentException("Null names");
+
+      if (deployers == null)
+         throw new IllegalStateException("Null deployers");
+
+      deployers.checkStructureComplete(getDeploymentContexts(names));
+   }
+
+   public DeploymentState getDeploymentState(String name)
+   {
+      DeploymentContext context = getDeploymentContext(name);
+      if (context == null)
+         return DeploymentState.UNDEPLOYED;
+      return context.getState();
+   }
+
+   public ManagedDeployment getManagedDeployment(String name) throws DeploymentException
+   {
+      DeploymentContext context = getDeploymentContext(name, true);
+      Map<String, ManagedObject> rootMOs = getManagedObjects(context);
+      ManagedDeployment root = mgtDeploymentCreator.build(context.getDeploymentUnit(), rootMOs, null);
+      for (DeploymentContext childContext : context.getChildren())
+      {
+         processManagedDeployment(childContext, root);
+      }
+      return root;
+   }
+
+   public Map<String, ManagedObject> getManagedObjects(String name) throws DeploymentException
+   {
+      DeploymentContext context = getDeploymentContext(name, true);
+      return getManagedObjects(context);
+   }
+
+   public Map<String, ManagedObject> getManagedObjects(DeploymentContext context) throws DeploymentException
+   {
+      if (context == null)
+         throw new IllegalArgumentException("Null context");
+
+      if (deployers == null)
+         throw new IllegalStateException("No deployers");
+
+      return deployers.getManagedObjects(context);
+   }
+
+   public Graph<Map<String, ManagedObject>> getDeepManagedObjects(String name) throws DeploymentException
+   {
+      DeploymentContext context = getDeploymentContext(name);
+      Graph<Map<String, ManagedObject>> managedObjectsGraph = new Graph<Map<String, ManagedObject>>();
+      Vertex<Map<String, ManagedObject>> parent = new Vertex<Map<String, ManagedObject>>(context.getName());
+      managedObjectsGraph.setRootVertex(parent);
+      Map<String, ManagedObject> managedObjects = getManagedObjects(context);
+      parent.setData(managedObjects);
+      processManagedObjects(context, managedObjectsGraph, parent);
+
+      return managedObjectsGraph;
+   }
+
+   /**
+    * Get the managed objects for a context
+    *
+    * @param context the context
+    * @param graph the graph
+    * @param parent the parent node
+    * @throws DeploymentException for any problem
+    */
+   protected void processManagedObjects(DeploymentContext context, Graph<Map<String, ManagedObject>> graph, Vertex<Map<String, ManagedObject>> parent)
+      throws DeploymentException
+   {
+      List<DeploymentContext> children = context.getChildren();
+      for(DeploymentContext child : children)
+      {
+         Vertex<Map<String, ManagedObject>> vertex = new Vertex<Map<String, ManagedObject>>(child.getName());
+         Map<String, ManagedObject> managedObjects = getManagedObjects(context);
+         vertex.setData(managedObjects);
+         graph.addEdge(parent, vertex, 0);
+         processManagedObjects(child, graph, vertex);
+      }
+   }
+
+   /**
+    * Recursively process the DeploymentContext into ManagedDeployments.
+    *
+    * @param context the context
+    * @param parent the parent
+    * @throws DeploymentException for any error
+    */
+   protected void processManagedDeployment(DeploymentContext context, ManagedDeployment parent)
+      throws DeploymentException
+   {
+      DeploymentUnit unit = context.getDeploymentUnit();
+      Map<String, ManagedObject> MOs = getManagedObjects(context);
+      ManagedDeployment md = mgtDeploymentCreator.build(unit, MOs, parent);
+      for (DeploymentContext childContext : context.getChildren())
+      {
+         processManagedDeployment(childContext, md);
+      }
+   }
+
+   /**
+    * Determine the structure of a deployment
+    *
+    * @param deployment the deployment
+    * @return the deployment context
+    * @throws DeploymentException for an error determining the deployment structure
+    */
+   private DeploymentContext determineStructure(Deployment deployment) throws DeploymentException
+   {
+      StructuralDeployers structuralDeployers = getStructuralDeployers();
+      if (structuralDeployers != null)
+      {
+          DeploymentContext result = structuralDeployers.determineStructure(deployment);
+          if (result != null)
+             return result;
+      }
+      throw new DeploymentException("No structural deployers.");
+   }
+
+   /**
+    * Add a context.
+    *
+    * @param context the context
+    * @param addToDeploy should we add to deploy collection
+    */
+   private void addContext(DeploymentContext context, boolean addToDeploy)
+   {
+      allDeployments.put(context.getName(), context);
+      if (context.getState() == DeploymentState.ERROR)
+      {
+         log.debug("Not scheduling addition of context already in error: " + context.getName() + " reason=" + context.getProblem());
+         return;
+      }
+      context.setState(DeploymentState.DEPLOYING);
+      DeploymentContext parent = context.getParent();
+      log.debug("Scheduling deployment: " + context.getName() + " parent=" + parent);
+
+      // Process the top level only
+      if (context.isTopLevel() && addToDeploy)
+         deploy.add(context);
+
+      // Add all the children
+      List<DeploymentContext> children = context.getChildren();
+      if (children != null)
+      {
+         for (DeploymentContext child : children)
+            addContext(child, addToDeploy);
+      }
+   }
+
+   /**
+    * Remove a context
+    *
+    * @param context the context
+    * @param addToUndeploy add to undeploy collection
+    */
+   private void removeContext(DeploymentContext context, boolean addToUndeploy)
+   {
+      String name = context.getName();
+      allDeployments.remove(name);
+      errorDeployments.remove(name);
+      missingDeployers.remove(name);
+      if (DeploymentState.ERROR.equals(context.getState()) == false)
+         context.setState(DeploymentState.UNDEPLOYING);
+      DeploymentContext parent = context.getParent();
+      log.debug("Scheduling undeployment: " + name + " parent=" + parent);
+
+      // Process the top level only
+      if (context.isTopLevel() && addToUndeploy)
+         undeploy.add(context);
+
+      // Remove all the children
+      List<DeploymentContext> children = context.getChildren();
+      if (children != null)
+      {
+         for (DeploymentContext child : children)
+            removeContext(child, addToUndeploy);
+      }
+   }
+
+   /**
+    * Lock for read
+    */
+   protected void lockRead()
+   {
+      lock.readLock().lock();
+   }
+
+   /**
+    * Unlock for read
+    */
+   protected void unlockRead()
+   {
+      lock.readLock().unlock();
+   }
+
+   /**
+    * Lock for write
+    */
+   protected void lockWrite()
+   {
+      lock.writeLock().lock();
+   }
+
+   /**
+    * Unlock for write
+    */
+   protected void unlockWrite()
+   {
+      lock.writeLock().unlock();
+   }
+}

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ModuleRemoveUnitTestCase.java (from rev 81904, projects/jboss-deployers/branches/Branch_2_0/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ModuleRemoveUnitTestCase.java)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ModuleRemoveUnitTestCase.java	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ModuleRemoveUnitTestCase.java	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,167 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.deployers.classloading.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import org.jboss.classloading.spi.version.Version;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.deployers.client.spi.DeployerClient;
+import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.plugins.main.MainDeployerImpl;
+import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.structure.spi.DeploymentContext;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.structure.spi.helpers.AbstractDeploymentContext;
+import org.jboss.deployers.structure.spi.helpers.AbstractDeploymentUnit;
+import org.jboss.deployers.structure.spi.helpers.AbstractStructuralDeployers;
+import org.jboss.deployers.structure.spi.helpers.AbstractStructureBuilder;
+import org.jboss.test.deployers.classloading.support.a.A;
+
+/**
+ * ModuleRemoveUnitTestCase.
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public class ModuleRemoveUnitTestCase extends ClassLoaderDependenciesTest
+{
+   private Controller controller;
+
+   public static Test suite()
+   {
+      return new TestSuite(ModuleRemoveUnitTestCase.class);
+   }
+
+   public ModuleRemoveUnitTestCase(String name)
+   {
+      super(name);
+   }
+
+   public void testAliasRemove() throws Exception
+   {
+      DeployerClient mainDeployer = getMainDeployer();
+      // change structure builder
+      MainDeployerImpl mdi = assertInstanceOf(mainDeployer, MainDeployerImpl.class);
+      AbstractStructuralDeployers ads = assertInstanceOf(mdi.getStructuralDeployers(), AbstractStructuralDeployers.class);
+      ads.setStructureBuilder(new RenamingStructureBuilder());
+
+      Version v1 = Version.parseVersion("1");
+      Deployment ad = createSimpleDeployment("A");
+      addClassLoadingMetaData(ad, ad.getName(), v1, true, A.class);
+
+      mainDeployer.deploy(ad);
+      try
+      {
+         assertAlias(true, "A");
+      }
+      finally
+      {
+         mainDeployer.undeploy(ad);
+         assertAlias(false, "A");
+      }
+   }
+
+   public void testAliasRemoveOnChild() throws Exception
+   {
+      DeployerClient mainDeployer = getMainDeployer();
+
+      Version v1 = Version.parseVersion("1");
+      Deployment ad = createSimpleDeployment("A");
+      addClassLoadingMetaData(ad, ad.getName(), v1, true, A.class);
+
+      Version v2 = Version.parseVersion("2");
+      ContextInfo childContextInfo = addChild(ad, "B");
+      addClassLoadingMetaData(childContextInfo, "B", v2, true, A.class);
+
+      mainDeployer.deploy(ad);
+      try
+      {
+         assertAlias(true, "A/B");
+      }
+      finally
+      {
+         mainDeployer.undeploy(ad);
+         assertAlias(false, "A/B");
+      }
+   }
+
+   protected void assertAlias(boolean exists, String name) throws Exception
+   {
+      // this is ugly impl detail
+      String controllerId = controller.getClass().getSimpleName() + "[" + System.identityHashCode(controller) + "]";
+      ControllerContext alias = controller.getContext(name + "_Alias_" + controllerId, null);
+      assertEquals(exists, alias != null);
+   }
+
+   private class RenamingStructureBuilder extends AbstractStructureBuilder
+   {
+      @Override
+      protected DeploymentContext createRootDeploymentContext(Deployment deployment) throws Exception
+      {
+         return new RenamingDeploymentContext("NotA", "");
+      }
+   }
+
+   private class RenamingDeploymentContext extends AbstractDeploymentContext
+   {
+      public RenamingDeploymentContext()
+      {
+      }
+
+      public RenamingDeploymentContext(String name, String relativePath)
+      {
+         super(name, relativePath);
+      }
+
+      @Override
+      protected DeploymentUnit createDeploymentUnit()
+      {
+         return new RenamingDeploymentUnit(this);
+      }
+   }
+
+   private class RenamingDeploymentUnit extends AbstractDeploymentUnit
+   {
+      public RenamingDeploymentUnit()
+      {
+      }
+
+      private RenamingDeploymentUnit(DeploymentContext deploymentContext)
+      {
+         super(deploymentContext);
+      }
+
+      @Override
+      public String getName()
+      {
+         return "A";
+      }
+   }
+
+   @Override
+   protected Controller getController()
+   {
+      controller = super.getController();
+      return controller;
+   }
+}

Deleted: projects/jboss-deployers/tags/2.0.3.GA/deployers-spi/pom.xml
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/deployers-spi/pom.xml	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-spi/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,21 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.jboss.deployers</groupId>
-    <artifactId>jboss-deployers</artifactId>
-    <version>2.0.0-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>jboss-deployers-spi</artifactId>
-  <packaging>jar</packaging>
-  <name>JBoss Deployers SPI</name>
-  <url>http://www.jboss.com/products/jbossmc</url>
-  <description>JBoss Deployers SPI</description>
-  <!-- Do not add version information here, use ../build/pom.xml instead -->
-  <dependencies>
-    <!-- Global dependencies -->
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-structure-spi</artifactId>
-    </dependency>
-  </dependencies>  
-</project>
\ No newline at end of file

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-spi/pom.xml (from rev 81905, projects/jboss-deployers/branches/Branch_2_0/deployers-spi/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/deployers-spi/pom.xml	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-spi/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,21 @@
+<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.jboss.deployers</groupId>
+    <artifactId>jboss-deployers</artifactId>
+    <version>2.0.3.GA</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>jboss-deployers-spi</artifactId>
+  <packaging>jar</packaging>
+  <name>JBoss Deployers SPI</name>
+  <url>http://www.jboss.com/products/jbossmc</url>
+  <description>JBoss Deployers SPI</description>
+  <!-- Do not add version information here, use ../build/pom.xml instead -->
+  <dependencies>
+    <!-- Global dependencies -->
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-structure-spi</artifactId>
+    </dependency>
+  </dependencies>  
+</project>
\ No newline at end of file

Deleted: projects/jboss-deployers/tags/2.0.3.GA/deployers-structure-spi/pom.xml
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/deployers-structure-spi/pom.xml	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-structure-spi/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,132 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.jboss.deployers</groupId>
-    <artifactId>jboss-deployers</artifactId>
-    <version>2.0.0-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>jboss-deployers-structure-spi</artifactId>
-  <packaging>jar</packaging>
-  <name>JBoss Deployers Structure SPI</name>
-  <url>http://www.jboss.com/products/jbossmc</url>
-  <description>JBoss Deployers Structure SPI</description>
-  
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>test-jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>	   	   
-    </plugins>
-  </build>
-  
-  <!-- Do not add version information here, use ../pom.xml instead -->
-  <dependencies>
-    <!-- Global dependencies -->
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-client-spi</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
-      <artifactId>jboss-dependency</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-common-core</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.integration</groupId>
-      <artifactId>jboss-classloading-spi</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-common-core</artifactId>
-        </exclusion>
-      </exclusions>
-     </dependency>
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-spi</artifactId>
-    </dependency>
-	  <!-- Test dependencies -->
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-core</artifactId>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss.deployers</groupId>
-          <artifactId>jboss-deployers-core-spi</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-core</artifactId>
-      <type>test-jar</type>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss.deployers</groupId>
-          <artifactId>jboss-deployers-core-spi</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-client</artifactId>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss.deployers</groupId>
-          <artifactId>jboss-deployers-core-spi</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.deployers</groupId>
-          <artifactId>jboss-deployers-client-spi</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-log4j</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.test</groupId>
-      <artifactId>jboss-test</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>  
-</project>
\ No newline at end of file

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-structure-spi/pom.xml (from rev 81905, projects/jboss-deployers/branches/Branch_2_0/deployers-structure-spi/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/deployers-structure-spi/pom.xml	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-structure-spi/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,132 @@
+<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.jboss.deployers</groupId>
+    <artifactId>jboss-deployers</artifactId>
+    <version>2.0.3.GA</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>jboss-deployers-structure-spi</artifactId>
+  <packaging>jar</packaging>
+  <name>JBoss Deployers Structure SPI</name>
+  <url>http://www.jboss.com/products/jbossmc</url>
+  <description>JBoss Deployers Structure SPI</description>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <goals>
+              <goal>test-jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>	   	   
+    </plugins>
+  </build>
+  
+  <!-- Do not add version information here, use ../pom.xml instead -->
+  <dependencies>
+    <!-- Global dependencies -->
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-client-spi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.microcontainer</groupId>
+      <artifactId>jboss-dependency</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-common-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.integration</groupId>
+      <artifactId>jboss-classloading-spi</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-common-core</artifactId>
+        </exclusion>
+      </exclusions>
+     </dependency>
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-spi</artifactId>
+    </dependency>
+	  <!-- Test dependencies -->
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-core</artifactId>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss.deployers</groupId>
+          <artifactId>jboss-deployers-core-spi</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-core</artifactId>
+      <type>test-jar</type>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss.deployers</groupId>
+          <artifactId>jboss-deployers-core-spi</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-client</artifactId>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss.deployers</groupId>
+          <artifactId>jboss-deployers-core-spi</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.deployers</groupId>
+          <artifactId>jboss-deployers-client-spi</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-log4j</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.test</groupId>
+      <artifactId>jboss-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>  
+</project>
\ No newline at end of file

Deleted: projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/pom.xml
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/deployers-vfs/pom.xml	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,166 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.jboss.deployers</groupId>
-    <artifactId>jboss-deployers</artifactId>
-    <version>2.0.0-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>jboss-deployers-vfs</artifactId>
-  <packaging>jar</packaging>
-  <name>JBoss Deployers VFS</name>
-  <url>http://www.jboss.com/products/jbossmc</url>
-  <description>JBoss Deployers VFS</description>
-  
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <!--configuration>
-          <testFailureIgnore>true</testFailureIgnore>
-        </configuration-->
-      </plugin>
-    </plugins>
-  </build>
-  
-  <!-- Do not add version information here, use ../pom.xml instead -->
-  <dependencies>
-    <!-- Global dependencies -->
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-	    <artifactId>jboss-deployers-vfs-spi</artifactId>
-	 </dependency>
-    <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
-	    <artifactId>jboss-kernel</artifactId>
-	 </dependency>
-    <dependency>
-      <groupId>org.jboss.cl</groupId>
-      <artifactId>jboss-classloading-vfs</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss.microcontainer</groupId>
-          <artifactId>jboss-kernel</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-vfs</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.cl</groupId>
-          <artifactId>jboss-classloading</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-	    <artifactId>jboss-deployers-core</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss.deployers</groupId>
-          <artifactId>jboss-deployers-core-spi</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-      </exclusions>
-	 </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-	    <artifactId>jboss-deployers-client</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss.deployers</groupId>
-          <artifactId>jboss-deployers-client-spi</artifactId>
-        </exclusion>
-      </exclusions>
-	 </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-	    <artifactId>jboss-deployers-impl</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss.deployers</groupId>
-          <artifactId>jboss-deployers-spi</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.microcontainer</groupId>
-          <artifactId>jboss-kernel</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.cl</groupId>
-          <artifactId>jboss-classloading</artifactId>
-        </exclusion>
-      </exclusions>
-	 </dependency>
-    <!-- Test dependencies -->
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-client</artifactId>
-      <type>test-jar</type>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss.deployers</groupId>
-          <artifactId>jboss-deployers-client-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-structure-spi</artifactId>
-      <type>test-jar</type>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss.deployers</groupId>
-          <artifactId>jboss-deployers-client-spi</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.microcontainer</groupId>
-          <artifactId>jboss-dependency</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-impl</artifactId>
-      <type>test-jar</type>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss.deployers</groupId>
-          <artifactId>jboss-deployers-spi</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.microcontainer</groupId>
-          <artifactId>jboss-kernel</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.cl</groupId>
-          <artifactId>jboss-classloading</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-log4j</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.test</groupId>
-      <artifactId>jboss-test</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>  
-</project>

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/pom.xml (from rev 81905, projects/jboss-deployers/branches/Branch_2_0/deployers-vfs/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/pom.xml	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,166 @@
+<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.jboss.deployers</groupId>
+    <artifactId>jboss-deployers</artifactId>
+    <version>2.0.3.GA</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>jboss-deployers-vfs</artifactId>
+  <packaging>jar</packaging>
+  <name>JBoss Deployers VFS</name>
+  <url>http://www.jboss.com/products/jbossmc</url>
+  <description>JBoss Deployers VFS</description>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <!--configuration>
+          <testFailureIgnore>true</testFailureIgnore>
+        </configuration-->
+      </plugin>
+    </plugins>
+  </build>
+  
+  <!-- Do not add version information here, use ../pom.xml instead -->
+  <dependencies>
+    <!-- Global dependencies -->
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+	    <artifactId>jboss-deployers-vfs-spi</artifactId>
+	 </dependency>
+    <dependency>
+      <groupId>org.jboss.microcontainer</groupId>
+	    <artifactId>jboss-kernel</artifactId>
+	 </dependency>
+    <dependency>
+      <groupId>org.jboss.cl</groupId>
+      <artifactId>jboss-classloading-vfs</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss.microcontainer</groupId>
+          <artifactId>jboss-kernel</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-vfs</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.cl</groupId>
+          <artifactId>jboss-classloading</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+	    <artifactId>jboss-deployers-core</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss.deployers</groupId>
+          <artifactId>jboss-deployers-core-spi</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+      </exclusions>
+	 </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+	    <artifactId>jboss-deployers-client</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss.deployers</groupId>
+          <artifactId>jboss-deployers-client-spi</artifactId>
+        </exclusion>
+      </exclusions>
+	 </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+	    <artifactId>jboss-deployers-impl</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss.deployers</groupId>
+          <artifactId>jboss-deployers-spi</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.microcontainer</groupId>
+          <artifactId>jboss-kernel</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.cl</groupId>
+          <artifactId>jboss-classloading</artifactId>
+        </exclusion>
+      </exclusions>
+	 </dependency>
+    <!-- Test dependencies -->
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-client</artifactId>
+      <type>test-jar</type>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss.deployers</groupId>
+          <artifactId>jboss-deployers-client-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-structure-spi</artifactId>
+      <type>test-jar</type>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss.deployers</groupId>
+          <artifactId>jboss-deployers-client-spi</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.microcontainer</groupId>
+          <artifactId>jboss-dependency</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-impl</artifactId>
+      <type>test-jar</type>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss.deployers</groupId>
+          <artifactId>jboss-deployers-spi</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.microcontainer</groupId>
+          <artifactId>jboss-kernel</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.cl</groupId>
+          <artifactId>jboss-classloading</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-log4j</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.test</groupId>
+      <artifactId>jboss-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>  
+</project>

Deleted: projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/AliasesParserDeployer.java
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/AliasesParserDeployer.java	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/AliasesParserDeployer.java	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,88 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.deployers.vfs.plugins.dependency;
-
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.virtual.VirtualFile;
-
-/**
- * AliasesParserDeployer.
- *
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class AliasesParserDeployer extends AbstractVFSParsingDeployer<DeploymentAliases>
-{
-   public AliasesParserDeployer()
-   {
-      super(DeploymentAliases.class);
-      setName("aliases.txt");
-   }
-
-   protected DeploymentAliases parse(VFSDeploymentUnit unit, VirtualFile file, DeploymentAliases root) throws Exception
-   {
-      Set<Object> alises = new HashSet<Object>();
-      InputStream is = file.openStream();
-      try
-      {
-         BufferedReader br = new BufferedReader(new InputStreamReader(is));
-         String line;
-         while ((line = br.readLine()) != null)
-         {
-            alises.add(line);
-         }
-      }
-      finally
-      {
-         try
-         {
-            is.close();
-         }
-         catch (IOException ignored)
-         {
-         }
-      }
-      return new DepoymentAliasesImpl(alises);
-   }
-   
-   private class DepoymentAliasesImpl implements DeploymentAliases
-   {
-      private Set<Object> aliases;
-
-      private DepoymentAliasesImpl(Set<Object> aliases)
-      {
-         this.aliases = aliases;
-      }
-
-      public Set<Object> getAliases()
-      {
-         return aliases;
-      }
-   }
-}
\ No newline at end of file

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/AliasesParserDeployer.java (from rev 81774, projects/jboss-deployers/branches/Branch_2_0/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/AliasesParserDeployer.java)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/AliasesParserDeployer.java	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/AliasesParserDeployer.java	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,89 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.deployers.vfs.plugins.dependency;
+
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.virtual.VirtualFile;
+
+/**
+ * AliasesParserDeployer.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class AliasesParserDeployer extends AbstractVFSParsingDeployer<DeploymentAliases>
+{
+   public AliasesParserDeployer()
+   {
+      super(DeploymentAliases.class);
+      setName("aliases.txt");
+      setTopLevelOnly(true);
+   }
+
+   protected DeploymentAliases parse(VFSDeploymentUnit unit, VirtualFile file, DeploymentAliases root) throws Exception
+   {
+      Set<Object> alises = new HashSet<Object>();
+      InputStream is = file.openStream();
+      try
+      {
+         BufferedReader br = new BufferedReader(new InputStreamReader(is));
+         String line;
+         while ((line = br.readLine()) != null)
+         {
+            alises.add(line);
+         }
+      }
+      finally
+      {
+         try
+         {
+            is.close();
+         }
+         catch (IOException ignored)
+         {
+         }
+      }
+      return new DepoymentAliasesImpl(alises);
+   }
+   
+   private class DepoymentAliasesImpl implements DeploymentAliases
+   {
+      private Set<Object> aliases;
+
+      private DepoymentAliasesImpl(Set<Object> aliases)
+      {
+         this.aliases = aliases;
+      }
+
+      public Set<Object> getAliases()
+      {
+         return aliases;
+      }
+   }
+}
\ No newline at end of file

Deleted: projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DependenciesMetaDataDeployer.java
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DependenciesMetaDataDeployer.java	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DependenciesMetaDataDeployer.java	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,53 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.deployers.vfs.plugins.dependency;
-
-import org.jboss.dependency.spi.ControllerContext;
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.deployer.DeploymentStages;
-import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-
-/**
- * DependenciesMetaDataDeployer.
- *
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class DependenciesMetaDataDeployer extends AbstractSimpleRealDeployer<DependenciesMetaData>
-{
-   public DependenciesMetaDataDeployer()
-   {
-      super(DependenciesMetaData.class);
-      addOutput(DeploymentDependencies.class);
-      setStage(DeploymentStages.POST_PARSE);
-   }
-
-   public void deploy(DeploymentUnit unit, DependenciesMetaData deployment) throws DeploymentException
-   {
-      ControllerContext context = unit.getAttachment(ControllerContext.class);
-      if (context == null)
-         throw new DeploymentException("Missing deployment controller context: " + unit.getName());
-
-      Object contextName = context.getName();
-      unit.addAttachment(DeploymentDependencies.class, new DeploymentDependenciesImpl(contextName, deployment));
-   }
-}
\ No newline at end of file

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DependenciesMetaDataDeployer.java (from rev 81788, projects/jboss-deployers/branches/Branch_2_0/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DependenciesMetaDataDeployer.java)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DependenciesMetaDataDeployer.java	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DependenciesMetaDataDeployer.java	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.deployers.vfs.plugins.dependency;
+
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * DependenciesMetaDataDeployer.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class DependenciesMetaDataDeployer extends AbstractSimpleRealDeployer<DependenciesMetaData>
+{
+   public DependenciesMetaDataDeployer()
+   {
+      super(DependenciesMetaData.class);
+      addOutput(DeploymentDependencies.class);
+      setStage(DeploymentStages.POST_PARSE);
+   }
+
+   public void deploy(DeploymentUnit unit, DependenciesMetaData deployment) throws DeploymentException
+   {
+      ControllerContext context = unit.getTopLevel().getAttachment(ControllerContext.class);
+      if (context == null)
+         throw new DeploymentException("Missing deployment controller context: " + unit.getName());
+
+      Object contextName = context.getName();
+      unit.addAttachment(DeploymentDependencies.class, new DeploymentDependenciesImpl(contextName, deployment));
+   }
+}

Deleted: projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentAliasesDeployer.java
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentAliasesDeployer.java	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentAliasesDeployer.java	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,104 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.deployers.vfs.plugins.dependency;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
-
-import org.jboss.dependency.spi.Controller;
-import org.jboss.dependency.spi.ControllerContext;
-import org.jboss.deployers.spi.deployer.DeploymentStages;
-import org.jboss.deployers.spi.deployer.helpers.AbstractDeploymentVisitor;
-import org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployerWithInput;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-
-/**
- * DeploymentAliasesDeployer.
- *
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class DeploymentAliasesDeployer extends AbstractRealDeployerWithInput<DeploymentAliases>
-{
-   private Controller controller;
-
-   public DeploymentAliasesDeployer(Controller controller)
-   {
-      if (controller == null)
-         throw new IllegalArgumentException("Null controller");
-      this.controller = controller;
-      setStage(DeploymentStages.POST_PARSE);
-      setDeploymentVisitor(new DeploymentAliasDeploymentVisitor());
-   }
-
-   private class DeploymentAliasDeploymentVisitor extends AbstractDeploymentVisitor<Object, DeploymentAliases>
-   {
-      @Override
-      protected void addComponent(DeploymentUnit unit, Object attachment)
-      {
-         ControllerContext context = unit.getAttachment(ControllerContext.class);
-         if (context == null)
-            throw new IllegalArgumentException("Missing deployment controller context: " + unit.getName());
-
-         Object contextName = context.getName();
-         try
-         {
-            controller.addAlias(attachment, contextName);
-         }
-         catch (Throwable t)
-         {
-            throw new RuntimeException(t);
-         }
-      }
-
-      @Override
-      protected void removeComponent(DeploymentUnit unit, Object attachment)
-      {
-         controller.removeAlias(attachment);
-      }
-
-      protected List<Object> getComponents(DeploymentAliases deployment)
-      {
-         Set<Object> aliases = deployment.getAliases();
-         if (aliases != null && aliases.isEmpty() == false)
-            return new ArrayList<Object>(aliases);
-         else
-            return Collections.emptyList();
-      }
-
-      protected Class<Object> getComponentType()
-      {
-         return Object.class;
-      }
-
-      protected String getComponentName(Object attachment)
-      {
-         throw new UnsupportedOperationException("No component name.");
-      }
-
-      public Class<DeploymentAliases> getVisitorType()
-      {
-         return DeploymentAliases.class;
-      }
-   }
-}
\ No newline at end of file

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentAliasesDeployer.java (from rev 81774, projects/jboss-deployers/branches/Branch_2_0/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentAliasesDeployer.java)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentAliasesDeployer.java	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentAliasesDeployer.java	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,105 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.deployers.vfs.plugins.dependency;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+
+import org.jboss.dependency.spi.Controller;
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.spi.deployer.helpers.AbstractDeploymentVisitor;
+import org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployerWithInput;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * DeploymentAliasesDeployer.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class DeploymentAliasesDeployer extends AbstractRealDeployerWithInput<DeploymentAliases>
+{
+   private Controller controller;
+
+   public DeploymentAliasesDeployer(Controller controller)
+   {
+      if (controller == null)
+         throw new IllegalArgumentException("Null controller");
+      this.controller = controller;
+      setStage(DeploymentStages.POST_PARSE);
+      setDeploymentVisitor(new DeploymentAliasDeploymentVisitor());
+      setTopLevelOnly(true);
+   }
+
+   private class DeploymentAliasDeploymentVisitor extends AbstractDeploymentVisitor<Object, DeploymentAliases>
+   {
+      @Override
+      protected void addComponent(DeploymentUnit unit, Object attachment)
+      {
+         ControllerContext context = unit.getAttachment(ControllerContext.class);
+         if (context == null)
+            throw new IllegalArgumentException("Missing deployment controller context: " + unit.getName());
+
+         Object contextName = context.getName();
+         try
+         {
+            controller.addAlias(attachment, contextName);
+         }
+         catch (Throwable t)
+         {
+            throw new RuntimeException(t);
+         }
+      }
+
+      @Override
+      protected void removeComponent(DeploymentUnit unit, Object attachment)
+      {
+         controller.removeAlias(attachment);
+      }
+
+      protected List<Object> getComponents(DeploymentAliases deployment)
+      {
+         Set<Object> aliases = deployment.getAliases();
+         if (aliases != null && aliases.isEmpty() == false)
+            return new ArrayList<Object>(aliases);
+         else
+            return Collections.emptyList();
+      }
+
+      protected Class<Object> getComponentType()
+      {
+         return Object.class;
+      }
+
+      protected String getComponentName(Object attachment)
+      {
+         throw new UnsupportedOperationException("No component name.");
+      }
+
+      public Class<DeploymentAliases> getVisitorType()
+      {
+         return DeploymentAliases.class;
+      }
+   }
+}
\ No newline at end of file

Deleted: projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/dependency/test/DependenciesTestCase.java
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/dependency/test/DependenciesTestCase.java	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/dependency/test/DependenciesTestCase.java	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,98 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.deployers.vfs.dependency.test;
-
-import junit.framework.Test;
-import org.jboss.dependency.spi.ControllerContext;
-import org.jboss.dependency.spi.ControllerState;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.test.deployers.BootstrapDeployersTest;
-
-/**
- * DependenciesTestCase.
- *
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class DependenciesTestCase extends BootstrapDeployersTest
-{
-   public DependenciesTestCase(String name)
-   {
-      super(name);
-   }
-
-   public static Test suite()
-   {
-      return suite(DependenciesTestCase.class);
-   }
-
-   protected void assertDeployment(DeploymentUnit unit, ControllerState state)
-   {
-      ControllerContext context = unit.getAttachment(ControllerContext.class);
-      assertNotNull(context);
-      assertEquals(state, context.getState());
-   }
-
-   public void testBeanDependency() throws Throwable
-   {
-      DeploymentUnit du = addDeployment("/dependency", "bean");
-      try
-      {
-         assertDeployment(du, new ControllerState("PreReal"));
-         DeploymentUnit tmDU = assertDeploy("/dependency", "support");
-         try
-         {
-            assertDeployment(du, ControllerState.INSTALLED);
-         }
-         finally
-         {
-            undeploy(tmDU);
-         }
-      }
-      finally
-      {
-         undeploy(du);
-      }
-   }
-
-   public void testModuleAndAliasDependency() throws Throwable
-   {
-      DeploymentUnit du = addDeployment("/dependency", "module");
-      try
-      {
-         assertDeployment(du, ControllerState.PRE_INSTALL);
-         DeploymentUnit aliasDU = assertDeploy("/dependency", "alias");
-         try
-         {
-            assertDeployment(aliasDU, ControllerState.INSTALLED);
-            assertDeployment(du, ControllerState.INSTALLED);
-         }
-         finally
-         {
-            undeploy(aliasDU);
-         }
-      }
-      finally
-      {
-         undeploy(du);
-      }
-   }
-}

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/dependency/test/DependenciesTestCase.java (from rev 81774, projects/jboss-deployers/branches/Branch_2_0/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/dependency/test/DependenciesTestCase.java)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/dependency/test/DependenciesTestCase.java	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/dependency/test/DependenciesTestCase.java	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,120 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.deployers.vfs.dependency.test;
+
+import junit.framework.Test;
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.test.deployers.BootstrapDeployersTest;
+
+/**
+ * DependenciesTestCase.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class DependenciesTestCase extends BootstrapDeployersTest
+{
+   public DependenciesTestCase(String name)
+   {
+      super(name);
+   }
+
+   public static Test suite()
+   {
+      return suite(DependenciesTestCase.class);
+   }
+
+   protected void assertDeployment(DeploymentUnit unit, ControllerState state)
+   {
+      ControllerContext context = unit.getAttachment(ControllerContext.class);
+      assertNotNull(context);
+      assertEquals(state, context.getState());
+   }
+
+   public void testBeanDependency() throws Throwable
+   {
+      DeploymentUnit du = addDeployment("/dependency", "bean");
+      try
+      {
+         assertDeployment(du, new ControllerState("PreReal"));
+         DeploymentUnit tmDU = assertDeploy("/dependency", "support");
+         try
+         {
+            assertDeployment(du, ControllerState.INSTALLED);
+         }
+         finally
+         {
+            undeploy(tmDU);
+         }
+      }
+      finally
+      {
+         undeploy(du);
+      }
+   }
+
+   public void testModuleAndAliasDependency() throws Throwable
+   {
+      DeploymentUnit du = addDeployment("/dependency", "module");
+      try
+      {
+         assertDeployment(du, ControllerState.PRE_INSTALL);
+         DeploymentUnit aliasDU = assertDeploy("/dependency", "alias");
+         try
+         {
+            assertDeployment(aliasDU, ControllerState.INSTALLED);
+            assertDeployment(du, ControllerState.INSTALLED);
+         }
+         finally
+         {
+            undeploy(aliasDU);
+         }
+      }
+      finally
+      {
+         undeploy(du);
+      }
+   }
+
+   public void testNestedDependency() throws Throwable
+   {
+      DeploymentUnit du = addDeployment("/dependency", "nested");
+      try
+      {
+         assertDeployment(du, new ControllerState("PreReal"));
+         DeploymentUnit tmDU = assertDeploy("/dependency", "support");
+         try
+         {
+            assertDeployment(du, ControllerState.INSTALLED);
+         }
+         finally
+         {
+            undeploy(tmDU);
+         }
+      }
+      finally
+      {
+         undeploy(du);
+      }
+   }
+}

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs/src/test/resources/dependency/nested (from rev 81774, projects/jboss-deployers/branches/Branch_2_0/deployers-vfs/src/test/resources/dependency/nested)

Deleted: projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs-spi/pom.xml
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/deployers-vfs-spi/pom.xml	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs-spi/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,76 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.jboss.deployers</groupId>
-    <artifactId>jboss-deployers</artifactId>
-    <version>2.0.0-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>jboss-deployers-vfs-spi</artifactId>
-  <packaging>jar</packaging>
-  <name>JBoss Deployers VFS SPI</name>
-  <url>http://www.jboss.com/products/jbossmc</url>
-  <description>JBoss Deployers VFS SPI</description>
-  
-  <!-- Do not add version information here, use ../pom.xml instead -->
-  <dependencies>
-    <!-- Global dependencies -->
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-vfs</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-common-core</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-spi</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.cl</groupId>
-      <artifactId>jboss-classloading</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-common-core</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.microcontainer</groupId>
-          <artifactId>jboss-dependency</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jbossxb</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-reflect</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-common-core</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>stax</groupId>
-      <artifactId>stax-api</artifactId>
-    </dependency>
-  </dependencies>  
-</project>

Copied: projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs-spi/pom.xml (from rev 81905, projects/jboss-deployers/branches/Branch_2_0/deployers-vfs-spi/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs-spi/pom.xml	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/deployers-vfs-spi/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,76 @@
+<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.jboss.deployers</groupId>
+    <artifactId>jboss-deployers</artifactId>
+    <version>2.0.3.GA</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>jboss-deployers-vfs-spi</artifactId>
+  <packaging>jar</packaging>
+  <name>JBoss Deployers VFS SPI</name>
+  <url>http://www.jboss.com/products/jbossmc</url>
+  <description>JBoss Deployers VFS SPI</description>
+  
+  <!-- Do not add version information here, use ../pom.xml instead -->
+  <dependencies>
+    <!-- Global dependencies -->
+    <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-vfs</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-common-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-spi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.cl</groupId>
+      <artifactId>jboss-classloading</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-common-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.microcontainer</groupId>
+          <artifactId>jboss-dependency</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jbossxb</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-reflect</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-common-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>stax</groupId>
+      <artifactId>stax-api</artifactId>
+    </dependency>
+  </dependencies>  
+</project>

Deleted: projects/jboss-deployers/tags/2.0.3.GA/pom.xml
===================================================================
--- projects/jboss-deployers/branches/Branch_2_0/pom.xml	2008-11-28 15:33:29 UTC (rev 81772)
+++ projects/jboss-deployers/tags/2.0.3.GA/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -1,419 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.jboss</groupId>
-    <artifactId>jboss-parent</artifactId>
-    <version>4</version>
-  </parent>
-  <groupId>org.jboss.deployers</groupId>
-  <artifactId>jboss-deployers</artifactId>
-  <version>2.0.0-SNAPSHOT</version>
-  <packaging>pom</packaging>
-  <name>JBoss Deployers Parent POM</name>
-  <url>http://www.jboss.com/products/jbossmc</url>
-  <description>
-    The JBoss Deployment Framework
-  </description>
-  <scm>
-    <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/jboss-deployers/branches/Branch_2_0/</connection>
-    <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/jboss-deployers/branches/Branch_2_0/</developerConnection>
-    <url>http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbossas/projects/jboss-deployers/branches/Branch_2_0/</url>
-  </scm>
-
-  <properties>
-    <version.jboss.man>2.0.0.GA</version.jboss.man>
-    <version.jboss.mdr>2.0.1.GA</version.jboss.mdr>
-    <version.jboss.microcontainer>2.0.1.GA</version.jboss.microcontainer>
-    <version.jboss.classloader>2.0.0.GA</version.jboss.classloader>
-    <version.jboss.classloading.spi>5.0.0.CR2</version.jboss.classloading.spi>
-    <version.jboss.common.core>2.2.9.GA</version.jboss.common.core>
-    <version.jboss.logging.spi>2.0.5.GA</version.jboss.logging.spi>
-    <version.jboss.logging.log4j>2.0.5.GA</version.jboss.logging.log4j>
-    <version.jbossxb>2.0.0.GA</version.jbossxb>
-    <version.jboss.aop>2.0.0.SP1</version.jboss.aop>
-    <version.jboss.vfs>2.0.0.GA</version.jboss.vfs>
-    <version.org.jboss.test>1.1.1.GA</version.org.jboss.test>
-    <version.junit>4.4</version.junit>
-    <version.javassist>3.9.0.GA</version.javassist>
-    <version.stax.staxapi>1.0</version.stax.staxapi>
-  </properties>
-
-  <modules>
-    <module>deployers-core-spi</module>
-    <module>deployers-core</module>
-    <module>deployers-client-spi</module>
-    <module>deployers-client</module>
-    <module>deployers-structure-spi</module>
-    <module>deployers-spi</module>
-    <module>deployers-impl</module>
-    <module>deployers-vfs-spi</module>
-    <module>deployers-vfs</module>
-    <module>build</module>
-  </modules>
-  
-  <build>
-    <outputDirectory>${microcontainer.outputDirectory}</outputDirectory>
-    <testOutputDirectory>${microcontainer.testOutputDirectory}</testOutputDirectory>
-    <finalName>${artifactId}</finalName>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>2.0.2</version>
-        <configuration>
-          <source>1.5</source>
-          <target>1.5</target>
-          <showDeprecation>true</showDeprecation>
-          <showWarnings>true</showWarnings>
-          <optimize>true</optimize>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-release-plugin</artifactId>
-        <version>2.0-beta-7</version>
-        <configuration>
-          <generateReleasePoms>false</generateReleasePoms>
-          <tagBase>https://svn.jboss.org/repos/jbossas/projects/jboss-deployers/tags</tagBase>
-          <autoVersionSubmodules>true</autoVersionSubmodules>
-        </configuration>
-      </plugin>
-    </plugins>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-assembly-plugin</artifactId>
-          <executions>
-            <execution>
-              <id>make-assembly</id>
-              <phase>package</phase>
-              <goals>
-                <goal>attached</goal>
-              </goals>
-            </execution>
-          </executions>
-        </plugin>
-        <plugin>
-          <artifactId>maven-idea-plugin</artifactId>
-          <configuration>
-            <downloadSources>true</downloadSources>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-jar-plugin</artifactId>
-          <version>2.2</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.4.1</version>
-          <configuration>
-            <redirectTestOutputToFile>true</redirectTestOutputToFile>
-            <includes>
-              <include>org/jboss/test/**/*TestCase.java</include>
-            </includes>
-          </configuration>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-  <repositories>
-    <repository>
-      <id>repository.jboss.org</id>
-      <name>JBoss Repository</name>
-      <layout>default</layout>
-      <url>http://repository.jboss.org/maven2/</url>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>snapshots.jboss.org</id>
-      <name>JBoss Snapshots Repository</name>
-      <layout>default</layout>
-      <url>http://snapshots.jboss.org/maven2/</url>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-    </repository>
-  </repositories>
-  <reporting>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-project-info-reports-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>dependencies</report>
-              <report>issue-tracking</report>
-              <report>license</report>
-              <report>scm</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>findbugs-maven-plugin</artifactId>
-        <version>1.0.0</version>
-      </plugin>
-    </plugins>
-  </reporting>
-  <dependencyManagement>
-    <!-- The parent pom manages the inter-dependencies of the modules. -->
-    <dependencies>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-core-spi</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-core</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-core</artifactId>
-        <version>${project.version}</version>
-        <type>test-jar</type>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-client-spi</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-client</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-client</artifactId>
-        <version>${project.version}</version>
-        <type>test-jar</type>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-structure-spi</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-structure-spi</artifactId>
-        <version>${project.version}</version>
-        <type>test-jar</type>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-spi</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-impl</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-impl</artifactId>
-        <version>${project.version}</version>
-        <type>test-jar</type>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-vfs-spi</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-vfs</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.microcontainer</groupId>
-        <artifactId>jboss-dependency</artifactId>
-        <version>${version.jboss.microcontainer}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.microcontainer</groupId>
-        <artifactId>jboss-kernel</artifactId>
-        <version>${version.jboss.microcontainer}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.cl</groupId>
-        <artifactId>jboss-classloader</artifactId>
-        <version>${version.jboss.classloader}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.cl</groupId>
-        <artifactId>jboss-classloading</artifactId>
-        <version>${version.jboss.classloader}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.cl</groupId>
-        <artifactId>jboss-classloading-vfs</artifactId>
-        <version>${version.jboss.classloader}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.integration</groupId>
-        <artifactId>jboss-classloading-spi</artifactId>
-        <version>${version.jboss.classloading.spi}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.man</groupId>
-        <artifactId>jboss-managed</artifactId>
-        <version>${version.jboss.man}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.man</groupId>
-        <artifactId>jboss-metatype</artifactId>
-        <version>${version.jboss.man}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss</groupId>
-        <artifactId>jboss-mdr</artifactId>
-        <version>${version.jboss.mdr}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss</groupId>
-        <artifactId>jboss-common-core</artifactId>
-        <version>${version.jboss.common.core}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.logging</groupId>
-        <artifactId>jboss-logging-spi</artifactId>
-        <version>${version.jboss.logging.spi}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.logging</groupId>
-        <artifactId>jboss-logging-log4j</artifactId>
-        <version>${version.jboss.logging.log4j}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss</groupId>
-        <artifactId>jbossxb</artifactId>
-        <version>${version.jbossxb}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss</groupId>
-        <artifactId>jboss-vfs</artifactId>
-        <version>${version.jboss.vfs}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.aop</groupId>
-        <artifactId>jboss-aop</artifactId>
-        <version>${version.jboss.aop}</version>
-      </dependency>
-      <dependency>
-        <groupId>javassist</groupId>
-        <artifactId>javassist</artifactId>
-        <version>${version.javassist}</version>
-      </dependency>
-      <dependency>
-        <groupId>stax</groupId>
-        <artifactId>stax-api</artifactId>
-        <version>${version.stax.staxapi}</version>
-        <optional>true</optional>
-      </dependency>
-      <!-- test dependencies -->
-      <dependency>
-        <groupId>org.jboss.test</groupId>
-        <artifactId>jboss-test</artifactId>
-        <version>${version.org.jboss.test}</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>junit</groupId>
-        <artifactId>junit</artifactId>
-        <version>${version.junit}</version>
-        <scope>test</scope>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-
-  <profiles>
-    <profile>
-      <id>default</id>
-      <activation>
-        <activeByDefault>true</activeByDefault>
-      </activation>
-      <properties>
-        <microcontainer.outputDirectory>target/classes</microcontainer.outputDirectory>
-        <microcontainer.testOutputDirectory>target/test-classes</microcontainer.testOutputDirectory>
-      </properties>
-    </profile>
-    <profile>
-      <id>eclipse</id>
-      <build>
-        <defaultGoal>process-test-resources</defaultGoal>
-        <plugins>
-          <plugin>
-            <artifactId>maven-eclipse-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>eclipse</id>
-                <phase>process-test-resources</phase>
-                <goals>
-                  <goal>eclipse</goal>
-                </goals>
-              </execution>
-            </executions>
-            <configuration>
-              <downloadSources>true</downloadSources>
-              <buildOutputDirectory>${microcontainer.outputDirectory}</buildOutputDirectory>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-      <properties>
-        <microcontainer.outputDirectory>eclipse-target/classes</microcontainer.outputDirectory>
-        <microcontainer.testOutputDirectory>eclipse-target/test-classes</microcontainer.testOutputDirectory>
-      </properties>
-    </profile>
-    <profile>
-      <id>assembly</id>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-assembly-plugin</artifactId>
-            <inherited>false</inherited>
-            <executions>
-              <execution>
-                <id>make-assembly</id>
-                <phase>install</phase>
-                <goals>
-                  <goal>assembly</goal>
-                </goals>
-              </execution>
-            </executions>
-            <configuration>
-              <finalName>jboss-microcontainer-${project.version}</finalName>
-              <descriptors>
-                <descriptor>build/assembly/dist.xml</descriptor>
-                <descriptor>build/assembly/src.xml</descriptor>
-              </descriptors>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-
-</project>

Copied: projects/jboss-deployers/tags/2.0.3.GA/pom.xml (from rev 81905, projects/jboss-deployers/branches/Branch_2_0/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.3.GA/pom.xml	                        (rev 0)
+++ projects/jboss-deployers/tags/2.0.3.GA/pom.xml	2008-12-01 14:14:14 UTC (rev 81906)
@@ -0,0 +1,419 @@
+<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">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.jboss</groupId>
+    <artifactId>jboss-parent</artifactId>
+    <version>4</version>
+  </parent>
+  <groupId>org.jboss.deployers</groupId>
+  <artifactId>jboss-deployers</artifactId>
+  <version>2.0.3.GA</version>
+  <packaging>pom</packaging>
+  <name>JBoss Deployers Parent POM</name>
+  <url>http://www.jboss.com/products/jbossmc</url>
+  <description>
+    The JBoss Deployment Framework
+  </description>
+  <scm>
+    <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/jboss-deployers/tags/2.0.3.GA</connection>
+    <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/jboss-deployers/tags/2.0.3.GA</developerConnection>
+    <url>http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbossas/projects/jboss-deployers/tags/2.0.3.GA</url>
+  </scm>
+
+  <properties>
+    <version.jboss.man>2.0.0.GA</version.jboss.man>
+    <version.jboss.mdr>2.0.1.GA</version.jboss.mdr>
+    <version.jboss.microcontainer>2.0.2.GA</version.jboss.microcontainer>
+    <version.jboss.classloader>2.0.1.GA</version.jboss.classloader>
+    <version.jboss.classloading.spi>5.0.0.CR2</version.jboss.classloading.spi>
+    <version.jboss.common.core>2.2.9.GA</version.jboss.common.core>
+    <version.jboss.logging.spi>2.0.5.GA</version.jboss.logging.spi>
+    <version.jboss.logging.log4j>2.0.5.GA</version.jboss.logging.log4j>
+    <version.jbossxb>2.0.0.GA</version.jbossxb>
+    <version.jboss.aop>2.0.0.SP1</version.jboss.aop>
+    <version.jboss.vfs>2.0.0.GA</version.jboss.vfs>
+    <version.org.jboss.test>1.1.1.GA</version.org.jboss.test>
+    <version.junit>4.4</version.junit>
+    <version.javassist>3.9.0.GA</version.javassist>
+    <version.stax.staxapi>1.0</version.stax.staxapi>
+  </properties>
+
+  <modules>
+    <module>deployers-core-spi</module>
+    <module>deployers-core</module>
+    <module>deployers-client-spi</module>
+    <module>deployers-client</module>
+    <module>deployers-structure-spi</module>
+    <module>deployers-spi</module>
+    <module>deployers-impl</module>
+    <module>deployers-vfs-spi</module>
+    <module>deployers-vfs</module>
+    <module>build</module>
+  </modules>
+  
+  <build>
+    <outputDirectory>${microcontainer.outputDirectory}</outputDirectory>
+    <testOutputDirectory>${microcontainer.testOutputDirectory}</testOutputDirectory>
+    <finalName>${artifactId}</finalName>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.0.2</version>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+          <showDeprecation>true</showDeprecation>
+          <showWarnings>true</showWarnings>
+          <optimize>true</optimize>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-release-plugin</artifactId>
+        <version>2.0-beta-7</version>
+        <configuration>
+          <generateReleasePoms>false</generateReleasePoms>
+          <tagBase>https://svn.jboss.org/repos/jbossas/projects/jboss-deployers/tags</tagBase>
+          <autoVersionSubmodules>true</autoVersionSubmodules>
+        </configuration>
+      </plugin>
+    </plugins>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-assembly-plugin</artifactId>
+          <executions>
+            <execution>
+              <id>make-assembly</id>
+              <phase>package</phase>
+              <goals>
+                <goal>attached</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
+        <plugin>
+          <artifactId>maven-idea-plugin</artifactId>
+          <configuration>
+            <downloadSources>true</downloadSources>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-jar-plugin</artifactId>
+          <version>2.2</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.4.1</version>
+          <configuration>
+            <redirectTestOutputToFile>true</redirectTestOutputToFile>
+            <includes>
+              <include>org/jboss/test/**/*TestCase.java</include>
+            </includes>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+  <repositories>
+    <repository>
+      <id>repository.jboss.org</id>
+      <name>JBoss Repository</name>
+      <layout>default</layout>
+      <url>http://repository.jboss.org/maven2/</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>snapshots.jboss.org</id>
+      <name>JBoss Snapshots Repository</name>
+      <layout>default</layout>
+      <url>http://snapshots.jboss.org/maven2/</url>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+    </repository>
+  </repositories>
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-project-info-reports-plugin</artifactId>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>dependencies</report>
+              <report>issue-tracking</report>
+              <report>license</report>
+              <report>scm</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>findbugs-maven-plugin</artifactId>
+        <version>1.0.0</version>
+      </plugin>
+    </plugins>
+  </reporting>
+  <dependencyManagement>
+    <!-- The parent pom manages the inter-dependencies of the modules. -->
+    <dependencies>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers-core-spi</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers-core</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers-core</artifactId>
+        <version>${project.version}</version>
+        <type>test-jar</type>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers-client-spi</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers-client</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers-client</artifactId>
+        <version>${project.version}</version>
+        <type>test-jar</type>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers-structure-spi</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers-structure-spi</artifactId>
+        <version>${project.version}</version>
+        <type>test-jar</type>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers-spi</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers-impl</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers-impl</artifactId>
+        <version>${project.version}</version>
+        <type>test-jar</type>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers-vfs-spi</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers-vfs</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.microcontainer</groupId>
+        <artifactId>jboss-dependency</artifactId>
+        <version>${version.jboss.microcontainer}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.microcontainer</groupId>
+        <artifactId>jboss-kernel</artifactId>
+        <version>${version.jboss.microcontainer}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.cl</groupId>
+        <artifactId>jboss-classloader</artifactId>
+        <version>${version.jboss.classloader}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.cl</groupId>
+        <artifactId>jboss-classloading</artifactId>
+        <version>${version.jboss.classloader}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.cl</groupId>
+        <artifactId>jboss-classloading-vfs</artifactId>
+        <version>${version.jboss.classloader}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.integration</groupId>
+        <artifactId>jboss-classloading-spi</artifactId>
+        <version>${version.jboss.classloading.spi}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.man</groupId>
+        <artifactId>jboss-managed</artifactId>
+        <version>${version.jboss.man}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.man</groupId>
+        <artifactId>jboss-metatype</artifactId>
+        <version>${version.jboss.man}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss</groupId>
+        <artifactId>jboss-mdr</artifactId>
+        <version>${version.jboss.mdr}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss</groupId>
+        <artifactId>jboss-common-core</artifactId>
+        <version>${version.jboss.common.core}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.logging</groupId>
+        <artifactId>jboss-logging-spi</artifactId>
+        <version>${version.jboss.logging.spi}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.logging</groupId>
+        <artifactId>jboss-logging-log4j</artifactId>
+        <version>${version.jboss.logging.log4j}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss</groupId>
+        <artifactId>jbossxb</artifactId>
+        <version>${version.jbossxb}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss</groupId>
+        <artifactId>jboss-vfs</artifactId>
+        <version>${version.jboss.vfs}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.aop</groupId>
+        <artifactId>jboss-aop</artifactId>
+        <version>${version.jboss.aop}</version>
+      </dependency>
+      <dependency>
+        <groupId>javassist</groupId>
+        <artifactId>javassist</artifactId>
+        <version>${version.javassist}</version>
+      </dependency>
+      <dependency>
+        <groupId>stax</groupId>
+        <artifactId>stax-api</artifactId>
+        <version>${version.stax.staxapi}</version>
+        <optional>true</optional>
+      </dependency>
+      <!-- test dependencies -->
+      <dependency>
+        <groupId>org.jboss.test</groupId>
+        <artifactId>jboss-test</artifactId>
+        <version>${version.org.jboss.test}</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>junit</groupId>
+        <artifactId>junit</artifactId>
+        <version>${version.junit}</version>
+        <scope>test</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+
+  <profiles>
+    <profile>
+      <id>default</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+      </activation>
+      <properties>
+        <microcontainer.outputDirectory>target/classes</microcontainer.outputDirectory>
+        <microcontainer.testOutputDirectory>target/test-classes</microcontainer.testOutputDirectory>
+      </properties>
+    </profile>
+    <profile>
+      <id>eclipse</id>
+      <build>
+        <defaultGoal>process-test-resources</defaultGoal>
+        <plugins>
+          <plugin>
+            <artifactId>maven-eclipse-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>eclipse</id>
+                <phase>process-test-resources</phase>
+                <goals>
+                  <goal>eclipse</goal>
+                </goals>
+              </execution>
+            </executions>
+            <configuration>
+              <downloadSources>true</downloadSources>
+              <buildOutputDirectory>${microcontainer.outputDirectory}</buildOutputDirectory>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+      <properties>
+        <microcontainer.outputDirectory>eclipse-target/classes</microcontainer.outputDirectory>
+        <microcontainer.testOutputDirectory>eclipse-target/test-classes</microcontainer.testOutputDirectory>
+      </properties>
+    </profile>
+    <profile>
+      <id>assembly</id>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-assembly-plugin</artifactId>
+            <inherited>false</inherited>
+            <executions>
+              <execution>
+                <id>make-assembly</id>
+                <phase>install</phase>
+                <goals>
+                  <goal>assembly</goal>
+                </goals>
+              </execution>
+            </executions>
+            <configuration>
+              <finalName>jboss-microcontainer-${project.version}</finalName>
+              <descriptors>
+                <descriptor>build/assembly/dist.xml</descriptor>
+                <descriptor>build/assembly/src.xml</descriptor>
+              </descriptors>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+
+</project>




More information about the jboss-cvs-commits mailing list