[jboss-cvs] JBossAS SVN: r71888 - in projects/jboss-deployers/tags: 2.0.0.Beta13 and 13 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Apr 10 04:54:28 EDT 2008
Author: alesj
Date: 2008-04-10 04:54:28 -0400 (Thu, 10 Apr 2008)
New Revision: 71888
Added:
projects/jboss-deployers/tags/2.0.0.Beta13/
projects/jboss-deployers/tags/2.0.0.Beta13/build/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-client-spi/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-client/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-core-spi/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-core/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/main/org/jboss/deployers/plugins/deployers/DeployersImpl.java
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/tests/org/jboss/test/deployers/main/support/OrderedDependencyInfo.java
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/tests/org/jboss/test/deployers/main/test/CycleCheckCompleteTestCase.java
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-spi/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-structure-spi/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-vfs-spi/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-vfs/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/pom.xml
Removed:
projects/jboss-deployers/tags/2.0.0.Beta13/build/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-client-spi/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-client/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-core-spi/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-core/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/main/org/jboss/deployers/plugins/deployers/DeployersImpl.java
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/tests/org/jboss/test/deployers/main/support/OrderedDependencyInfo.java
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/tests/org/jboss/test/deployers/main/test/CycleCheckCompleteTestCase.java
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-spi/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-structure-spi/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-vfs-spi/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/deployers-vfs/pom.xml
projects/jboss-deployers/tags/2.0.0.Beta13/pom.xml
Log:
[maven-release-plugin] copy for tag 2.0.0.Beta13
Copied: projects/jboss-deployers/tags/2.0.0.Beta13 (from rev 71757, projects/jboss-deployers/trunk)
Deleted: projects/jboss-deployers/tags/2.0.0.Beta13/build/pom.xml
===================================================================
--- projects/jboss-deployers/trunk/build/pom.xml 2008-04-07 06:06:46 UTC (rev 71757)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/build/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -1,359 +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</groupId>
- <artifactId>jboss-parent</artifactId>
- <version>4-beta-1</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.jboss.deployers</groupId>
- <artifactId>jboss-deployers</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>pom</packaging>
- <name>JBoss Deployers Build</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/trunk/</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/jboss-deployers/trunk/</developerConnection>
- <url>http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbossas/projects/jboss-deployers/trunk/</url>
- </scm>
-
- <properties>
- <version.jboss.man>2.0.0.Beta12</version.jboss.man>
- <version.jboss.microcontainer>2.0.0.Beta12</version.jboss.microcontainer>
- <version.jboss.classloader>2.0.0.Beta11</version.jboss.classloader>
- <version.jboss.common.core>2.2.4.GA</version.jboss.common.core>
- <version.jboss.common.logging.spi>2.0.4.GA</version.jboss.common.logging.spi>
- <version.jboss.common.logging.log4j>2.0.4.GA</version.jboss.common.logging.log4j>
- <version.jbossxb>2.0.0.CR8</version.jbossxb>
- <version.jboss.aop>2.0.0.CR8</version.jboss.aop>
- <version.jboss.vfs>2.0.0.Beta10</version.jboss.vfs>
- <version.org.jboss.test>1.0.5.GA</version.org.jboss.test>
- <version.junit>4.4</version.junit>
- </properties>
-
- <build>
- <sourceDirectory>src/main</sourceDirectory>
- <testSourceDirectory>src/tests</testSourceDirectory>
- <outputDirectory>${microcontainer.outputDirectory}</outputDirectory>
- <testOutputDirectory>${microcontainer.testOutputDirectory}</testOutputDirectory>
- <finalName>${artifactId}</finalName>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.5</source>
- <target>1.5</target>
- <showDeprecation>true</showDeprecation>
- <showWarnings>true</showWarnings>
- <optimize>true</optimize>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.jboss.maven.plugins</groupId>
- <artifactId>maven-jboss-deploy-plugin</artifactId>
- <version>1.6</version>
- <executions>
- <execution>
- <goals>
- <goal>jboss-deploy</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <jbossDeployRoot>${jboss.repository.root}</jbossDeployRoot>
- </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.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-common-core</artifactId>
- <version>${version.jboss.common.core}</version>
- </dependency>
- <dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- <version>${version.jboss.common.logging.spi}</version>
- </dependency>
- <dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-log4j</artifactId>
- <version>${version.jboss.common.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>
- <!-- test dependencies -->
- <dependency>
- <groupId>org.jboss</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/tests-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/tests-classes</microcontainer.testOutputDirectory>
- </properties>
- </profile>
- </profiles>
-</project>
\ No newline at end of file
Copied: projects/jboss-deployers/tags/2.0.0.Beta13/build/pom.xml (from rev 71887, projects/jboss-deployers/trunk/build/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.0.Beta13/build/pom.xml (rev 0)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/build/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -0,0 +1,359 @@
+<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</groupId>
+ <artifactId>jboss-parent</artifactId>
+ <version>4-beta-1</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jboss.deployers</groupId>
+ <artifactId>jboss-deployers</artifactId>
+ <version>2.0.0.Beta13</version>
+ <packaging>pom</packaging>
+ <name>JBoss Deployers Build</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.0.Beta13</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/jboss-deployers/tags/2.0.0.Beta13</developerConnection>
+ <url>http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbossas/projects/jboss-deployers/tags/2.0.0.Beta13</url>
+ </scm>
+
+ <properties>
+ <version.jboss.man>2.0.0.Beta12</version.jboss.man>
+ <version.jboss.microcontainer>2.0.0.Beta13</version.jboss.microcontainer>
+ <version.jboss.classloader>2.0.0.Beta11</version.jboss.classloader>
+ <version.jboss.common.core>2.2.4.GA</version.jboss.common.core>
+ <version.jboss.common.logging.spi>2.0.4.GA</version.jboss.common.logging.spi>
+ <version.jboss.common.logging.log4j>2.0.4.GA</version.jboss.common.logging.log4j>
+ <version.jbossxb>2.0.0.CR8</version.jbossxb>
+ <version.jboss.aop>2.0.0.CR8</version.jboss.aop>
+ <version.jboss.vfs>2.0.0.Beta10</version.jboss.vfs>
+ <version.org.jboss.test>1.0.5.GA</version.org.jboss.test>
+ <version.junit>4.4</version.junit>
+ </properties>
+
+ <build>
+ <sourceDirectory>src/main</sourceDirectory>
+ <testSourceDirectory>src/tests</testSourceDirectory>
+ <outputDirectory>${microcontainer.outputDirectory}</outputDirectory>
+ <testOutputDirectory>${microcontainer.testOutputDirectory}</testOutputDirectory>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ <showDeprecation>true</showDeprecation>
+ <showWarnings>true</showWarnings>
+ <optimize>true</optimize>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jboss-deploy-plugin</artifactId>
+ <version>1.6</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>jboss-deploy</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <jbossDeployRoot>${jboss.repository.root}</jbossDeployRoot>
+ </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.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-common-core</artifactId>
+ <version>${version.jboss.common.core}</version>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ <version>${version.jboss.common.logging.spi}</version>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-log4j</artifactId>
+ <version>${version.jboss.common.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>
+ <!-- test dependencies -->
+ <dependency>
+ <groupId>org.jboss</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/tests-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/tests-classes</microcontainer.testOutputDirectory>
+ </properties>
+ </profile>
+ </profiles>
+</project>
\ No newline at end of file
Deleted: projects/jboss-deployers/tags/2.0.0.Beta13/deployers-client/pom.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-client/pom.xml 2008-04-07 06:06:46 UTC (rev 71757)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-client/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -1,107 +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 ../build/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>jboss</groupId>
- <artifactId>jboss-common-logging-log4j</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-test</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss.profiler.jvmti</groupId>
- <artifactId>jboss-profiler-jvmti</artifactId>
- </exclusion>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-junit</artifactId>
- </exclusion>
- </exclusions>
- </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.0.Beta13/deployers-client/pom.xml (from rev 71887, projects/jboss-deployers/trunk/deployers-client/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.0.Beta13/deployers-client/pom.xml (rev 0)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-client/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -0,0 +1,107 @@
+<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.Beta13</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 ../build/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>jboss</groupId>
+ <artifactId>jboss-common-logging-log4j</artifactId>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-test</artifactId>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss.profiler.jvmti</groupId>
+ <artifactId>jboss-profiler-jvmti</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant-junit</artifactId>
+ </exclusion>
+ </exclusions>
+ </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.0.Beta13/deployers-client-spi/pom.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-client-spi/pom.xml 2008-04-07 06:06:46 UTC (rev 71757)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-client-spi/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -1,39 +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 ../build/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>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
-</project>
\ No newline at end of file
Copied: projects/jboss-deployers/tags/2.0.0.Beta13/deployers-client-spi/pom.xml (from rev 71887, projects/jboss-deployers/trunk/deployers-client-spi/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.0.Beta13/deployers-client-spi/pom.xml (rev 0)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-client-spi/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -0,0 +1,39 @@
+<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.Beta13</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 ../build/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>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Deleted: projects/jboss-deployers/tags/2.0.0.Beta13/deployers-core/pom.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-core/pom.xml 2008-04-07 06:06:46 UTC (rev 71757)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-core/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -1,104 +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>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </dependency>
- <!-- Test dependencies -->
- <dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-log4j</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-test</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss.profiler.jvmti</groupId>
- <artifactId>jboss-profiler-jvmti</artifactId>
- </exclusion>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-junit</artifactId>
- </exclusion>
- </exclusions>
- </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.0.Beta13/deployers-core/pom.xml (from rev 71887, projects/jboss-deployers/trunk/deployers-core/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.0.Beta13/deployers-core/pom.xml (rev 0)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-core/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -0,0 +1,104 @@
+<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.Beta13</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>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </dependency>
+ <!-- Test dependencies -->
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-log4j</artifactId>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-test</artifactId>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss.profiler.jvmti</groupId>
+ <artifactId>jboss-profiler-jvmti</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant-junit</artifactId>
+ </exclusion>
+ </exclusions>
+ </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.0.Beta13/deployers-core-spi/pom.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-core-spi/pom.xml 2008-04-07 06:06:46 UTC (rev 71757)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-core-spi/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -1,39 +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 ../build/pom.xml instead -->
- <!-- Global dependencies -->
- <dependencies>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- <exclusions>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-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.0.Beta13/deployers-core-spi/pom.xml (from rev 71887, projects/jboss-deployers/trunk/deployers-core-spi/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.0.Beta13/deployers-core-spi/pom.xml (rev 0)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-core-spi/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -0,0 +1,39 @@
+<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.Beta13</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 ../build/pom.xml instead -->
+ <!-- Global dependencies -->
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-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.0.Beta13/deployers-impl/pom.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/pom.xml 2008-04-07 06:06:46 UTC (rev 71757)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -1,203 +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-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-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>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.jboss.microcontainer</groupId>
- <artifactId>jboss-dependency</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>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- </exclusions>
- </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>jboss</groupId>
- <artifactId>jboss-common-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>jboss</groupId>
- <artifactId>jboss-common-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>jboss</groupId>
- <artifactId>jboss-common-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>jboss</groupId>
- <artifactId>jboss-common-logging-log4j</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-test</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss.profiler.jvmti</groupId>
- <artifactId>jboss-profiler-jvmti</artifactId>
- </exclusion>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-junit</artifactId>
- </exclusion>
- </exclusions>
- </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.0.Beta13/deployers-impl/pom.xml (from rev 71887, projects/jboss-deployers/trunk/deployers-impl/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/pom.xml (rev 0)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -0,0 +1,203 @@
+<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.Beta13</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-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-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>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-dependency</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>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ </exclusions>
+ </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>jboss</groupId>
+ <artifactId>jboss-common-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>jboss</groupId>
+ <artifactId>jboss-common-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>jboss</groupId>
+ <artifactId>jboss-common-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>jboss</groupId>
+ <artifactId>jboss-common-logging-log4j</artifactId>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-test</artifactId>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss.profiler.jvmti</groupId>
+ <artifactId>jboss-profiler-jvmti</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant-junit</artifactId>
+ </exclusion>
+ </exclusions>
+ </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.0.Beta13/deployers-impl/src/main/org/jboss/deployers/plugins/deployers/DeployersImpl.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/deployers/DeployersImpl.java 2008-04-07 06:06:46 UTC (rev 71757)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/main/org/jboss/deployers/plugins/deployers/DeployersImpl.java 2008-04-10 08:54:28 UTC (rev 71888)
@@ -1,1352 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2007, 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.plugins.deployers;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.jboss.dependency.spi.Controller;
-import org.jboss.dependency.spi.ControllerContext;
-import org.jboss.dependency.spi.ControllerContextActions;
-import org.jboss.dependency.spi.ControllerState;
-import org.jboss.dependency.spi.DependencyInfo;
-import org.jboss.dependency.spi.DependencyItem;
-import org.jboss.deployers.client.spi.Deployment;
-import org.jboss.deployers.client.spi.IncompleteDeploymentException;
-import org.jboss.deployers.client.spi.IncompleteDeployments;
-import org.jboss.deployers.client.spi.MissingDependency;
-import org.jboss.deployers.plugins.sort.DeployerSorter;
-import org.jboss.deployers.plugins.sort.DeployerSorterFactory;
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.DeploymentState;
-import org.jboss.deployers.spi.deployer.Deployer;
-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.ManagedObjectCreator;
-import org.jboss.deployers.structure.spi.DeploymentContext;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.structure.spi.scope.ScopeBuilder;
-import org.jboss.kernel.spi.dependency.KernelController;
-import org.jboss.logging.Logger;
-import org.jboss.managed.api.ManagedObject;
-import org.jboss.metadata.spi.repository.MutableMetaDataRepository;
-
-/**
- * DeployersImpl.
- *
- * @author <a href="adrian at jboss.org">Adrian Brock</a>
- * @author <a href="ales.justin at jboss.org">Ales Justin</a>
- * @version $Revision: 1.1 $
- */
-public class DeployersImpl implements Deployers, ControllerContextActions
-{
- /** The log */
- private static final Logger log = Logger.getLogger(DeployersImpl.class);
-
- /** Whether we are shutdown */
- private AtomicBoolean shutdown = new AtomicBoolean(false);
-
- /** The dependency state machine */
- private Controller controller;
-
- /** The repository */
- private MutableMetaDataRepository repository;
-
- /** The deployment stages by name */
- private Map<String, DeploymentStage> stages = new ConcurrentHashMap<String, DeploymentStage>();
-
- /** The deployers */
- private Set<DeployerWrapper> deployers = new HashSet<DeployerWrapper>();
-
- /** The deployers by stage and type */
- private Map<String, List<Deployer>> deployersByStage = new HashMap<String, List<Deployer>>();
-
- /** The scope builder */
- private ScopeBuilder scopeBuilder;
-
- /**
- * Create a new DeployersImpl.
- *
- * @param controller the controller
- * @throws IllegalArgumentException for a null controller
- */
- public DeployersImpl(Controller controller)
- {
- this(controller, null);
- }
-
- /**
- * Create a new DeployersImpl.
- *
- * @param controller the controller
- * @param deployers the deployers
- * @throws IllegalArgumentException for a null controller
- */
- public DeployersImpl(Controller controller, Set<Deployer> deployers)
- {
- if (controller == null)
- throw new IllegalArgumentException("Null controller");
- this.controller = controller;
-
- // Add the standard stages
- addDeploymentStage(DeploymentStages.NOT_INSTALLED);
- addDeploymentStage(DeploymentStages.PARSE);
- addDeploymentStage(DeploymentStages.POST_PARSE);
- addDeploymentStage(DeploymentStages.PRE_DESCRIBE);
- addDeploymentStage(DeploymentStages.DESCRIBE);
- addDeploymentStage(DeploymentStages.CLASSLOADER);
- addDeploymentStage(DeploymentStages.POST_CLASSLOADER);
- addDeploymentStage(DeploymentStages.PRE_REAL);
- addDeploymentStage(DeploymentStages.REAL);
- addDeploymentStage(DeploymentStages.INSTALLED);
-
- // Create the deployers
- if (deployers != null)
- setDeployers(deployers);
- }
-
- public void shutdown()
- {
- shutdown.set(true);
- }
-
- /**
- * Check whether we are shutdown
- */
- protected void checkShutdown()
- {
- if (shutdown.get())
- throw new IllegalStateException("Deployers are shutdown");
- }
-
- /**
- * Get the deployers.
- *
- * @return the deployers.
- */
- public Set<DeployerWrapper> getDeployerWrappers()
- {
- return deployers;
- }
-
- /**
- * Set the deployers.
- *
- * @param deployers the deployers.
- * @throws IllegalArgumentException for null deployers
- */
- public void setDeployers(Set<Deployer> deployers)
- {
- if (deployers == null)
- throw new IllegalArgumentException("Null deployers");
-
- // Remove all the old deployers that are not in the new set
- HashSet<Deployer> oldDeployers = new HashSet<Deployer>(this.deployers);
- oldDeployers.removeAll(deployers);
- for (Deployer deployer : oldDeployers)
- removeDeployer(deployer);
-
- // Add all the new deployers that were not already present
- HashSet<Deployer> newDeployers = new HashSet<Deployer>(deployers);
- newDeployers.removeAll(this.deployers);
- for (Deployer deployer : newDeployers)
- addDeployer(deployer);
- }
-
- /**
- * Add a deployer
- *
- * @param deployer the deployer
- */
- public synchronized void addDeployer(Deployer deployer)
- {
- if (deployer == null)
- throw new IllegalArgumentException("Null deployer");
-
- DeploymentStage stage = deployer.getStage();
- if (stage == null)
- throw new IllegalArgumentException("Deployer has no stage: " + deployer);
-
- addDeploymentStage(stage);
-
- DeployerWrapper wrapper = new DeployerWrapper(deployer);
-
- // Ignore duplicates
- if (deployers.contains(wrapper))
- return;
-
- String stageName = stage.getName();
- List<Deployer> deployers = deployersByStage.get(stageName);
- if (deployers == null)
- deployers = Collections.emptyList();
- deployers = insert(deployers, wrapper);
- deployersByStage.put(stageName, deployers);
-
- this.deployers.add(wrapper);
-
- StringBuilder builder = new StringBuilder();
- builder.append("Added deployer ").append(deployer).append(" for stage ").append(stageName).append('\n');
- for (Deployer temp : getDeployersList(stageName))
- {
- builder.append(temp);
- builder.append("{inputs=").append(temp.getInputs());
- builder.append(" outputs=").append(temp.getOutputs());
- builder.append("}\n");
- }
- log.debug(builder);
- }
-
- /**
- * Remove a deployer
- *
- * @param deployer the deployer
- */
- public synchronized void removeDeployer(Deployer deployer)
- {
- if (deployer == null)
- throw new IllegalArgumentException("Null deployer");
- deployers.remove(new DeployerWrapper(deployer));
-
- DeploymentStage stage = deployer.getStage();
- if (stage == null)
- {
- log.warn("Deployer has no stage: " + deployer);
- return;
- }
-
- String stageName = stage.getName();
- List<Deployer> deployers = deployersByStage.get(stageName);
- if (deployers == null)
- return;
-
- deployers.remove(deployer);
- if (deployers.isEmpty())
- deployersByStage.remove(stageName);
-
- log.debug("Removed deployer " + deployer + " from stage " + stageName);
- }
-
- /**
- * Add a deployment stage
- *
- * @param stage the deployment stage
- */
- protected synchronized void addDeploymentStage(DeploymentStage stage)
- {
- if (stage == null)
- throw new IllegalArgumentException("Null stage");
-
- // Already done?
- String stageName = stage.getName();
- if (stages.containsKey(stageName))
- return;
-
- ControllerState preceeds = null;
- String before = stage.getBefore();
- String after = stage.getAfter();
- if (before != null || after != null)
- {
- // Determine where to put the stage
- List<ControllerState> states = controller.getStates();
- for (int i = 0; i < states.size(); ++i)
- {
- ControllerState state = states.get(i);
- String stateName = state.getStateString();
- if (before != null && before.equals(stateName))
- {
- preceeds = state;
- break;
- }
- if (after != null && after.equals(stateName))
- {
- if (i < states.size()-1)
- {
- preceeds = states.get(i+1);
- break;
- }
- }
- }
- }
-
- controller.addState(new ControllerState(stageName), preceeds);
- stages.put(stageName, stage);
- log.debug("Added stage " + stageName + " before " + preceeds);
- }
-
- /**
- * Get the scopeBuilder.
- *
- * @return the scopeBuilder.
- */
- public ScopeBuilder getScopeBuilder()
- {
- return scopeBuilder;
- }
-
- /**
- * Set the scopeBuilder.
- *
- * @param scopeBuilder the scopeBuilder.
- */
- public void setScopeBuilder(ScopeBuilder scopeBuilder)
- {
- this.scopeBuilder = scopeBuilder;
- }
-
- /**
- * Get the repository.
- *
- * @return the repository.
- */
- public MutableMetaDataRepository getRepository()
- {
- return repository;
- }
-
- /**
- * Set the repository.
- *
- * @param repository the repository.
- */
- public void setRepository(MutableMetaDataRepository repository)
- {
- this.repository = repository;
- }
-
- public void start()
- {
- // Bootstrap the repository
- if (repository == null && controller instanceof KernelController)
- {
- KernelController kernelController = (KernelController) controller;
- repository = kernelController.getKernel().getMetaDataRepository().getMetaDataRepository();
- }
- }
-
- public Map<String, ManagedObject> getManagedObjects(DeploymentContext context) throws DeploymentException
- {
- if (context == null)
- throw new IllegalArgumentException("Null context");
-
- checkShutdown();
-
- Map<String, ManagedObject> managedObjects = new HashMap<String, ManagedObject>();
- for (DeployerWrapper deployer : deployers)
- deployer.build(context.getDeploymentUnit(), managedObjects);
-
- return managedObjects;
- }
-
- /**
- * Get the ManagedObjectBuilder for a deployer.
- *
- * @param deployer - the deployer to set the ManagedObjectBuilder for.
- * @return managedObjectBuilder for deployer, may be null
- * @throws IllegalArgumentException for a null deployer
- */
- public ManagedObjectCreator getDeployerManagedObjectBuilder(Deployer deployer)
- {
- if (deployer == null)
- throw new IllegalArgumentException("Null deployer");
-
- ManagedObjectCreator result = null;
- for (DeployerWrapper wrapper : deployers)
- {
- if (wrapper.equals(deployer))
- result = wrapper.getManagedObjectCreator();
- }
- return result;
- }
-
- /**
- * Set the ManagedObjectBuilder for a deployer. This allows one to override the given deployer
- * ManagedObjectBuilder or assign one when the deployer does not provide a ManagedObjectBuilder.
- *
- * @param deployer - the deployer to set the ManagedObjectBuilder for.
- * @param managedObjectCreator the managed object builder to set to the deployer
- * @throws IllegalArgumentException for a null deployer
- */
- public void setDeployerManagedObjectBuilder(Deployer deployer, ManagedObjectCreator managedObjectCreator)
- {
- if (deployer == null)
- throw new IllegalArgumentException("Null deployer");
-
- for (DeployerWrapper wrapper : deployers)
- {
- if (wrapper.equals(deployer))
- wrapper.setManagedObjectCreator(managedObjectCreator);
- }
- }
-
- public DeploymentStage getDeploymentStage(DeploymentContext context) throws DeploymentException
- {
- DeploymentControllerContext deploymentControllerContext = context.getTransientAttachments().getAttachment(ControllerContext.class.getName(), DeploymentControllerContext.class);
- if (deploymentControllerContext == null)
- return null;
- ControllerState state = deploymentControllerContext.getState();
- if (ControllerState.ERROR.equals(state))
- return DeploymentStages.NOT_INSTALLED;
- return new DeploymentStage(state.getStateString());
- }
-
- public void change(DeploymentContext context, DeploymentStage stage) throws DeploymentException
- {
- if (context == null)
- throw new DeploymentException("Null context");
- if (stage == null)
- throw new DeploymentException("Null stage");
-
- String stageName = stage.getName();
- if (stages.containsKey(stage.getName()) == false)
- throw new DeploymentException("Unknown deployment stage: " + stage);
-
- DeploymentControllerContext deploymentControllerContext = context.getTransientAttachments().getAttachment(ControllerContext.class.getName(), DeploymentControllerContext.class);
- if (deploymentControllerContext == null)
- throw new DeploymentException("Deployment " + context.getName() + " has no deployment controller context");
-
- checkShutdown();
-
- ControllerState state = new ControllerState(stageName);
- try
- {
- controller.change(deploymentControllerContext, state);
- }
- catch (Throwable t)
- {
- context.setState(DeploymentState.ERROR);
- context.setProblem(t);
- }
- Throwable problem = context.getProblem();
- if (problem != null)
- throw DeploymentException.rethrowAsDeploymentException("Error changing to stage " + stage + " for " + context.getName(), problem);
- }
-
- public void process(List<DeploymentContext> deploy, List<DeploymentContext> undeploy)
- {
- boolean trace = log.isTraceEnabled();
-
- // There is something to undeploy
- if (undeploy != null && undeploy.isEmpty() == false)
- {
- // Build a list in reverse order
- List<DeploymentControllerContext> toUndeploy = new ArrayList<DeploymentControllerContext>();
- for (int i = undeploy.size()-1; i >= 0; --i)
- {
- DeploymentContext context = undeploy.get(i);
- if (DeploymentState.ERROR.equals(context.getState()) == false)
- context.setState(DeploymentState.UNDEPLOYING);
- log.debug("Undeploying " + context.getName());
- DeploymentControllerContext deploymentControllerContext = context.getTransientAttachments().getAttachment(ControllerContext.class.getName(), DeploymentControllerContext.class);
- if (deploymentControllerContext == null)
- {
- log.debug("DeploymentContext has no DeploymentControllerContext during undeploy request, ignoring: " + context);
- }
- else
- {
- toUndeploy.add(deploymentControllerContext);
- }
- }
-
- // Go through the states in reverse order
- List<ControllerState> states = controller.getStates();
- for (int i = states.size()-1; i >= 0; --i)
- {
- ControllerState state = states.get(i);
- for (DeploymentControllerContext deploymentControllerContext : toUndeploy)
- {
- ControllerState current = deploymentControllerContext.getState();
- int currentIdx = states.indexOf(current);
- DeploymentContext context = deploymentControllerContext.getDeploymentContext();
- if (currentIdx != -1 && currentIdx > i)
- {
- try
- {
- controller.change(deploymentControllerContext, state);
- }
- catch (Throwable t)
- {
- log.warn("Error during undeploy", t);
- context.setState(DeploymentState.ERROR);
- context.setProblem(t);
- }
- }
- else
- {
- if (trace)
- log.trace("Not moving " + deploymentControllerContext + " to state " + state + " it is at " + current);
- }
- }
- }
-
- // Uninstall the contexts
- for (DeploymentControllerContext deploymentControllerContext : toUndeploy)
- {
- DeploymentContext context = deploymentControllerContext.getDeploymentContext();
- context.getTransientAttachments().removeAttachment(ControllerContext.class);
- try
- {
- controller.uninstall(deploymentControllerContext.getName());
- setState(context, DeploymentState.UNDEPLOYED, null);
- // This is now in the abstract classloader deployer.undeploy,
- // but left here in case somebody isn't using that.
- removeClassLoader(context);
- cleanup(context);
- log.debug("Fully Undeployed " + context.getName());
- }
- catch (Throwable t)
- {
- log.warn("Error during uninstall", t);
- context.setState(DeploymentState.ERROR);
- context.setProblem(t);
- }
- }
- }
-
- // There is something to deploy
- if (deploy != null && deploy.isEmpty() == false)
- {
- // Create the controller contexts
- for (DeploymentContext context : deploy)
- {
- checkShutdown();
-
- DeploymentControllerContext deploymentControllerContext = new DeploymentControllerContext(context, this);
- try
- {
- controller.install(deploymentControllerContext);
- context.setState(DeploymentState.DEPLOYING);
- log.debug("Deploying " + context.getName());
- context.getTransientAttachments().addAttachment(ControllerContext.class, deploymentControllerContext);
- if (scopeBuilder != null)
- context.getTransientAttachments().addAttachment(ScopeBuilder.class, scopeBuilder);
- if (repository != null)
- context.getTransientAttachments().addAttachment(MutableMetaDataRepository.class, repository);
- }
- catch (Throwable t)
- {
- // Set the error on the parent
- context.setState(DeploymentState.ERROR);
- context.setProblem(t);
- // Set the children to not deployed
- setState(context, DeploymentState.UNDEPLOYED, DeploymentState.DEPLOYING);
- }
- }
-
- // Go through the states in order
- List<ControllerState> states = controller.getStates();
- for (int i = 0; i < states.size(); ++i)
- {
- ControllerState state = states.get(i);
- for (DeploymentContext context : deploy)
- {
- DeploymentControllerContext deploymentControllerContext = context.getTransientAttachments().getAttachment(ControllerContext.class.getName(), DeploymentControllerContext.class);
- ControllerState current = deploymentControllerContext.getState();
- int currentIdx = states.indexOf(current);
- if (currentIdx != -1 && currentIdx < i)
- {
- checkShutdown();
- try
- {
- controller.change(deploymentControllerContext, state);
- }
- catch (Throwable t)
- {
- context.setState(DeploymentState.ERROR);
- context.setProblem(t);
- }
- }
- else
- {
- if (trace)
- log.trace("Not moving " + deploymentControllerContext + " to state " + state + " it is at " + current);
- }
- }
- }
- }
- }
-
- /**
- * Get the root cause of a throwable
- *
- * @param original the original
- * @return the root
- */
- private static Throwable getRootCause(Throwable original)
- {
- if (original == null)
- return null;
- Throwable result = original;
- Throwable cause = result.getCause();
- while (cause != null)
- {
- result = cause;
- cause = cause.getCause();
- }
- return result;
- }
-
- public void checkComplete(Collection<DeploymentContext> errors, Collection<Deployment> missingDeployer) throws DeploymentException
- {
- Map<String, Throwable> deploymentsInError = null;
- Collection<String> deploymentsMissingDeployer = null;
- Map<String, Throwable> contextsInError = null;
- Map<String, Set<MissingDependency>> contextsMissingDependencies = null;
-
- if (errors != null && errors.isEmpty() == false)
- {
- deploymentsInError = new HashMap<String, Throwable>();
- for (DeploymentContext context : errors)
- deploymentsInError.put(context.getName(), getRootCause(context.getProblem()));
- }
-
- if (missingDeployer != null && missingDeployer.isEmpty() == false)
- {
- deploymentsMissingDeployer = new HashSet<String>();
- for (Deployment context : missingDeployer)
- deploymentsMissingDeployer.add(context.getName());
- }
-
- List<ControllerState> states = controller.getStates();
-
- Set<ControllerContext> notInstalled = controller.getNotInstalled();
- if (notInstalled.isEmpty() == false)
- {
- for (Iterator<ControllerContext> i = notInstalled.iterator(); i.hasNext();)
- {
- ControllerContext context = i.next();
- if (context.getState().equals(context.getRequiredState()))
- i.remove();
- }
- if (notInstalled.isEmpty() == false)
- {
- contextsInError = new HashMap<String, Throwable>();
- contextsMissingDependencies = new HashMap<String, Set<MissingDependency>>();
- for (ControllerContext context : notInstalled)
- {
- checkControllerContext(context, contextsInError, contextsMissingDependencies, states);
- }
- }
- }
-
- IncompleteDeployments incomplete = new IncompleteDeployments(deploymentsInError, deploymentsMissingDeployer, contextsInError, contextsMissingDependencies);
- if (incomplete.isIncomplete())
- throw new IncompleteDeploymentException(incomplete);
- }
-
- /**
- * Check controller context.
- *
- * @param context the controller context
- * @param contextsInError contexts in error map
- * @param contextsMissingDependencies contexts missing dependecies map
- * @param states controller states
- */
- protected final void checkControllerContext(
- ControllerContext context,
- Map<String, Throwable> contextsInError,
- Map<String, Set<MissingDependency>> contextsMissingDependencies,
- List<ControllerState> states)
- {
- if (context.getState().equals(ControllerState.ERROR))
- contextsInError.put(context.getName().toString(), getRootCause(context.getError()));
- else
- {
- Object contextName = context.getName();
- String name = contextName.toString();
- Set<MissingDependency> dependencies = new HashSet<MissingDependency>();
- DependencyInfo dependsInfo = context.getDependencyInfo();
- for (DependencyItem item : dependsInfo.getIDependOn(null))
- {
- if (item.isResolved() == false)
- {
- String dependency;
- ControllerState actualState = null;
- String actualStateString;
-
- Object iDependOn = item.getIDependOn();
- if (contextName.equals(iDependOn) == false)
- {
- boolean includeDependency = true;
-
- if (iDependOn == null)
- {
- dependency = "<UNKNOWN " + item.getName() + ">";
- actualStateString = "** UNRESOLVED " + item.toHumanReadableString() + " **";
- }
- else
- {
- dependency = iDependOn.toString();
- ControllerContext other = controller.getContext(iDependOn, null);
- if (other == null)
- actualStateString = "** NOT FOUND " + item.toHumanReadableString() + " **";
- else
- {
- actualState = other.getState();
- actualStateString = actualState.getStateString();
- if (actualState != null && actualState.equals(ControllerState.ERROR) == false)
- {
- ControllerState dependentState = item.getDependentState();
- if (dependentState == null)
- dependentState = ControllerState.INSTALLED;
-
- int dependentIndex = states.indexOf(dependentState);
- int actualIndex = states.indexOf(actualState);
- if (actualIndex >= dependentIndex)
- includeDependency = false;
- }
- }
- }
-
- if (includeDependency)
- {
- ControllerState requiredState = item.getWhenRequired();
- String requiredStateString = requiredState.getStateString();
- int required = states.indexOf(requiredState);
- int actual = actualState == null ? -1 : states.indexOf(actualState);
- if (required > actual)
- {
- MissingDependency missing = new MissingDependency(name, dependency, requiredStateString, actualStateString);
- dependencies.add(missing);
- }
- }
- }
- }
- }
- contextsMissingDependencies.put(name, dependencies);
- }
- }
-
- public void checkComplete(DeploymentContext... contexts) throws DeploymentException
- {
- checkComplete(true, contexts);
- }
-
- public void checkStructureComplete(DeploymentContext... contexts) throws DeploymentException
- {
- checkComplete(false, contexts);
- }
-
- /**
- * Check if deployments are complete.
- *
- * @param contexts the deployment contexts
- * @param checkContexts do we check contexts
- * @throws DeploymentException throw error if deployment is incomplete
- */
- protected void checkComplete(boolean checkContexts, DeploymentContext... contexts) throws DeploymentException
- {
- if (contexts == null)
- throw new IllegalArgumentException("Null contexts");
-
- Map<String, Throwable> deploymentsInError = new HashMap<String, Throwable>();
- Collection<String> deploymentsMissingDeployer = new HashSet<String>();
- Map<String, Throwable> contextsInError = new HashMap<String, Throwable>();
- Map<String, Set<MissingDependency>> contextsMissingDependencies = new HashMap<String, Set<MissingDependency>>();
-
- for(DeploymentContext context : contexts)
- {
- Throwable problem = context.getProblem();
- if (problem != null)
- deploymentsInError.put(context.getName(), problem);
-
- if (isDeployed(context) == false)
- deploymentsMissingDeployer.add(context.getName());
-
- if (checkContexts)
- {
- Set<ControllerContext> notInstalled = controller.getNotInstalled();
- List<ControllerState> states = controller.getStates();
- checkComplete(context, contextsInError, contextsMissingDependencies, notInstalled, states);
- }
- }
-
- // reset if not used
- if (deploymentsInError.isEmpty())
- deploymentsInError = null;
- if (deploymentsMissingDeployer.isEmpty())
- deploymentsMissingDeployer = null;
- if (contextsInError.isEmpty())
- contextsInError = null;
- if (contextsMissingDependencies.isEmpty())
- contextsMissingDependencies = null;
-
- IncompleteDeployments incomplete = new IncompleteDeployments(deploymentsInError, deploymentsMissingDeployer, contextsInError, contextsMissingDependencies);
- if (incomplete.isIncomplete())
- throw new IncompleteDeploymentException(incomplete);
- }
-
- /**
- * Is context deployed.
- *
- * @param context the deployment context
- * @return true if context deployed, false otherwise
- */
- protected boolean isDeployed(DeploymentContext context)
- {
- return context.isDeployed() || DeploymentState.DEPLOYED.equals(context.getState());
- }
-
- /**
- * Check complete on deployment context.
- *
- * @param context the deployment context
- * @param contextsInError contexts in error map
- * @param contextsMissingDependencies contexts missing dependecies map
- * @param notInstalled the not installed contexts
- * @param states controller states
- */
- protected final void checkComplete(
- DeploymentContext context,
- Map<String, Throwable> contextsInError,
- Map<String, Set<MissingDependency>> contextsMissingDependencies,
- Set<ControllerContext> notInstalled,
- List<ControllerState> states)
- {
- DeploymentControllerContext dcc = context.getTransientAttachments().getAttachment(ControllerContext.class.getName(), DeploymentControllerContext.class);
- checkControllerContext(dcc, contextsInError, contextsMissingDependencies, notInstalled, states);
-
- Set<Object> names = context.getControllerContextNames();
- if (names != null && names.isEmpty() == false)
- {
- for(Object name : names)
- {
- ControllerContext cc = controller.getContext(name, null);
- checkControllerContext(cc, contextsInError, contextsMissingDependencies, notInstalled, states);
- }
- }
-
- List<DeploymentContext> children = context.getChildren();
- if (children != null && children.isEmpty() == false)
- {
- for(DeploymentContext child : children)
- checkComplete(child, contextsInError, contextsMissingDependencies, notInstalled, states);
- }
-
- List<DeploymentContext> components = context.getComponents();
- if (components != null && components.isEmpty() == false)
- {
- for(DeploymentContext component : components)
- checkComplete(component, contextsInError, contextsMissingDependencies, notInstalled, states);
- }
- }
-
- /**
- * Check complete on deployment context.
- *
- * @param context the deployment context
- * @param contextsInError contexts in error map
- * @param contextsMissingDependencies contexts missing dependecies map
- * @param notInstalled the not installed contexts
- * @param states controller states
- */
- protected void checkControllerContext(
- ControllerContext context,
- Map<String, Throwable> contextsInError,
- Map<String, Set<MissingDependency>> contextsMissingDependencies,
- Set<ControllerContext> notInstalled,
- List<ControllerState> states)
- {
- if (context != null)
- {
- if (context.getState().equals(context.getRequiredState()) == false && notInstalled.contains(context))
- {
- checkControllerContext(context, contextsInError, contextsMissingDependencies, states);
- }
- }
- }
-
- public void install(ControllerContext context, ControllerState fromState, ControllerState toState) throws Throwable
- {
- DeploymentControllerContext deploymentControllerContext = (DeploymentControllerContext) context;
- String stageName = toState.getStateString();
-
- DeploymentContext deploymentContext = deploymentControllerContext.getDeploymentContext();
- try
- {
- List<Deployer> theDeployers = getDeployersList(stageName);
-
- if (log.isTraceEnabled())
- log.trace("Deployers for " + stageName + " " + theDeployers);
-
- if (theDeployers.isEmpty() == false)
- {
- int i = 0;
- try
- {
- while (i < theDeployers.size())
- {
- Deployer deployer = theDeployers.get(i);
- if (deployer.isParentFirst())
- doInstallParentFirst(deployer, deploymentContext);
- else
- doInstallParentLast(deployer, deploymentContext);
- ++i;
- }
- }
- catch (Throwable t)
- {
- deploymentContext.setState(DeploymentState.ERROR);
- deploymentContext.setProblem(t);
-
- // Unwind the previous deployments
- for (int j = i-1; j >= 0; --j)
- {
- Deployer deployer = theDeployers.get(j);
- if (deployer.isParentFirst())
- doUninstallParentLast(deployer, deploymentContext, true, true);
- else
- doUninstallParentFirst(deployer, deploymentContext, true, true);
- }
-
- // It can happen that subdeployments are not processed if the parent fails immediately
- // so there is no callback to undeploy when nothing was done
- setState(deploymentContext, DeploymentState.UNDEPLOYED, DeploymentState.DEPLOYING);
- throw t;
- }
- }
- }
- finally
- {
- if (ControllerState.INSTALLED.equals(toState) && DeploymentState.DEPLOYING.equals(deploymentContext.getState()))
- {
- log.debug("Fully Deployed " + context.getName());
- setState(deploymentContext, DeploymentState.DEPLOYED, null);
- }
- }
- }
-
- /**
- * Do the install parent first
- *
- * @param deployer the deployer
- * @param context the context
- * @throws Throwable for any problem
- */
- protected void doInstallParentFirst(Deployer deployer, DeploymentContext context) throws Throwable
- {
- List<DeploymentContext> currentComponents = context.getComponents();
- // Take a copy of the components so we don't start looping on newly added components
- // in the component deployers
- List<DeploymentContext> components = null;
- if (currentComponents != null && currentComponents.isEmpty() == false)
- components = new ArrayList<DeploymentContext>(currentComponents);
-
- DeploymentUnit unit = context.getDeploymentUnit();
- if (isRelevant(deployer, unit, context.isTopLevel(), context.isComponent()))
- {
- try
- {
- deployer.deploy(unit);
- }
- catch (DeploymentException e)
- {
- context.setState(DeploymentState.ERROR);
- context.setProblem(e);
- throw e;
- }
- }
- else if (log.isTraceEnabled())
- log.trace("Deployer " + deployer + " not relevant for " + context.getName());
-
- if (components != null)
- {
- try
- {
- for (int i = 0; i < components.size(); ++i)
- {
- DeploymentContext component = components.get(i);
- try
- {
- doInstallParentFirst(deployer, component);
- }
- catch (DeploymentException e)
- {
- // Unwind the previous components
- for (int j = i - 1; j >= 0; --j)
- {
- component = components.get(j);
- doUninstallParentLast(deployer, component, false, true);
- }
- throw e;
- }
- }
- }
- catch (DeploymentException e)
- {
- // Just undeploy this context
- doUninstallParentLast(deployer, context, false, false);
- throw e;
- }
- }
-
- List<DeploymentContext> children = context.getChildren();
- if (children != null)
- {
- try
- {
- for (int i = 0; i < children.size(); ++i)
- {
- DeploymentContext child = children.get(i);
- try
- {
- doInstallParentFirst(deployer, child);
- }
- catch (DeploymentException e)
- {
- // Unwind the previous children
- for (int j = i - 1; j >= 0; --j)
- {
- child = children.get(j);
- doUninstallParentLast(deployer, child, true, true);
- }
- throw e;
- }
- }
- }
- catch (DeploymentException e)
- {
- // Undeploy the context but the children are already unwound
- doUninstallParentLast(deployer, context, false, true);
- throw e;
- }
- }
- }
-
- /**
- * Do the install parent last
- *
- * @param deployer the deployer
- * @param context the context
- * @throws Throwable for any problem
- */
- protected void doInstallParentLast(Deployer deployer, DeploymentContext context) throws Throwable
- {
- List<DeploymentContext> children = context.getChildren();
- for (int i = 0; i < children.size(); ++i)
- {
- DeploymentContext child = children.get(i);
- try
- {
- doInstallParentLast(deployer, child);
- }
- catch (DeploymentException e)
- {
- // Unwind the previous children
- for (int j = i - 1; j >= 0; --j)
- {
- child = children.get(j);
- doUninstallParentFirst(deployer, child, true, true);
- }
- throw e;
- }
- }
-
- List<DeploymentContext> components = context.getComponents();
- if (components != null)
- {
- try
- {
- for (int i = 0; i < components.size(); ++i)
- {
- DeploymentContext component = components.get(i);
- try
- {
- doInstallParentLast(deployer, component);
- }
- catch (DeploymentException e)
- {
- // Unwind the previous components
- for (int j = i - 1; j >= 0; --j)
- {
- component = components.get(j);
- doUninstallParentFirst(deployer, component, true, true);
- }
- throw e;
- }
- }
- }
- catch (DeploymentException e)
- {
- // Just undeploy the children, the components are already unwound
- doUninstallParentFirst(deployer, context, false, false);
- throw e;
- }
- }
-
- DeploymentUnit unit = context.getDeploymentUnit();
- if (isRelevant(deployer, unit, context.isTopLevel(), context.isComponent()))
- {
- try
- {
- deployer.deploy(unit);
- }
- catch (DeploymentException e)
- {
- // Undeploy the children and components
- doUninstallParentFirst(deployer, context, false, true);
- context.setState(DeploymentState.ERROR);
- context.setProblem(e);
- throw e;
- }
- }
- else if (log.isTraceEnabled())
- log.trace("Deployer " + deployer + " not relevant for " + context.getName());
- }
-
- public void uninstall(ControllerContext context, ControllerState fromState, ControllerState toState)
- {
- DeploymentControllerContext deploymentControllerContext = (DeploymentControllerContext) context;
- String stageName = fromState.getStateString();
-
- DeploymentContext deploymentContext = deploymentControllerContext.getDeploymentContext();
- List<Deployer> theDeployers = getDeployersList(stageName);
-
- if (log.isTraceEnabled())
- log.trace("Deployers for " + stageName + " " + theDeployers);
-
- if (theDeployers.isEmpty() == false)
- {
- for (int i = theDeployers.size()-1; i >= 0; --i)
- {
- Deployer deployer = theDeployers.get(i);
- if (deployer.isParentFirst())
- doUninstallParentLast(deployer, deploymentContext, true, true);
- else
- doUninstallParentFirst(deployer, deploymentContext, true, true);
- }
- }
- }
-
- /**
- * Do the uninstall parent last
- *
- * @param deployer the deployer
- * @param context the context
- * @param doChildren whether to do children
- * @param doComponents whether to do components
- */
- protected void doUninstallParentLast(Deployer deployer, DeploymentContext context, boolean doChildren, boolean doComponents)
- {
- if (doChildren)
- {
- List<DeploymentContext> children = context.getChildren();
- if (children != null && children.isEmpty() == false)
- {
- for (int i = children.size()-1; i >= 0; --i)
- {
- DeploymentContext child = children.get(i);
- doUninstallParentLast(deployer, child, true, true);
- }
- }
- }
-
- if (doComponents)
- {
- List<DeploymentContext> components = context.getComponents();
- if (components != null && components.isEmpty() == false)
- {
- for (int i = components.size()-1; i >= 0; --i)
- {
- DeploymentContext component = components.get(i);
- doUninstallParentLast(deployer, component, false, true);
- }
- }
- }
-
- DeploymentUnit unit = context.getDeploymentUnit();
- if (isRelevant(deployer, unit, context.isTopLevel(), context.isComponent()))
- deployer.undeploy(unit);
- else if (log.isTraceEnabled())
- log.trace("Deployer " + deployer + " not relevant for " + context.getName());
- }
-
- /**
- * Do the uninstall parent first
- *
- * @param deployer the deployer
- * @param context the context
- * @param doContext whether to do context
- * @param doComponents whether to do components
- */
- protected void doUninstallParentFirst(Deployer deployer, DeploymentContext context, boolean doContext, boolean doComponents)
- {
- if (doContext)
- {
- DeploymentUnit unit = context.getDeploymentUnit();
- if (isRelevant(deployer, unit, context.isTopLevel(), context.isComponent()))
- deployer.undeploy(unit);
- else if (log.isTraceEnabled())
- log.trace("Deployer " + deployer + " not relevant for " + context.getName());
- }
-
- if (doComponents)
- {
- List<DeploymentContext> components = context.getComponents();
- if (components != null && components.isEmpty() == false)
- {
- for (int i = components.size()-1; i >= 0; --i)
- {
- DeploymentContext component = components.get(i);
- doUninstallParentFirst(deployer, component, true, true);
- }
- }
- }
-
- List<DeploymentContext> children = context.getChildren();
- if (children != null && children.isEmpty() == false)
- {
- for (int i = children.size()-1; i >= 0; --i)
- {
- DeploymentContext child = children.get(i);
- doUninstallParentFirst(deployer, child, true, true);
- }
- }
- }
-
- /**
- * Build a list of deployers for this stage
- *
- * @param stageName the stage name
- * @return the deployers
- */
- protected synchronized List<Deployer> getDeployersList(String stageName)
- {
- List<Deployer> deployers = deployersByStage.get(stageName);
- if (deployers == null || deployers.isEmpty())
- return Collections.emptyList();
-
- return deployers;
- }
-
- /**
- * Test whether a deployer is relevant
- *
- * @param deployer deployer
- * @param unit the deployment unit
- * @param isTopLevel whether this is a top level deployment
- * @param isComponent whether this is a component
- * @return the deployers
- */
- protected boolean isRelevant(Deployer deployer, DeploymentUnit unit, boolean isTopLevel, boolean isComponent)
- {
- // Deployer only wants top level
- if (deployer.isTopLevelOnly() && isTopLevel == false)
- return false;
-
- // Deployer only wants components
- if (deployer.isComponentsOnly() && isComponent == false)
- return false;
-
- // Deployer doesn't wants components
- if (deployer.isWantComponents() == false && isComponent)
- return false;
-
- if (deployer.isAllInputs() == false)
- {
- // No attachment for the input type
- Class<?> input = deployer.getInput();
- if (input != null && unit.getAttachment(input) == null)
- return false;
- }
- return true;
- }
-
- /**
- * Insert the new Deployer.
- *
- * @param original the original deployers
- * @param newDeployer the new deployer
- * @return the sorted deployers
- */
- protected List<Deployer> insert(List<Deployer> original, Deployer newDeployer)
- {
- DeployerSorter sorter = DeployerSorterFactory.newSorter();
- return sorter.sortDeployers(original, newDeployer);
- }
-
- /**
- * Set the deployment state for a context and its children
- *
- * @param context the context
- * @param state the state
- * @param ifState the ifState
- */
- private static void setState(DeploymentContext context, DeploymentState state, DeploymentState ifState)
- {
- if (ifState == null || ifState.equals(context.getState()))
- context.setState(state);
- List<DeploymentContext> children = context.getChildren();
- if (children != null && children.isEmpty() == false)
- {
- for (DeploymentContext child : children)
- setState(child, state, ifState);
- }
- }
-
- /**
- * Remove a classloader for a context and its children
- *
- * @param context the context
- */
- private static void removeClassLoader(DeploymentContext context)
- {
- context.removeClassLoader();
- List<DeploymentContext> children = context.getChildren();
- if (children != null && children.isEmpty() == false)
- {
- for (DeploymentContext child : children)
- removeClassLoader(child);
- }
- }
-
- /**
- * Cleanup the deployment context
- *
- * @param context the context
- */
- private static void cleanup(DeploymentContext context)
- {
- context.cleanup();
- List<DeploymentContext> children = context.getChildren();
- if (children != null && children.isEmpty() == false)
- {
- for (DeploymentContext child : children)
- cleanup(child);
- }
- List<DeploymentContext> components = context.getComponents();
- if (components != null && components.isEmpty() == false)
- {
- for (DeploymentContext component : components)
- cleanup(component);
- }
- }
-}
Copied: projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/main/org/jboss/deployers/plugins/deployers/DeployersImpl.java (from rev 71816, projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/deployers/DeployersImpl.java)
===================================================================
--- projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/main/org/jboss/deployers/plugins/deployers/DeployersImpl.java (rev 0)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/main/org/jboss/deployers/plugins/deployers/DeployersImpl.java 2008-04-10 08:54:28 UTC (rev 71888)
@@ -0,0 +1,1354 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2007, 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.plugins.deployers;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import org.jboss.dependency.spi.Controller;
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ControllerContextActions;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.dependency.spi.ControllerStateModel;
+import org.jboss.dependency.spi.DependencyInfo;
+import org.jboss.dependency.spi.DependencyItem;
+import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.client.spi.IncompleteDeploymentException;
+import org.jboss.deployers.client.spi.IncompleteDeployments;
+import org.jboss.deployers.client.spi.MissingDependency;
+import org.jboss.deployers.plugins.sort.DeployerSorter;
+import org.jboss.deployers.plugins.sort.DeployerSorterFactory;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.DeploymentState;
+import org.jboss.deployers.spi.deployer.Deployer;
+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.ManagedObjectCreator;
+import org.jboss.deployers.structure.spi.DeploymentContext;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.structure.spi.scope.ScopeBuilder;
+import org.jboss.kernel.spi.dependency.KernelController;
+import org.jboss.logging.Logger;
+import org.jboss.managed.api.ManagedObject;
+import org.jboss.metadata.spi.repository.MutableMetaDataRepository;
+
+/**
+ * DeployersImpl.
+ *
+ * @author <a href="adrian at jboss.org">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
+ * @version $Revision: 1.1 $
+ */
+public class DeployersImpl implements Deployers, ControllerContextActions
+{
+ /**
+ * The log
+ */
+ private static final Logger log = Logger.getLogger(DeployersImpl.class);
+
+ /**
+ * Whether we are shutdown
+ */
+ private AtomicBoolean shutdown = new AtomicBoolean(false);
+
+ /**
+ * The dependency state machine
+ */
+ private Controller controller;
+
+ /**
+ * The repository
+ */
+ private MutableMetaDataRepository repository;
+
+ /**
+ * The deployment stages by name
+ */
+ private Map<String, DeploymentStage> stages = new ConcurrentHashMap<String, DeploymentStage>();
+
+ /**
+ * The deployers
+ */
+ private Set<DeployerWrapper> deployers = new HashSet<DeployerWrapper>();
+
+ /**
+ * The deployers by stage and type
+ */
+ private Map<String, List<Deployer>> deployersByStage = new HashMap<String, List<Deployer>>();
+
+ /**
+ * The scope builder
+ */
+ private ScopeBuilder scopeBuilder;
+
+ /**
+ * Create a new DeployersImpl.
+ *
+ * @param controller the controller
+ * @throws IllegalArgumentException for a null controller
+ */
+ public DeployersImpl(Controller controller)
+ {
+ this(controller, null);
+ }
+
+ /**
+ * Create a new DeployersImpl.
+ *
+ * @param controller the controller
+ * @param deployers the deployers
+ * @throws IllegalArgumentException for a null controller
+ */
+ public DeployersImpl(Controller controller, Set<Deployer> deployers)
+ {
+ if (controller == null)
+ throw new IllegalArgumentException("Null controller");
+ this.controller = controller;
+
+ // Add the standard stages
+ addDeploymentStage(DeploymentStages.NOT_INSTALLED);
+ addDeploymentStage(DeploymentStages.PARSE);
+ addDeploymentStage(DeploymentStages.POST_PARSE);
+ addDeploymentStage(DeploymentStages.PRE_DESCRIBE);
+ addDeploymentStage(DeploymentStages.DESCRIBE);
+ addDeploymentStage(DeploymentStages.CLASSLOADER);
+ addDeploymentStage(DeploymentStages.POST_CLASSLOADER);
+ addDeploymentStage(DeploymentStages.PRE_REAL);
+ addDeploymentStage(DeploymentStages.REAL);
+ addDeploymentStage(DeploymentStages.INSTALLED);
+
+ // Create the deployers
+ if (deployers != null)
+ setDeployers(deployers);
+ }
+
+ public void shutdown()
+ {
+ shutdown.set(true);
+ }
+
+ /**
+ * Check whether we are shutdown
+ */
+ protected void checkShutdown()
+ {
+ if (shutdown.get())
+ throw new IllegalStateException("Deployers are shutdown");
+ }
+
+ /**
+ * Get the deployers.
+ *
+ * @return the deployers.
+ */
+ public Set<DeployerWrapper> getDeployerWrappers()
+ {
+ return deployers;
+ }
+
+ /**
+ * Set the deployers.
+ *
+ * @param deployers the deployers.
+ * @throws IllegalArgumentException for null deployers
+ */
+ public void setDeployers(Set<Deployer> deployers)
+ {
+ if (deployers == null)
+ throw new IllegalArgumentException("Null deployers");
+
+ // Remove all the old deployers that are not in the new set
+ HashSet<Deployer> oldDeployers = new HashSet<Deployer>(this.deployers);
+ oldDeployers.removeAll(deployers);
+ for (Deployer deployer : oldDeployers)
+ removeDeployer(deployer);
+
+ // Add all the new deployers that were not already present
+ HashSet<Deployer> newDeployers = new HashSet<Deployer>(deployers);
+ newDeployers.removeAll(this.deployers);
+ for (Deployer deployer : newDeployers)
+ addDeployer(deployer);
+ }
+
+ /**
+ * Add a deployer
+ *
+ * @param deployer the deployer
+ */
+ public synchronized void addDeployer(Deployer deployer)
+ {
+ if (deployer == null)
+ throw new IllegalArgumentException("Null deployer");
+
+ DeploymentStage stage = deployer.getStage();
+ if (stage == null)
+ throw new IllegalArgumentException("Deployer has no stage: " + deployer);
+
+ addDeploymentStage(stage);
+
+ DeployerWrapper wrapper = new DeployerWrapper(deployer);
+
+ // Ignore duplicates
+ if (deployers.contains(wrapper))
+ return;
+
+ String stageName = stage.getName();
+ List<Deployer> deployers = deployersByStage.get(stageName);
+ if (deployers == null)
+ deployers = Collections.emptyList();
+ deployers = insert(deployers, wrapper);
+ deployersByStage.put(stageName, deployers);
+
+ this.deployers.add(wrapper);
+
+ StringBuilder builder = new StringBuilder();
+ builder.append("Added deployer ").append(deployer).append(" for stage ").append(stageName).append('\n');
+ for (Deployer temp : getDeployersList(stageName))
+ {
+ builder.append(temp);
+ builder.append("{inputs=").append(temp.getInputs());
+ builder.append(" outputs=").append(temp.getOutputs());
+ builder.append("}\n");
+ }
+ log.debug(builder);
+ }
+
+ /**
+ * Remove a deployer
+ *
+ * @param deployer the deployer
+ */
+ public synchronized void removeDeployer(Deployer deployer)
+ {
+ if (deployer == null)
+ throw new IllegalArgumentException("Null deployer");
+ deployers.remove(new DeployerWrapper(deployer));
+
+ DeploymentStage stage = deployer.getStage();
+ if (stage == null)
+ {
+ log.warn("Deployer has no stage: " + deployer);
+ return;
+ }
+
+ String stageName = stage.getName();
+ List<Deployer> deployers = deployersByStage.get(stageName);
+ if (deployers == null)
+ return;
+
+ deployers.remove(deployer);
+ if (deployers.isEmpty())
+ deployersByStage.remove(stageName);
+
+ log.debug("Removed deployer " + deployer + " from stage " + stageName);
+ }
+
+ /**
+ * Add a deployment stage
+ *
+ * @param stage the deployment stage
+ */
+ protected synchronized void addDeploymentStage(DeploymentStage stage)
+ {
+ if (stage == null)
+ throw new IllegalArgumentException("Null stage");
+
+ // Already done?
+ String stageName = stage.getName();
+ if (stages.containsKey(stageName))
+ return;
+
+ ControllerState preceeds = null;
+ String before = stage.getBefore();
+ String after = stage.getAfter();
+ if (before != null || after != null)
+ {
+ // Determine where to put the stage
+ ControllerStateModel states = controller.getStates();
+ for (ControllerState state : states)
+ {
+ String stateName = state.getStateString();
+ if (before != null && before.equals(stateName))
+ {
+ preceeds = state;
+ break;
+ }
+ if (after != null && after.equals(stateName))
+ {
+ if (states.getNextState(state) != null)
+ {
+ preceeds = states.getNextState(state);
+ break;
+ }
+ }
+ }
+ }
+
+ controller.addState(new ControllerState(stageName), preceeds);
+ stages.put(stageName, stage);
+ log.debug("Added stage " + stageName + " before " + preceeds);
+ }
+
+ /**
+ * Get the scopeBuilder.
+ *
+ * @return the scopeBuilder.
+ */
+ public ScopeBuilder getScopeBuilder()
+ {
+ return scopeBuilder;
+ }
+
+ /**
+ * Set the scopeBuilder.
+ *
+ * @param scopeBuilder the scopeBuilder.
+ */
+ public void setScopeBuilder(ScopeBuilder scopeBuilder)
+ {
+ this.scopeBuilder = scopeBuilder;
+ }
+
+ /**
+ * Get the repository.
+ *
+ * @return the repository.
+ */
+ public MutableMetaDataRepository getRepository()
+ {
+ return repository;
+ }
+
+ /**
+ * Set the repository.
+ *
+ * @param repository the repository.
+ */
+ public void setRepository(MutableMetaDataRepository repository)
+ {
+ this.repository = repository;
+ }
+
+ public void start()
+ {
+ // Bootstrap the repository
+ if (repository == null && controller instanceof KernelController)
+ {
+ KernelController kernelController = (KernelController)controller;
+ repository = kernelController.getKernel().getMetaDataRepository().getMetaDataRepository();
+ }
+ }
+
+ public Map<String, ManagedObject> getManagedObjects(DeploymentContext context) throws DeploymentException
+ {
+ if (context == null)
+ throw new IllegalArgumentException("Null context");
+
+ checkShutdown();
+
+ Map<String, ManagedObject> managedObjects = new HashMap<String, ManagedObject>();
+ for (DeployerWrapper deployer : deployers)
+ deployer.build(context.getDeploymentUnit(), managedObjects);
+
+ return managedObjects;
+ }
+
+ /**
+ * Get the ManagedObjectBuilder for a deployer.
+ *
+ * @param deployer - the deployer to set the ManagedObjectBuilder for.
+ * @return managedObjectBuilder for deployer, may be null
+ * @throws IllegalArgumentException for a null deployer
+ */
+ public ManagedObjectCreator getDeployerManagedObjectBuilder(Deployer deployer)
+ {
+ if (deployer == null)
+ throw new IllegalArgumentException("Null deployer");
+
+ ManagedObjectCreator result = null;
+ for (DeployerWrapper wrapper : deployers)
+ {
+ if (wrapper.equals(deployer))
+ result = wrapper.getManagedObjectCreator();
+ }
+ return result;
+ }
+
+ /**
+ * Set the ManagedObjectBuilder for a deployer. This allows one to override the given deployer
+ * ManagedObjectBuilder or assign one when the deployer does not provide a ManagedObjectBuilder.
+ *
+ * @param deployer - the deployer to set the ManagedObjectBuilder for.
+ * @param managedObjectCreator the managed object builder to set to the deployer
+ * @throws IllegalArgumentException for a null deployer
+ */
+ public void setDeployerManagedObjectBuilder(Deployer deployer, ManagedObjectCreator managedObjectCreator)
+ {
+ if (deployer == null)
+ throw new IllegalArgumentException("Null deployer");
+
+ for (DeployerWrapper wrapper : deployers)
+ {
+ if (wrapper.equals(deployer))
+ wrapper.setManagedObjectCreator(managedObjectCreator);
+ }
+ }
+
+ public DeploymentStage getDeploymentStage(DeploymentContext context) throws DeploymentException
+ {
+ DeploymentControllerContext deploymentControllerContext = context.getTransientAttachments().getAttachment(ControllerContext.class.getName(), DeploymentControllerContext.class);
+ if (deploymentControllerContext == null)
+ return null;
+ ControllerState state = deploymentControllerContext.getState();
+ if (ControllerState.ERROR.equals(state))
+ return DeploymentStages.NOT_INSTALLED;
+ return new DeploymentStage(state.getStateString());
+ }
+
+ public void change(DeploymentContext context, DeploymentStage stage) throws DeploymentException
+ {
+ if (context == null)
+ throw new DeploymentException("Null context");
+ if (stage == null)
+ throw new DeploymentException("Null stage");
+
+ String stageName = stage.getName();
+ if (stages.containsKey(stage.getName()) == false)
+ throw new DeploymentException("Unknown deployment stage: " + stage);
+
+ DeploymentControllerContext deploymentControllerContext = context.getTransientAttachments().getAttachment(ControllerContext.class.getName(), DeploymentControllerContext.class);
+ if (deploymentControllerContext == null)
+ throw new DeploymentException("Deployment " + context.getName() + " has no deployment controller context");
+
+ checkShutdown();
+
+ ControllerState state = new ControllerState(stageName);
+ try
+ {
+ controller.change(deploymentControllerContext, state);
+ }
+ catch (Throwable t)
+ {
+ context.setState(DeploymentState.ERROR);
+ context.setProblem(t);
+ }
+ Throwable problem = context.getProblem();
+ if (problem != null)
+ throw DeploymentException.rethrowAsDeploymentException("Error changing to stage " + stage + " for " + context.getName(), problem);
+ }
+
+ public void process(List<DeploymentContext> deploy, List<DeploymentContext> undeploy)
+ {
+ boolean trace = log.isTraceEnabled();
+
+ // There is something to undeploy
+ if (undeploy != null && undeploy.isEmpty() == false)
+ {
+ // Build a list in reverse order
+ List<DeploymentControllerContext> toUndeploy = new ArrayList<DeploymentControllerContext>();
+ for (int i = undeploy.size() - 1; i >= 0; --i)
+ {
+ DeploymentContext context = undeploy.get(i);
+ if (DeploymentState.ERROR.equals(context.getState()) == false)
+ context.setState(DeploymentState.UNDEPLOYING);
+ log.debug("Undeploying " + context.getName());
+ DeploymentControllerContext deploymentControllerContext = context.getTransientAttachments().getAttachment(ControllerContext.class.getName(), DeploymentControllerContext.class);
+ if (deploymentControllerContext == null)
+ {
+ log.debug("DeploymentContext has no DeploymentControllerContext during undeploy request, ignoring: " + context);
+ }
+ else
+ {
+ toUndeploy.add(deploymentControllerContext);
+ }
+ }
+
+ // Go through the states in reverse order
+ ControllerStateModel states = controller.getStates();
+ ListIterator<ControllerState> iter = states.listIteraror();
+ while (iter.hasPrevious())
+ {
+ ControllerState state = iter.previous();
+ for (DeploymentControllerContext deploymentControllerContext : toUndeploy)
+ {
+ ControllerState current = deploymentControllerContext.getState();
+ if (ControllerState.ERROR.equals(current) == false && states.isAfterState(current, state))
+ {
+ DeploymentContext context = deploymentControllerContext.getDeploymentContext();
+ try
+ {
+ controller.change(deploymentControllerContext, state);
+ }
+ catch (Throwable t)
+ {
+ log.warn("Error during undeploy", t);
+ context.setState(DeploymentState.ERROR);
+ context.setProblem(t);
+ }
+ }
+ else
+ {
+ if (trace)
+ log.trace("Not moving " + deploymentControllerContext + " to state " + state + " it is at " + current);
+ }
+ }
+ }
+
+ // Uninstall the contexts
+ for (DeploymentControllerContext deploymentControllerContext : toUndeploy)
+ {
+ DeploymentContext context = deploymentControllerContext.getDeploymentContext();
+ context.getTransientAttachments().removeAttachment(ControllerContext.class);
+ try
+ {
+ controller.uninstall(deploymentControllerContext.getName());
+ setState(context, DeploymentState.UNDEPLOYED, null);
+ // This is now in the abstract classloader deployer.undeploy,
+ // but left here in case somebody isn't using that.
+ removeClassLoader(context);
+ cleanup(context);
+ log.debug("Fully Undeployed " + context.getName());
+ }
+ catch (Throwable t)
+ {
+ log.warn("Error during uninstall", t);
+ context.setState(DeploymentState.ERROR);
+ context.setProblem(t);
+ }
+ }
+ }
+
+ // There is something to deploy
+ if (deploy != null && deploy.isEmpty() == false)
+ {
+ // Create the controller contexts
+ for (DeploymentContext context : deploy)
+ {
+ checkShutdown();
+
+ DeploymentControllerContext deploymentControllerContext = new DeploymentControllerContext(context, this);
+ try
+ {
+ controller.install(deploymentControllerContext);
+ context.setState(DeploymentState.DEPLOYING);
+ log.debug("Deploying " + context.getName());
+ context.getTransientAttachments().addAttachment(ControllerContext.class, deploymentControllerContext);
+ if (scopeBuilder != null)
+ context.getTransientAttachments().addAttachment(ScopeBuilder.class, scopeBuilder);
+ if (repository != null)
+ context.getTransientAttachments().addAttachment(MutableMetaDataRepository.class, repository);
+ }
+ catch (Throwable t)
+ {
+ // Set the error on the parent
+ context.setState(DeploymentState.ERROR);
+ context.setProblem(t);
+ // Set the children to not deployed
+ setState(context, DeploymentState.UNDEPLOYED, DeploymentState.DEPLOYING);
+ }
+ }
+
+ // Go through the states in order
+ ControllerStateModel states = controller.getStates();
+ for (ControllerState state : states)
+ {
+ for (DeploymentContext context : deploy)
+ {
+ DeploymentControllerContext deploymentControllerContext = context.getTransientAttachments().getAttachment(ControllerContext.class.getName(), DeploymentControllerContext.class);
+ ControllerState current = deploymentControllerContext.getState();
+ if (ControllerState.ERROR.equals(current) == false && states.isBeforeState(current, state))
+ {
+ checkShutdown();
+ try
+ {
+ controller.change(deploymentControllerContext, state);
+ }
+ catch (Throwable t)
+ {
+ context.setState(DeploymentState.ERROR);
+ context.setProblem(t);
+ }
+ }
+ else
+ {
+ if (trace)
+ log.trace("Not moving " + deploymentControllerContext + " to state " + state + " it is at " + current);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Get the root cause of a throwable
+ *
+ * @param original the original
+ * @return the root
+ */
+ private static Throwable getRootCause(Throwable original)
+ {
+ if (original == null)
+ return null;
+ Throwable result = original;
+ Throwable cause = result.getCause();
+ while (cause != null)
+ {
+ result = cause;
+ cause = cause.getCause();
+ }
+ return result;
+ }
+
+ public void checkComplete(Collection<DeploymentContext> errors, Collection<Deployment> missingDeployer) throws DeploymentException
+ {
+ Map<String, Throwable> deploymentsInError = null;
+ Collection<String> deploymentsMissingDeployer = null;
+ Map<String, Throwable> contextsInError = null;
+ Map<String, Set<MissingDependency>> contextsMissingDependencies = null;
+
+ if (errors != null && errors.isEmpty() == false)
+ {
+ deploymentsInError = new HashMap<String, Throwable>();
+ for (DeploymentContext context : errors)
+ deploymentsInError.put(context.getName(), getRootCause(context.getProblem()));
+ }
+
+ if (missingDeployer != null && missingDeployer.isEmpty() == false)
+ {
+ deploymentsMissingDeployer = new HashSet<String>();
+ for (Deployment context : missingDeployer)
+ deploymentsMissingDeployer.add(context.getName());
+ }
+
+ Set<ControllerContext> notInstalled = controller.getNotInstalled();
+ if (notInstalled.isEmpty() == false)
+ {
+ for (Iterator<ControllerContext> i = notInstalled.iterator(); i.hasNext();)
+ {
+ ControllerContext context = i.next();
+ if (context.getState().equals(context.getRequiredState()))
+ i.remove();
+ }
+ if (notInstalled.isEmpty() == false)
+ {
+ ControllerStateModel states = controller.getStates();
+ contextsInError = new HashMap<String, Throwable>();
+ contextsMissingDependencies = new HashMap<String, Set<MissingDependency>>();
+ for (ControllerContext context : notInstalled)
+ {
+ checkControllerContext(context, contextsInError, contextsMissingDependencies, states);
+ }
+ }
+ }
+
+ IncompleteDeployments incomplete = new IncompleteDeployments(deploymentsInError, deploymentsMissingDeployer, contextsInError, contextsMissingDependencies);
+ if (incomplete.isIncomplete())
+ throw new IncompleteDeploymentException(incomplete);
+ }
+
+ /**
+ * Check controller context.
+ *
+ * @param context the controller context
+ * @param contextsInError contexts in error map
+ * @param contextsMissingDependencies contexts missing dependecies map
+ * @param states controller states
+ */
+ protected final void checkControllerContext(
+ ControllerContext context,
+ Map<String, Throwable> contextsInError,
+ Map<String, Set<MissingDependency>> contextsMissingDependencies,
+ ControllerStateModel states)
+ {
+ if (context.getState().equals(ControllerState.ERROR))
+ contextsInError.put(context.getName().toString(), getRootCause(context.getError()));
+ else
+ {
+ Object contextName = context.getName();
+ String name = contextName.toString();
+ Set<MissingDependency> dependencies = new HashSet<MissingDependency>();
+
+ DependencyInfo dependsInfo = context.getDependencyInfo();
+ ControllerState currentState = context.getState();
+ ControllerState nextState = states.getNextState(currentState);
+
+ for (DependencyItem item : dependsInfo.getUnresolvedDependencies(nextState))
+ {
+ if (item.isResolved() == false)
+ {
+ String dependency;
+ ControllerState actualState = null;
+ String actualStateString;
+
+ Object iDependOn = item.getIDependOn();
+ if (contextName.equals(iDependOn) == false && item.resolve(controller) == false)
+ {
+ iDependOn = item.getIDependOn();
+
+ if (iDependOn == null)
+ {
+ dependency = "<UNKNOWN " + item.getName() + ">";
+ actualStateString = "** UNRESOLVED " + item.toHumanReadableString() + " **";
+ }
+ else
+ {
+ dependency = iDependOn.toString();
+ ControllerContext other = controller.getContext(iDependOn, null);
+ if (other == null)
+ actualStateString = "** NOT FOUND " + item.toHumanReadableString() + " **";
+ else
+ {
+ actualState = other.getState();
+ actualStateString = actualState.getStateString();
+ }
+ }
+
+ ControllerState requiredState = item.getWhenRequired();
+ String requiredStateString = requiredState.getStateString();
+ if (actualState == null || states.isAfterState(requiredState, actualState))
+ {
+ MissingDependency missing = new MissingDependency(name, dependency, requiredStateString, actualStateString);
+ dependencies.add(missing);
+ }
+ }
+ }
+ }
+ contextsMissingDependencies.put(name, dependencies);
+ }
+ }
+
+ public void checkComplete(DeploymentContext... contexts) throws DeploymentException
+ {
+ checkComplete(true, contexts);
+ }
+
+ public void checkStructureComplete(DeploymentContext... contexts) throws DeploymentException
+ {
+ checkComplete(false, contexts);
+ }
+
+ /**
+ * Check if deployments are complete.
+ *
+ * @param contexts the deployment contexts
+ * @param checkContexts do we check contexts
+ * @throws DeploymentException throw error if deployment is incomplete
+ */
+ protected void checkComplete(boolean checkContexts, DeploymentContext... contexts) throws DeploymentException
+ {
+ if (contexts == null)
+ throw new IllegalArgumentException("Null contexts");
+
+ Map<String, Throwable> deploymentsInError = new HashMap<String, Throwable>();
+ Collection<String> deploymentsMissingDeployer = new HashSet<String>();
+ Map<String, Throwable> contextsInError = new HashMap<String, Throwable>();
+ Map<String, Set<MissingDependency>> contextsMissingDependencies = new HashMap<String, Set<MissingDependency>>();
+
+ for (DeploymentContext context : contexts)
+ {
+ Throwable problem = context.getProblem();
+ if (problem != null)
+ deploymentsInError.put(context.getName(), problem);
+
+ if (isDeployed(context) == false)
+ deploymentsMissingDeployer.add(context.getName());
+
+ if (checkContexts)
+ {
+ Set<ControllerContext> notInstalled = controller.getNotInstalled();
+ ControllerStateModel states = controller.getStates();
+ checkComplete(context, contextsInError, contextsMissingDependencies, notInstalled, states);
+ }
+ }
+
+ // reset if not used
+ if (deploymentsInError.isEmpty())
+ deploymentsInError = null;
+ if (deploymentsMissingDeployer.isEmpty())
+ deploymentsMissingDeployer = null;
+ if (contextsInError.isEmpty())
+ contextsInError = null;
+ if (contextsMissingDependencies.isEmpty())
+ contextsMissingDependencies = null;
+
+ IncompleteDeployments incomplete = new IncompleteDeployments(deploymentsInError, deploymentsMissingDeployer, contextsInError, contextsMissingDependencies);
+ if (incomplete.isIncomplete())
+ throw new IncompleteDeploymentException(incomplete);
+ }
+
+ /**
+ * Is context deployed.
+ *
+ * @param context the deployment context
+ * @return true if context deployed, false otherwise
+ */
+ protected boolean isDeployed(DeploymentContext context)
+ {
+ return context.isDeployed() || DeploymentState.DEPLOYED.equals(context.getState());
+ }
+
+ /**
+ * Check complete on deployment context.
+ *
+ * @param context the deployment context
+ * @param contextsInError contexts in error map
+ * @param contextsMissingDependencies contexts missing dependecies map
+ * @param notInstalled the not installed contexts
+ * @param states controller states
+ */
+ protected final void checkComplete(
+ DeploymentContext context,
+ Map<String, Throwable> contextsInError,
+ Map<String, Set<MissingDependency>> contextsMissingDependencies,
+ Set<ControllerContext> notInstalled,
+ ControllerStateModel states)
+ {
+ DeploymentControllerContext dcc = context.getTransientAttachments().getAttachment(ControllerContext.class.getName(), DeploymentControllerContext.class);
+ checkControllerContext(dcc, contextsInError, contextsMissingDependencies, notInstalled, states);
+
+ Set<Object> names = context.getControllerContextNames();
+ if (names != null && names.isEmpty() == false)
+ {
+ for (Object name : names)
+ {
+ ControllerContext cc = controller.getContext(name, null);
+ checkControllerContext(cc, contextsInError, contextsMissingDependencies, notInstalled, states);
+ }
+ }
+
+ List<DeploymentContext> children = context.getChildren();
+ if (children != null && children.isEmpty() == false)
+ {
+ for (DeploymentContext child : children)
+ checkComplete(child, contextsInError, contextsMissingDependencies, notInstalled, states);
+ }
+
+ List<DeploymentContext> components = context.getComponents();
+ if (components != null && components.isEmpty() == false)
+ {
+ for (DeploymentContext component : components)
+ checkComplete(component, contextsInError, contextsMissingDependencies, notInstalled, states);
+ }
+ }
+
+ /**
+ * Check complete on deployment context.
+ *
+ * @param context the deployment context
+ * @param contextsInError contexts in error map
+ * @param contextsMissingDependencies contexts missing dependecies map
+ * @param notInstalled the not installed contexts
+ * @param states controller states
+ */
+ protected void checkControllerContext(
+ ControllerContext context,
+ Map<String, Throwable> contextsInError,
+ Map<String, Set<MissingDependency>> contextsMissingDependencies,
+ Set<ControllerContext> notInstalled,
+ ControllerStateModel states)
+ {
+ if (context != null)
+ {
+ if (context.getState().equals(context.getRequiredState()) == false && notInstalled.contains(context))
+ {
+ checkControllerContext(context, contextsInError, contextsMissingDependencies, states);
+ }
+ }
+ }
+
+ public void install(ControllerContext context, ControllerState fromState, ControllerState toState) throws Throwable
+ {
+ DeploymentControllerContext deploymentControllerContext = (DeploymentControllerContext)context;
+ String stageName = toState.getStateString();
+
+ DeploymentContext deploymentContext = deploymentControllerContext.getDeploymentContext();
+ try
+ {
+ List<Deployer> theDeployers = getDeployersList(stageName);
+
+ if (log.isTraceEnabled())
+ log.trace("Deployers for " + stageName + " " + theDeployers);
+
+ if (theDeployers.isEmpty() == false)
+ {
+ int i = 0;
+ try
+ {
+ while (i < theDeployers.size())
+ {
+ Deployer deployer = theDeployers.get(i);
+ if (deployer.isParentFirst())
+ doInstallParentFirst(deployer, deploymentContext);
+ else
+ doInstallParentLast(deployer, deploymentContext);
+ ++i;
+ }
+ }
+ catch (Throwable t)
+ {
+ deploymentContext.setState(DeploymentState.ERROR);
+ deploymentContext.setProblem(t);
+
+ // Unwind the previous deployments
+ for (int j = i - 1; j >= 0; --j)
+ {
+ Deployer deployer = theDeployers.get(j);
+ if (deployer.isParentFirst())
+ doUninstallParentLast(deployer, deploymentContext, true, true);
+ else
+ doUninstallParentFirst(deployer, deploymentContext, true, true);
+ }
+
+ // It can happen that subdeployments are not processed if the parent fails immediately
+ // so there is no callback to undeploy when nothing was done
+ setState(deploymentContext, DeploymentState.UNDEPLOYED, DeploymentState.DEPLOYING);
+ throw t;
+ }
+ }
+ }
+ finally
+ {
+ if (ControllerState.INSTALLED.equals(toState) && DeploymentState.DEPLOYING.equals(deploymentContext.getState()))
+ {
+ log.debug("Fully Deployed " + context.getName());
+ setState(deploymentContext, DeploymentState.DEPLOYED, null);
+ }
+ }
+ }
+
+ /**
+ * Do the install parent first
+ *
+ * @param deployer the deployer
+ * @param context the context
+ * @throws Throwable for any problem
+ */
+ protected void doInstallParentFirst(Deployer deployer, DeploymentContext context) throws Throwable
+ {
+ List<DeploymentContext> currentComponents = context.getComponents();
+ // Take a copy of the components so we don't start looping on newly added components
+ // in the component deployers
+ List<DeploymentContext> components = null;
+ if (currentComponents != null && currentComponents.isEmpty() == false)
+ components = new ArrayList<DeploymentContext>(currentComponents);
+
+ DeploymentUnit unit = context.getDeploymentUnit();
+ if (isRelevant(deployer, unit, context.isTopLevel(), context.isComponent()))
+ {
+ try
+ {
+ deployer.deploy(unit);
+ }
+ catch (DeploymentException e)
+ {
+ context.setState(DeploymentState.ERROR);
+ context.setProblem(e);
+ throw e;
+ }
+ }
+ else if (log.isTraceEnabled())
+ log.trace("Deployer " + deployer + " not relevant for " + context.getName());
+
+ if (components != null)
+ {
+ try
+ {
+ for (int i = 0; i < components.size(); ++i)
+ {
+ DeploymentContext component = components.get(i);
+ try
+ {
+ doInstallParentFirst(deployer, component);
+ }
+ catch (DeploymentException e)
+ {
+ // Unwind the previous components
+ for (int j = i - 1; j >= 0; --j)
+ {
+ component = components.get(j);
+ doUninstallParentLast(deployer, component, false, true);
+ }
+ throw e;
+ }
+ }
+ }
+ catch (DeploymentException e)
+ {
+ // Just undeploy this context
+ doUninstallParentLast(deployer, context, false, false);
+ throw e;
+ }
+ }
+
+ List<DeploymentContext> children = context.getChildren();
+ if (children != null)
+ {
+ try
+ {
+ for (int i = 0; i < children.size(); ++i)
+ {
+ DeploymentContext child = children.get(i);
+ try
+ {
+ doInstallParentFirst(deployer, child);
+ }
+ catch (DeploymentException e)
+ {
+ // Unwind the previous children
+ for (int j = i - 1; j >= 0; --j)
+ {
+ child = children.get(j);
+ doUninstallParentLast(deployer, child, true, true);
+ }
+ throw e;
+ }
+ }
+ }
+ catch (DeploymentException e)
+ {
+ // Undeploy the context but the children are already unwound
+ doUninstallParentLast(deployer, context, false, true);
+ throw e;
+ }
+ }
+ }
+
+ /**
+ * Do the install parent last
+ *
+ * @param deployer the deployer
+ * @param context the context
+ * @throws Throwable for any problem
+ */
+ protected void doInstallParentLast(Deployer deployer, DeploymentContext context) throws Throwable
+ {
+ List<DeploymentContext> children = context.getChildren();
+ for (int i = 0; i < children.size(); ++i)
+ {
+ DeploymentContext child = children.get(i);
+ try
+ {
+ doInstallParentLast(deployer, child);
+ }
+ catch (DeploymentException e)
+ {
+ // Unwind the previous children
+ for (int j = i - 1; j >= 0; --j)
+ {
+ child = children.get(j);
+ doUninstallParentFirst(deployer, child, true, true);
+ }
+ throw e;
+ }
+ }
+
+ List<DeploymentContext> components = context.getComponents();
+ if (components != null)
+ {
+ try
+ {
+ for (int i = 0; i < components.size(); ++i)
+ {
+ DeploymentContext component = components.get(i);
+ try
+ {
+ doInstallParentLast(deployer, component);
+ }
+ catch (DeploymentException e)
+ {
+ // Unwind the previous components
+ for (int j = i - 1; j >= 0; --j)
+ {
+ component = components.get(j);
+ doUninstallParentFirst(deployer, component, true, true);
+ }
+ throw e;
+ }
+ }
+ }
+ catch (DeploymentException e)
+ {
+ // Just undeploy the children, the components are already unwound
+ doUninstallParentFirst(deployer, context, false, false);
+ throw e;
+ }
+ }
+
+ DeploymentUnit unit = context.getDeploymentUnit();
+ if (isRelevant(deployer, unit, context.isTopLevel(), context.isComponent()))
+ {
+ try
+ {
+ deployer.deploy(unit);
+ }
+ catch (DeploymentException e)
+ {
+ // Undeploy the children and components
+ doUninstallParentFirst(deployer, context, false, true);
+ context.setState(DeploymentState.ERROR);
+ context.setProblem(e);
+ throw e;
+ }
+ }
+ else if (log.isTraceEnabled())
+ log.trace("Deployer " + deployer + " not relevant for " + context.getName());
+ }
+
+ public void uninstall(ControllerContext context, ControllerState fromState, ControllerState toState)
+ {
+ DeploymentControllerContext deploymentControllerContext = (DeploymentControllerContext)context;
+ String stageName = fromState.getStateString();
+
+ DeploymentContext deploymentContext = deploymentControllerContext.getDeploymentContext();
+ List<Deployer> theDeployers = getDeployersList(stageName);
+
+ if (log.isTraceEnabled())
+ log.trace("Deployers for " + stageName + " " + theDeployers);
+
+ if (theDeployers.isEmpty() == false)
+ {
+ for (int i = theDeployers.size() - 1; i >= 0; --i)
+ {
+ Deployer deployer = theDeployers.get(i);
+ if (deployer.isParentFirst())
+ doUninstallParentLast(deployer, deploymentContext, true, true);
+ else
+ doUninstallParentFirst(deployer, deploymentContext, true, true);
+ }
+ }
+ }
+
+ /**
+ * Do the uninstall parent last
+ *
+ * @param deployer the deployer
+ * @param context the context
+ * @param doChildren whether to do children
+ * @param doComponents whether to do components
+ */
+ protected void doUninstallParentLast(Deployer deployer, DeploymentContext context, boolean doChildren, boolean doComponents)
+ {
+ if (doChildren)
+ {
+ List<DeploymentContext> children = context.getChildren();
+ if (children != null && children.isEmpty() == false)
+ {
+ for (int i = children.size() - 1; i >= 0; --i)
+ {
+ DeploymentContext child = children.get(i);
+ doUninstallParentLast(deployer, child, true, true);
+ }
+ }
+ }
+
+ if (doComponents)
+ {
+ List<DeploymentContext> components = context.getComponents();
+ if (components != null && components.isEmpty() == false)
+ {
+ for (int i = components.size() - 1; i >= 0; --i)
+ {
+ DeploymentContext component = components.get(i);
+ doUninstallParentLast(deployer, component, false, true);
+ }
+ }
+ }
+
+ DeploymentUnit unit = context.getDeploymentUnit();
+ if (isRelevant(deployer, unit, context.isTopLevel(), context.isComponent()))
+ deployer.undeploy(unit);
+ else if (log.isTraceEnabled())
+ log.trace("Deployer " + deployer + " not relevant for " + context.getName());
+ }
+
+ /**
+ * Do the uninstall parent first
+ *
+ * @param deployer the deployer
+ * @param context the context
+ * @param doContext whether to do context
+ * @param doComponents whether to do components
+ */
+ protected void doUninstallParentFirst(Deployer deployer, DeploymentContext context, boolean doContext, boolean doComponents)
+ {
+ if (doContext)
+ {
+ DeploymentUnit unit = context.getDeploymentUnit();
+ if (isRelevant(deployer, unit, context.isTopLevel(), context.isComponent()))
+ deployer.undeploy(unit);
+ else if (log.isTraceEnabled())
+ log.trace("Deployer " + deployer + " not relevant for " + context.getName());
+ }
+
+ if (doComponents)
+ {
+ List<DeploymentContext> components = context.getComponents();
+ if (components != null && components.isEmpty() == false)
+ {
+ for (int i = components.size() - 1; i >= 0; --i)
+ {
+ DeploymentContext component = components.get(i);
+ doUninstallParentFirst(deployer, component, true, true);
+ }
+ }
+ }
+
+ List<DeploymentContext> children = context.getChildren();
+ if (children != null && children.isEmpty() == false)
+ {
+ for (int i = children.size() - 1; i >= 0; --i)
+ {
+ DeploymentContext child = children.get(i);
+ doUninstallParentFirst(deployer, child, true, true);
+ }
+ }
+ }
+
+ /**
+ * Build a list of deployers for this stage
+ *
+ * @param stageName the stage name
+ * @return the deployers
+ */
+ protected synchronized List<Deployer> getDeployersList(String stageName)
+ {
+ List<Deployer> deployers = deployersByStage.get(stageName);
+ if (deployers == null || deployers.isEmpty())
+ return Collections.emptyList();
+
+ return deployers;
+ }
+
+ /**
+ * Test whether a deployer is relevant
+ *
+ * @param deployer deployer
+ * @param unit the deployment unit
+ * @param isTopLevel whether this is a top level deployment
+ * @param isComponent whether this is a component
+ * @return the deployers
+ */
+ protected boolean isRelevant(Deployer deployer, DeploymentUnit unit, boolean isTopLevel, boolean isComponent)
+ {
+ // Deployer only wants top level
+ if (deployer.isTopLevelOnly() && isTopLevel == false)
+ return false;
+
+ // Deployer only wants components
+ if (deployer.isComponentsOnly() && isComponent == false)
+ return false;
+
+ // Deployer doesn't wants components
+ if (deployer.isWantComponents() == false && isComponent)
+ return false;
+
+ if (deployer.isAllInputs() == false)
+ {
+ // No attachment for the input type
+ Class<?> input = deployer.getInput();
+ if (input != null && unit.getAttachment(input) == null)
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Insert the new Deployer.
+ *
+ * @param original the original deployers
+ * @param newDeployer the new deployer
+ * @return the sorted deployers
+ */
+ protected List<Deployer> insert(List<Deployer> original, Deployer newDeployer)
+ {
+ DeployerSorter sorter = DeployerSorterFactory.newSorter();
+ return sorter.sortDeployers(original, newDeployer);
+ }
+
+ /**
+ * Set the deployment state for a context and its children
+ *
+ * @param context the context
+ * @param state the state
+ * @param ifState the ifState
+ */
+ private static void setState(DeploymentContext context, DeploymentState state, DeploymentState ifState)
+ {
+ if (ifState == null || ifState.equals(context.getState()))
+ context.setState(state);
+ List<DeploymentContext> children = context.getChildren();
+ if (children != null && children.isEmpty() == false)
+ {
+ for (DeploymentContext child : children)
+ setState(child, state, ifState);
+ }
+ }
+
+ /**
+ * Remove a classloader for a context and its children
+ *
+ * @param context the context
+ */
+ private static void removeClassLoader(DeploymentContext context)
+ {
+ context.removeClassLoader();
+ List<DeploymentContext> children = context.getChildren();
+ if (children != null && children.isEmpty() == false)
+ {
+ for (DeploymentContext child : children)
+ removeClassLoader(child);
+ }
+ }
+
+ /**
+ * Cleanup the deployment context
+ *
+ * @param context the context
+ */
+ private static void cleanup(DeploymentContext context)
+ {
+ context.cleanup();
+ List<DeploymentContext> children = context.getChildren();
+ if (children != null && children.isEmpty() == false)
+ {
+ for (DeploymentContext child : children)
+ cleanup(child);
+ }
+ List<DeploymentContext> components = context.getComponents();
+ if (components != null && components.isEmpty() == false)
+ {
+ for (DeploymentContext component : components)
+ cleanup(component);
+ }
+ }
+}
Deleted: projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/tests/org/jboss/test/deployers/main/support/OrderedDependencyInfo.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/tests/org/jboss/test/deployers/main/support/OrderedDependencyInfo.java 2008-04-07 06:06:46 UTC (rev 71757)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/tests/org/jboss/test/deployers/main/support/OrderedDependencyInfo.java 2008-04-10 08:54:28 UTC (rev 71888)
@@ -1,72 +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.test.deployers.main.support;
-
-import java.util.Set;
-import java.util.LinkedHashSet;
-
-import org.jboss.dependency.plugins.AbstractDependencyInfo;
-import org.jboss.dependency.spi.DependencyItem;
-import org.jboss.dependency.spi.Controller;
-import org.jboss.dependency.spi.ControllerState;
-
-/**
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class OrderedDependencyInfo extends AbstractDependencyInfo
-{
- private Set<DependencyItem> items = new LinkedHashSet<DependencyItem>();
-
- public void addIDependOn(DependencyItem dependency)
- {
- super.addIDependOn(dependency);
- items.add(dependency);
- }
-
- public void removeIDependOn(DependencyItem dependency)
- {
- super.removeIDependOn(dependency);
- items.remove(dependency);
- }
-
- public Set<DependencyItem> getUnresolvedDependencies()
- {
- return items;
- }
-
- public boolean resolveDependencies(Controller controller, ControllerState state)
- {
- boolean resolved = true;
- if (items.isEmpty() == false)
- {
- for (DependencyItem item : items)
- {
- if (state.equals(item.getWhenRequired()) && item.resolve(controller) == false)
- {
- resolved = false;
- break;
- }
- }
- }
- return resolved;
- }
-}
Copied: projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/tests/org/jboss/test/deployers/main/support/OrderedDependencyInfo.java (from rev 71815, projects/jboss-deployers/trunk/deployers-impl/src/tests/org/jboss/test/deployers/main/support/OrderedDependencyInfo.java)
===================================================================
--- projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/tests/org/jboss/test/deployers/main/support/OrderedDependencyInfo.java (rev 0)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/tests/org/jboss/test/deployers/main/support/OrderedDependencyInfo.java 2008-04-10 08:54:28 UTC (rev 71888)
@@ -0,0 +1,68 @@
+/*
+* 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.main.support;
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import org.jboss.dependency.plugins.AbstractDependencyInfo;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.dependency.spi.DependencyItem;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class OrderedDependencyInfo extends AbstractDependencyInfo
+{
+ private Set<DependencyItem> items = new LinkedHashSet<DependencyItem>();
+
+ public void addIDependOn(DependencyItem dependency)
+ {
+ super.addIDependOn(dependency);
+ items.add(dependency);
+ }
+
+ public void removeIDependOn(DependencyItem dependency)
+ {
+ super.removeIDependOn(dependency);
+ items.remove(dependency);
+ }
+
+ public Set<DependencyItem> getUnresolvedDependencies(ControllerState state)
+ {
+ if (items.isEmpty())
+ return Collections.emptySet();
+
+ Set<DependencyItem> result = new HashSet<DependencyItem>();
+ if (items.isEmpty() == false)
+ {
+ for (DependencyItem item : items)
+ {
+ if (state == null || state.equals(item.getWhenRequired()))
+ result.add(item);
+ }
+ }
+ return result;
+ }
+}
Deleted: projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/tests/org/jboss/test/deployers/main/test/CycleCheckCompleteTestCase.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/tests/org/jboss/test/deployers/main/test/CycleCheckCompleteTestCase.java 2008-04-07 06:06:46 UTC (rev 71757)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/tests/org/jboss/test/deployers/main/test/CycleCheckCompleteTestCase.java 2008-04-10 08:54:28 UTC (rev 71888)
@@ -1,132 +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.test.deployers.main.test;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import junit.framework.Test;
-import org.jboss.dependency.plugins.AbstractController;
-import org.jboss.deployers.client.spi.DeployerClient;
-import org.jboss.deployers.client.spi.Deployment;
-import org.jboss.deployers.client.spi.IncompleteDeploymentException;
-import org.jboss.deployers.client.spi.IncompleteDeployments;
-import org.jboss.deployers.client.spi.MissingDependency;
-import org.jboss.deployers.plugins.deployers.DeployersImpl;
-import org.jboss.deployers.plugins.main.MainDeployerImpl;
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.attachments.MutableAttachments;
-import org.jboss.test.deployers.main.support.OrderedTestAttachmentDeployer;
-import org.jboss.test.deployers.main.support.TestAttachment;
-import org.jboss.test.deployers.main.support.TestAttachments;
-import org.jboss.test.deployers.main.support.TestAttachmentsDeployer;
-
-/**
- * Check for cycles.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class CycleCheckCompleteTestCase extends AbstractMainDeployerTest
-{
- public CycleCheckCompleteTestCase(String name)
- {
- super(name);
- }
-
- public static Test suite()
- {
- return suite(CycleCheckCompleteTestCase.class);
- }
-
- public void testOtherAsCause() throws Exception
- {
- DeployerClient main = getMainDeployer();
-
- Deployment dA = createSimpleDeployment("A");
- addAttachment(dA, "xB", true);
- addAttachment(dA, "xC", false);
-
- Deployment dB = createSimpleDeployment("B");
- addAttachment(dB, "xA", true);
- addAttachment(dB, "xC", false);
- addAttachment(dB, "xD", false);
-
- Deployment dC = createSimpleDeployment("C");
- addAttachment(dC, null, true);
-
- Deployment dD = createSimpleDeployment("D");
- addAttachment(dD, null, true);
-
- try
- {
- main.deploy(dA, dB, dC, dD);
- fail("Should not be here.");
- }
- catch (DeploymentException e)
- {
- IncompleteDeploymentException ide = assertInstanceOf(e, IncompleteDeploymentException.class);
- ide.printStackTrace();
- IncompleteDeployments id = ide.getIncompleteDeployments();
- assertNotNull(id);
- assertEmpty(id.getDeploymentsInError());
- assertEmpty(id.getDeploymentsMissingDeployer());
- assertEmpty(id.getContextsInError());
- Map<String,Set<MissingDependency>> map = id.getContextsMissingDependencies();
- assertNotNull(map);
- assertEquals(new HashSet<String>(Arrays.asList("xA", "xB")), map.keySet());
- //assertEquals("Should be empty string, no errors.", "", id.getContextsInErrorInfo());
- }
- }
-
- protected void assertEmpty(Map<?, ?> map)
- {
- assertNotNull(map);
- assertEmpty(map.keySet());
- }
-
- protected DeployerClient getMainDeployer()
- {
- MainDeployerImpl main = new MainDeployerImpl();
- main.setStructuralDeployers(createStructuralDeployers());
- AbstractController controller = new AbstractController();
- DeployersImpl deployers = new DeployersImpl(controller);
- deployers.addDeployer(new TestAttachmentsDeployer());
- deployers.addDeployer(new OrderedTestAttachmentDeployer(controller));
- main.setDeployers(deployers);
- return main;
- }
-
- protected void addAttachment(Deployment deployment, Object dependency, boolean install)
- {
- MutableAttachments mutableAttachments = (MutableAttachments)deployment.getPredeterminedManagedObjects();
- TestAttachments testAttachments = mutableAttachments.getAttachment(TestAttachments.class);
- if (testAttachments == null)
- {
- testAttachments = new TestAttachments();
- mutableAttachments.addAttachment(TestAttachments.class, testAttachments);
- }
- TestAttachment testAttachment = new TestAttachment("x" + deployment.getName(), dependency, install);
- testAttachments.addAttachment(testAttachment);
- }
-}
\ No newline at end of file
Copied: projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/tests/org/jboss/test/deployers/main/test/CycleCheckCompleteTestCase.java (from rev 71815, projects/jboss-deployers/trunk/deployers-impl/src/tests/org/jboss/test/deployers/main/test/CycleCheckCompleteTestCase.java)
===================================================================
--- projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/tests/org/jboss/test/deployers/main/test/CycleCheckCompleteTestCase.java (rev 0)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-impl/src/tests/org/jboss/test/deployers/main/test/CycleCheckCompleteTestCase.java 2008-04-10 08:54:28 UTC (rev 71888)
@@ -0,0 +1,137 @@
+/*
+* 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.main.test;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import junit.framework.Test;
+import org.jboss.dependency.plugins.AbstractController;
+import org.jboss.deployers.client.spi.DeployerClient;
+import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.client.spi.IncompleteDeploymentException;
+import org.jboss.deployers.client.spi.IncompleteDeployments;
+import org.jboss.deployers.client.spi.MissingDependency;
+import org.jboss.deployers.plugins.deployers.DeployersImpl;
+import org.jboss.deployers.plugins.main.MainDeployerImpl;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.attachments.MutableAttachments;
+import org.jboss.test.deployers.main.support.OrderedTestAttachmentDeployer;
+import org.jboss.test.deployers.main.support.TestAttachment;
+import org.jboss.test.deployers.main.support.TestAttachments;
+import org.jboss.test.deployers.main.support.TestAttachmentsDeployer;
+
+/**
+ * Check for cycles.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class CycleCheckCompleteTestCase extends AbstractMainDeployerTest
+{
+ public CycleCheckCompleteTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return suite(CycleCheckCompleteTestCase.class);
+ }
+
+ public void testOtherAsCause() throws Exception
+ {
+ DeployerClient main = getMainDeployer();
+
+ Deployment dA = createSimpleDeployment("A");
+ addAttachment(dA, "xB", true);
+ addAttachment(dA, "xC", false);
+
+ Deployment dB = createSimpleDeployment("B");
+ addAttachment(dB, "xA", true);
+ addAttachment(dB, "xC", false);
+ addAttachment(dB, "xD", false);
+
+ Deployment dC = createSimpleDeployment("C");
+ addAttachment(dC, null, true);
+
+ Deployment dD = createSimpleDeployment("D");
+ addAttachment(dD, null, true);
+
+ try
+ {
+ main.deploy(dA, dB, dC, dD);
+ fail("Should not be here.");
+ }
+ catch (DeploymentException e)
+ {
+ IncompleteDeploymentException ide = assertInstanceOf(e, IncompleteDeploymentException.class);
+ ide.printStackTrace();
+ IncompleteDeployments id = ide.getIncompleteDeployments();
+ assertNotNull(id);
+ assertEmpty(id.getDeploymentsInError());
+ assertEmpty(id.getDeploymentsMissingDeployer());
+ assertEmpty(id.getContextsInError());
+ Map<String,Set<MissingDependency>> map = id.getContextsMissingDependencies();
+ assertNotNull(map);
+ assertEquals(new HashSet<String>(Arrays.asList("xA", "xB")), map.keySet());
+ String inErrorInfo = id.getContextsInErrorInfo();
+ assertNotNull(inErrorInfo);
+ assertTrue(inErrorInfo.contains("xA"));
+ assertTrue(inErrorInfo.contains("xB"));
+ assertFalse(inErrorInfo.contains("xC"));
+ assertFalse(inErrorInfo.contains("xD"));
+ }
+ }
+
+ protected void assertEmpty(Map<?, ?> map)
+ {
+ assertNotNull(map);
+ assertEmpty(map.keySet());
+ }
+
+ protected DeployerClient getMainDeployer()
+ {
+ MainDeployerImpl main = new MainDeployerImpl();
+ main.setStructuralDeployers(createStructuralDeployers());
+ AbstractController controller = new AbstractController();
+ DeployersImpl deployers = new DeployersImpl(controller);
+ deployers.addDeployer(new TestAttachmentsDeployer());
+ deployers.addDeployer(new OrderedTestAttachmentDeployer(controller));
+ main.setDeployers(deployers);
+ return main;
+ }
+
+ protected void addAttachment(Deployment deployment, Object dependency, boolean install)
+ {
+ MutableAttachments mutableAttachments = (MutableAttachments)deployment.getPredeterminedManagedObjects();
+ TestAttachments testAttachments = mutableAttachments.getAttachment(TestAttachments.class);
+ if (testAttachments == null)
+ {
+ testAttachments = new TestAttachments();
+ mutableAttachments.addAttachment(TestAttachments.class, testAttachments);
+ }
+ TestAttachment testAttachment = new TestAttachment("x" + deployment.getName(), dependency, install);
+ testAttachments.addAttachment(testAttachment);
+ }
+}
\ No newline at end of file
Deleted: projects/jboss-deployers/tags/2.0.0.Beta13/deployers-spi/pom.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-spi/pom.xml 2008-04-07 06:06:46 UTC (rev 71757)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-spi/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -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.0.Beta13/deployers-spi/pom.xml (from rev 71887, projects/jboss-deployers/trunk/deployers-spi/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.0.Beta13/deployers-spi/pom.xml (rev 0)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-spi/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -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.0.Beta13</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.0.Beta13/deployers-structure-spi/pom.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-structure-spi/pom.xml 2008-04-07 06:06:46 UTC (rev 71757)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-structure-spi/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -1,164 +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 ../build/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>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-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>jboss</groupId>
- <artifactId>jboss-common-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>jboss</groupId>
- <artifactId>jboss-common-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>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-log4j</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-test</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss.profiler.jvmti</groupId>
- <artifactId>jboss-profiler-jvmti</artifactId>
- </exclusion>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-junit</artifactId>
- </exclusion>
- </exclusions>
- </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.0.Beta13/deployers-structure-spi/pom.xml (from rev 71887, projects/jboss-deployers/trunk/deployers-structure-spi/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.0.Beta13/deployers-structure-spi/pom.xml (rev 0)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-structure-spi/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -0,0 +1,164 @@
+<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.Beta13</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 ../build/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>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-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>jboss</groupId>
+ <artifactId>jboss-common-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>jboss</groupId>
+ <artifactId>jboss-common-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>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-log4j</artifactId>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-test</artifactId>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss.profiler.jvmti</groupId>
+ <artifactId>jboss-profiler-jvmti</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant-junit</artifactId>
+ </exclusion>
+ </exclusions>
+ </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.0.Beta13/deployers-vfs/pom.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/pom.xml 2008-04-07 06:06:46 UTC (rev 71757)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-vfs/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -1,210 +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>
- <testResources>
- <testResource>
- <directory>src/resources/tests</directory>
- </testResource>
- </testResources>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- </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-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>jboss</groupId>
- <artifactId>jboss-common-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>jboss</groupId>
- <artifactId>jboss-common-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>jboss</groupId>
- <artifactId>jboss-common-logging-log4j</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-test</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jboss.profiler.jvmti</groupId>
- <artifactId>jboss-profiler-jvmti</artifactId>
- </exclusion>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant-junit</artifactId>
- </exclusion>
- </exclusions>
- </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.0.Beta13/deployers-vfs/pom.xml (from rev 71887, projects/jboss-deployers/trunk/deployers-vfs/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.0.Beta13/deployers-vfs/pom.xml (rev 0)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-vfs/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -0,0 +1,210 @@
+<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.Beta13</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>
+ <testResources>
+ <testResource>
+ <directory>src/resources/tests</directory>
+ </testResource>
+ </testResources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ </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-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>jboss</groupId>
+ <artifactId>jboss-common-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>jboss</groupId>
+ <artifactId>jboss-common-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>jboss</groupId>
+ <artifactId>jboss-common-logging-log4j</artifactId>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-test</artifactId>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>jboss.profiler.jvmti</groupId>
+ <artifactId>jboss-profiler-jvmti</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant-junit</artifactId>
+ </exclusion>
+ </exclusions>
+ </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.0.Beta13/deployers-vfs-spi/pom.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs-spi/pom.xml 2008-04-07 06:06:46 UTC (rev 71757)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-vfs-spi/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -1,71 +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 ../build/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>jboss</groupId>
- <artifactId>jboss-common-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>jboss</groupId>
- <artifactId>jboss-common-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>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
-</project>
\ No newline at end of file
Copied: projects/jboss-deployers/tags/2.0.0.Beta13/deployers-vfs-spi/pom.xml (from rev 71887, projects/jboss-deployers/trunk/deployers-vfs-spi/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.0.Beta13/deployers-vfs-spi/pom.xml (rev 0)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/deployers-vfs-spi/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -0,0 +1,71 @@
+<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.Beta13</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 ../build/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>jboss</groupId>
+ <artifactId>jboss-common-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>jboss</groupId>
+ <artifactId>jboss-common-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>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Deleted: projects/jboss-deployers/tags/2.0.0.Beta13/pom.xml
===================================================================
--- projects/jboss-deployers/trunk/pom.xml 2008-04-07 06:06:46 UTC (rev 71757)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -1,84 +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-beta-1</version>
- </parent>
- <groupId>org.jboss.deployers</groupId>
- <artifactId>jboss-deployers-aggregator</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>pom</packaging>
- <name>JBoss Deployers Aggregator</name>
- <url>http://www.jboss.com/products/jbossmc</url>
- <description>
- The JBoss Deployment Framework
- </description>
- <scm>
- <connection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/jboss-deployers/trunk</connection>
- </scm>
-
- <modules>
- <module>build</module>
- <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>
- </modules>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-release-plugin</artifactId>
- <version>2.0-beta-7</version>
- <configuration>
- <tagBase>https://svn.jboss.org/repos/jbossas/projects/jboss-deployers/tags</tagBase>
- <autoVersionSubmodules>true</autoVersionSubmodules>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <profiles>
- <profile>
- <id>eclipse</id>
- <build>
- <defaultGoal>process-test-resources</defaultGoal>
- </build>
- </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>
\ No newline at end of file
Copied: projects/jboss-deployers/tags/2.0.0.Beta13/pom.xml (from rev 71887, projects/jboss-deployers/trunk/pom.xml)
===================================================================
--- projects/jboss-deployers/tags/2.0.0.Beta13/pom.xml (rev 0)
+++ projects/jboss-deployers/tags/2.0.0.Beta13/pom.xml 2008-04-10 08:54:28 UTC (rev 71888)
@@ -0,0 +1,84 @@
+<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-beta-1</version>
+ </parent>
+ <groupId>org.jboss.deployers</groupId>
+ <artifactId>jboss-deployers-aggregator</artifactId>
+ <version>2.0.0.Beta13</version>
+ <packaging>pom</packaging>
+ <name>JBoss Deployers Aggregator</name>
+ <url>http://www.jboss.com/products/jbossmc</url>
+ <description>
+ The JBoss Deployment Framework
+ </description>
+ <scm>
+ <connection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/jboss-deployers/tags/2.0.0.Beta13</connection>
+ </scm>
+
+ <modules>
+ <module>build</module>
+ <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>
+ </modules>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.0-beta-7</version>
+ <configuration>
+ <tagBase>https://svn.jboss.org/repos/jbossas/projects/jboss-deployers/tags</tagBase>
+ <autoVersionSubmodules>true</autoVersionSubmodules>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>eclipse</id>
+ <build>
+ <defaultGoal>process-test-resources</defaultGoal>
+ </build>
+ </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>
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list