You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Joe Bohn <jo...@earthlink.net> on 2007/12/05 15:18:49 UTC

Re: svn commit: r601152 [1/4] - in /geronimo/server/trunk: ./ applications/welcome/geronimo-welcome/src/main/java/org/apache/geronimo/welcome/ assemblies/geronimo-boilerplate-minimal/src/main/underlay/META-INF/ assemblies/geronimo-boilerplate-minimal/src/m...

David,

Can you provide some more details on the intent of this change?  It 
sounds like the "clone a server" idea we had discussed earlier but I 
might be wrong.

On a side note ... it looks like this change moved and renamed a number 
of jars.  This has broken our tck tests for the time being.  I imagine 
it will be easy to fix ... I'm looking into it now.

Joe


djencks@apache.org wrote:
> Author: djencks
> Date: Tue Dec  4 15:49:03 2007
> New Revision: 601152
> 
> URL: http://svn.apache.org/viewvc?rev=601152&view=rev
> Log:
> GERONIMO-3607 Add 'assemble a server' support to geronimo and use it from car-maven-plugin and gshell.  Not yet available in the console.  Better repository support would be desirable
> 
> Added:
>     geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/AssembleServerCommand.groovy
>     geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/LocalPluginAttributeStore.java   (with props)
>     geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/plugin/ArchiverGBean.java   (with props)
>     geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/plugin/ReferenceServerInstanceData.java   (with props)
>     geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/plugin/ServerArchiver.java   (with props)
>     geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/plugin/ServerInstanceData.java   (contents, props changed)
>       - copied, changed from r599234, geronimo/server/trunk/maven-plugins/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/ServerInstance.java
>     geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/resolver/LocalAliasedArtifactResolver.java   (with props)
>     geronimo/server/trunk/framework/modules/geronimo-system/src/test/java/org/apache/geronimo/system/plugin/ArchiverGBeanTest.java   (with props)
>     geronimo/server/trunk/framework/modules/geronimo-system/src/test/resources/archivertest/
>     geronimo/server/trunk/framework/modules/geronimo-system/src/test/resources/archivertest/bin/
>     geronimo/server/trunk/framework/modules/geronimo-system/src/test/resources/archivertest/bin/gsh   (with props)
>     geronimo/server/trunk/framework/modules/geronimo-system/src/test/resources/archivertest/bin/gsh.bat   (with props)
>     geronimo/server/trunk/framework/modules/geronimo-system/src/test/resources/archivertest/lib/
>     geronimo/server/trunk/maven-plugins/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/ArchiveMojo.java   (with props)
>     geronimo/server/trunk/maven-plugins/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/ServerInstance.java
> Removed:
>     geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/repository/Maven1Repository.java
>     geronimo/server/trunk/framework/modules/geronimo-kernel/src/test/java/org/apache/geronimo/kernel/repository/Maven1RepositoryTest.java
>     geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/repository/Maven1Repository.java
> Modified:
>     geronimo/server/trunk/applications/welcome/geronimo-welcome/src/main/java/org/apache/geronimo/welcome/AbsentSampleServlet.java
>     geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/META-INF/geronimo-plugin.xml
>     geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/etc/gsh-classworlds.conf
>     geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/etc/layout.xml
>     geronimo/server/trunk/assemblies/geronimo-framework/pom.xml
>     geronimo/server/trunk/assemblies/geronimo-jetty6-javaee5/pom.xml
>     geronimo/server/trunk/assemblies/geronimo-jetty6-minimal/pom.xml
>     geronimo/server/trunk/assemblies/geronimo-tomcat6-javaee5/pom.xml
>     geronimo/server/trunk/assemblies/geronimo-tomcat6-minimal/pom.xml
>     geronimo/server/trunk/framework/configs/j2ee-system/pom.xml
>     geronimo/server/trunk/framework/configs/rmi-naming/src/main/plan/plan.xml
>     geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/ListConfigurationsCommand.groovy
>     geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/GeronimoDeploymentManager.java
>     geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/RemoteDeploymentManager.java
>     geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandInstallCAR.java
>     geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandListConfigurations.java
>     geronimo/server/trunk/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/DeploymentContextTest.java
>     geronimo/server/trunk/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java
>     geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationManager.java
>     geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java
>     geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/repository/Maven2Repository.java
>     geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/repository/WritableListableRepository.java
>     geronimo/server/trunk/framework/modules/geronimo-kernel/src/test/java/org/apache/geronimo/kernel/mock/MockWritableListableRepository.java
>     geronimo/server/trunk/framework/modules/geronimo-system/pom.xml
>     geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/InPlaceConfigurationUtil.java
>     geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/configuration/LocalAttributeManager.java
>     geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/plugin/PluginInstaller.java
>     geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/plugin/PluginInstallerGBean.java
>     geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/plugin/PluginRepositoryDownloader.java
>     geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/plugin/ServerInstance.java
>     geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/resolver/ExplicitDefaultArtifactResolver.java
>     geronimo/server/trunk/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/serverinfo/BasicServerInfo.java
>     geronimo/server/trunk/framework/modules/geronimo-system/src/test/java/org/apache/geronimo/system/plugin/CopyFileTest.java
>     geronimo/server/trunk/framework/modules/geronimo-system/src/test/java/org/apache/geronimo/system/plugin/PluginInstallerTest.java
>     geronimo/server/trunk/maven-plugins/car-maven-plugin/pom.xml
>     geronimo/server/trunk/maven-plugins/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/AbstractCarMojo.java
>     geronimo/server/trunk/maven-plugins/car-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/car/InstallModulesMojo.java
>     geronimo/server/trunk/plugins/axis/axis-deployer/pom.xml
>     geronimo/server/trunk/plugins/axis/axis/pom.xml
>     geronimo/server/trunk/plugins/axis2/axis2-deployer/pom.xml
>     geronimo/server/trunk/plugins/axis2/axis2-ejb-deployer/pom.xml
>     geronimo/server/trunk/plugins/client/client-deployer/pom.xml
>     geronimo/server/trunk/plugins/connector/connector-deployer/pom.xml
>     geronimo/server/trunk/plugins/connector/geronimo-connector-builder/src/test/java/org/apache/geronimo/connector/deployment/MessageDestinationTest.java
>     geronimo/server/trunk/plugins/console/console-base-portlets/src/main/java/org/apache/geronimo/console/car/DownloadCARHandler.java
>     geronimo/server/trunk/plugins/console/console-base-portlets/src/main/java/org/apache/geronimo/console/car/GeronimoAsMavenServlet.java
>     geronimo/server/trunk/plugins/corba/openejb-corba-deployer/pom.xml
>     geronimo/server/trunk/plugins/cxf/cxf-deployer/pom.xml
>     geronimo/server/trunk/plugins/cxf/cxf-ejb-deployer/pom.xml
>     geronimo/server/trunk/plugins/j2ee/geronimo-security-builder/src/test/java/org/apache/geronimo/security/deployment/LoginConfigBuilderTest.java
>     geronimo/server/trunk/plugins/j2ee/j2ee-deployer/pom.xml
>     geronimo/server/trunk/plugins/j2ee/jsr88-rar-configurer/pom.xml
>     geronimo/server/trunk/plugins/jasper/jasper-deployer/pom.xml
>     geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/JAXWSTools.java
>     geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/WsdlGenerator.java
>     geronimo/server/trunk/plugins/jetty/jetty6-deployer/pom.xml
>     geronimo/server/trunk/plugins/jetty/jetty6-deployer/src/main/plan/plan.xml
>     geronimo/server/trunk/plugins/jetty/jetty6/pom.xml
>     geronimo/server/trunk/plugins/myfaces/myfaces-deployer/pom.xml
>     geronimo/server/trunk/plugins/openejb/openejb-deployer/pom.xml
>     geronimo/server/trunk/plugins/openjpa/persistence-jpa10-deployer/pom.xml
>     geronimo/server/trunk/plugins/tomcat/tomcat6-deployer/pom.xml
>     geronimo/server/trunk/plugins/tomcat/tomcat6-deployer/src/main/plan/plan.xml
>     geronimo/server/trunk/pom.xml
> 
> Modified: geronimo/server/trunk/applications/welcome/geronimo-welcome/src/main/java/org/apache/geronimo/welcome/AbsentSampleServlet.java
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/applications/welcome/geronimo-welcome/src/main/java/org/apache/geronimo/welcome/AbsentSampleServlet.java?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/applications/welcome/geronimo-welcome/src/main/java/org/apache/geronimo/welcome/AbsentSampleServlet.java (original)
> +++ geronimo/server/trunk/applications/welcome/geronimo-welcome/src/main/java/org/apache/geronimo/welcome/AbsentSampleServlet.java Tue Dec  4 15:49:03 2007
> @@ -80,9 +80,10 @@
>          instance.getDependency().add(PluginInstallerGBean.toDependencyType(new Dependency(Artifact.create(moduleIdName), ImportType.ALL)));
>          PluginListType list = new PluginListType();
>          list.getPlugin().add(target);
> -        list.getDefaultRepository().add(repo.toString());
> +//        list.getDefaultRepository().add(repo.toString());
> +        //todo this is surely wrong
>          list.getDefaultRepository().add("http://www.ibiblio.org/maven2/");
> -        DownloadResults results = installer.install(list, null, null);
> +        DownloadResults results = installer.install(list, repo.toString(), false, null, null);
>          if(results.isFailed()) {
>              throw new ServletException("Unable to install sample application", results.getFailure());
>          }
> 
> Modified: geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/META-INF/geronimo-plugin.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/META-INF/geronimo-plugin.xml?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/META-INF/geronimo-plugin.xml (original)
> +++ geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/META-INF/geronimo-plugin.xml Tue Dec  4 15:49:03 2007
> @@ -27,10 +27,52 @@
>              <groupId>org.apache.geronimo.assemblies</groupId>
>              <artifactId>geronimo-boilerplate-minimal</artifactId>
>              <version>2.1-SNAPSHOT</version>
> -            <type>car</type>
> +            <type>jar</type>
>          </module-id>
>          <geronimo-version>2.1-SNAPSHOT</geronimo-version>
>          <jvm-version>1.5</jvm-version>
> +        <dependency start="false">
> +            <groupId>org.apache.geronimo.specs</groupId>
> +            <artifactId>geronimo-javaee-deployment_1.1MR3_spec</artifactId>
> +            <version>1.0</version>
> +            <type>jar</type>
> +        </dependency>
> +        <dependency start="false">
> +            <groupId>org.apache.geronimo.modules</groupId>
> +            <artifactId>geronimo-cli</artifactId>
> +            <version>2.1-SNAPSHOT</version>
> +            <type>jar</type>
> +        </dependency>
> +        <dependency start="false">
> +            <groupId>org.apache.geronimo.modules</groupId>
> +            <artifactId>geronimo-deploy-config</artifactId>
> +            <version>2.1-SNAPSHOT</version>
> +            <type>jar</type>
> +        </dependency>
> +        <dependency start="false">
> +            <groupId>org.apache.geronimo.modules</groupId>
> +            <artifactId>geronimo-deploy-jsr88</artifactId>
> +            <version>2.1-SNAPSHOT</version>
> +            <type>jar</type>
> +        </dependency>
> +        <dependency start="false">
> +            <groupId>org.apache.geronimo.modules</groupId>
> +            <artifactId>geronimo-deploy-tool</artifactId>
> +            <version>2.1-SNAPSHOT</version>
> +            <type>jar</type>
> +        </dependency>
> +        <dependency start="false">
> +            <groupId>org.apache.geronimo.modules</groupId>
> +            <artifactId>geronimo-system</artifactId>
> +            <version>2.1-SNAPSHOT</version>
> +            <type>jar</type>
> +        </dependency>
> +        <dependency start="false">
> +            <groupId>org.apache.geronimo.modules</groupId>
> +            <artifactId>geronimo-common</artifactId>
> +            <version>2.1-SNAPSHOT</version>
> +            <type>jar</type>
> +        </dependency>
>          <copy-file relative-to="geronimo" dest-dir=""></copy-file>
>      </plugin-artifact>
>  </geronimo-plugin>
> 
> Modified: geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/etc/gsh-classworlds.conf
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/etc/gsh-classworlds.conf?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/etc/gsh-classworlds.conf (original)
> +++ geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/etc/gsh-classworlds.conf Tue Dec  4 15:49:03 2007
> @@ -40,3 +40,5 @@
>      load ${gshell.home}/repository/org/apache/geronimo/modules/geronimo-deploy-tool/2.1-SNAPSHOT/geronimo-deploy-tool-*.jar
>      load ${gshell.home}/repository/org/apache/geronimo/modules/geronimo-system/2.1-SNAPSHOT/geronimo-system-*.jar
>      load ${gshell.home}/repository/org/apache/geronimo/modules/geronimo-common/2.1-SNAPSHOT/geronimo-common-*.jar
> +    load ${gshell.home}/repository/org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-*.jar
> +    load ${gshell.home}/repository/org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-*.jar
> \ No newline at end of file
> 
> Modified: geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/etc/layout.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/etc/layout.xml?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/etc/layout.xml (original)
> +++ geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/etc/layout.xml Tue Dec  4 15:49:03 2007
> @@ -155,6 +155,11 @@
>                      <name>disconnect</name>
>                      <id>geronimo-commands:disconnect</id>
>                  </command>
> +
> +                <command>
> +                    <name>assemble</name>
> +                    <id>geronimo-commands:assemble-server</id>
> +                </command>
>              </nodes>
>          </group>
>  
> 
> Modified: geronimo/server/trunk/assemblies/geronimo-framework/pom.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/geronimo-framework/pom.xml?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/assemblies/geronimo-framework/pom.xml (original)
> +++ geronimo/server/trunk/assemblies/geronimo-framework/pom.xml Tue Dec  4 15:49:03 2007
> @@ -193,32 +193,22 @@
>                  <artifactId>car-maven-plugin</artifactId>
>                  <executions>
>                      <execution>
> +                        <id>install</id>
>                          <phase>compile</phase>
>                          <goals>
>                              <goal>install-modules</goal>
>                          </goals>
>                      </execution>
> -                </executions>
> -            </plugin>
> -
> -            <plugin>
> -                <groupId>org.apache.maven.plugins</groupId>
> -                <artifactId>maven-assembly-plugin</artifactId>
> -                <executions>
>                      <execution>
> -                        <id>bin</id>
> +                        <id>archive</id>
>                          <phase>package</phase>
>                          <goals>
> -                            <goal>attached</goal>
> +                            <goal>archive</goal>
>                          </goals>
> -                        <configuration>
> -                            <descriptors>
> -                                <descriptor>${pom.basedir}/src/main/assembly/bin.xml</descriptor>
> -                            </descriptors>
> -                        </configuration>
>                      </execution>
>                  </executions>
>              </plugin>
> +
>          </plugins>
>          
>      </build>
> 
> Modified: geronimo/server/trunk/assemblies/geronimo-jetty6-javaee5/pom.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/geronimo-jetty6-javaee5/pom.xml?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/assemblies/geronimo-jetty6-javaee5/pom.xml (original)
> +++ geronimo/server/trunk/assemblies/geronimo-jetty6-javaee5/pom.xml Tue Dec  4 15:49:03 2007
> @@ -606,32 +606,22 @@
>                  <artifactId>car-maven-plugin</artifactId>
>                  <executions>
>                      <execution>
> -                        <phase>package</phase>
> +                        <id>install</id>
> +                        <phase>compile</phase>
>                          <goals>
>                              <goal>install-modules</goal>
>                          </goals>
>                      </execution>
> -                </executions>
> -            </plugin>
> -
> -            <plugin>
> -                <groupId>org.apache.maven.plugins</groupId>
> -                <artifactId>maven-assembly-plugin</artifactId>
> -                <executions>
>                      <execution>
> -                        <id>bin</id>
> +                        <id>archive</id>
>                          <phase>package</phase>
>                          <goals>
> -                            <goal>attached</goal>
> +                            <goal>archive</goal>
>                          </goals>
> -                        <configuration>
> -                            <descriptors>
> -                                <descriptor>${pom.basedir}/src/main/assembly/bin.xml</descriptor>
> -                            </descriptors>
> -                        </configuration>
>                      </execution>
>                  </executions>
>              </plugin>
> +
>          </plugins>
>      </build>
>  
> 
> Modified: geronimo/server/trunk/assemblies/geronimo-jetty6-minimal/pom.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/geronimo-jetty6-minimal/pom.xml?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/assemblies/geronimo-jetty6-minimal/pom.xml (original)
> +++ geronimo/server/trunk/assemblies/geronimo-jetty6-minimal/pom.xml Tue Dec  4 15:49:03 2007
> @@ -19,9 +19,9 @@
>  <!-- $Rev$ $Date$ -->
>  
>  <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.apache.geronimo.assemblies</groupId>
>          <artifactId>assemblies</artifactId>
> @@ -32,11 +32,11 @@
>      <artifactId>geronimo-jetty6-minimal</artifactId>
>      <name>Geronimo Assemblies :: Minimal + Jetty6</name>
>      <packaging>application-assembly</packaging>
> -    
> +
>      <description>
>          A minimal Geronimo server (Little-G) assembly using the Jetty web-container.
>      </description>
> -    
> +
>      <dependencies>
>          <dependency>
>              <groupId>org.apache.geronimo.assemblies</groupId>
> @@ -46,63 +46,63 @@
>              <classifier>bin</classifier>
>              <scope>provided</scope>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>j2ee-system</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>client-system</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>upgrade-cli</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>rmi-naming</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>j2ee-server</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>j2ee-security</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>jetty6</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>jasper</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>jasper-deployer</artifactId>
> @@ -116,7 +116,7 @@
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>connector-deployer</artifactId>
> @@ -137,21 +137,21 @@
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>shutdown</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>sharedlib</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>online-deployer</artifactId>
> @@ -172,7 +172,7 @@
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> - 
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>jsr88-deploymentfactory</artifactId>
> @@ -186,42 +186,42 @@
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>jsr88-war-configurer</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>jsr88-ear-configurer</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>unavailable-client-deployer</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>unavailable-webservices-deployer</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>unavailable-ejb-deployer</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>hot-deployer</artifactId>
> @@ -229,7 +229,7 @@
>              <type>car</type>
>          </dependency>
>      </dependencies>
> -    
> +
>      <build>
>          <resources>
>              <resource>
> @@ -237,7 +237,7 @@
>                  <filtering>true</filtering>
>              </resource>
>          </resources>
> -        
> +
>          <plugins>
>              <plugin>
>                  <groupId>org.apache.maven.plugins</groupId>
> @@ -332,32 +332,22 @@
>                  <artifactId>car-maven-plugin</artifactId>
>                  <executions>
>                      <execution>
> -                        <phase>package</phase>
> +                        <id>install</id>
> +                        <phase>compile</phase>
>                          <goals>
>                              <goal>install-modules</goal>
>                          </goals>
>                      </execution>
> -                </executions>
> -            </plugin>
> -
> -            <plugin>
> -                <groupId>org.apache.maven.plugins</groupId>
> -                <artifactId>maven-assembly-plugin</artifactId>
> -                <executions>
>                      <execution>
> -                        <id>bin</id>
> +                        <id>archive</id>
>                          <phase>package</phase>
>                          <goals>
> -                            <goal>attached</goal>
> +                            <goal>archive</goal>
>                          </goals>
> -                        <configuration>
> -                            <descriptors>
> -                                <descriptor>${pom.basedir}/src/main/assembly/bin.xml</descriptor>
> -                            </descriptors>
> -                        </configuration>
>                      </execution>
>                  </executions>
>              </plugin>
> +
>          </plugins>
>      </build>
>  
> 
> Modified: geronimo/server/trunk/assemblies/geronimo-tomcat6-javaee5/pom.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/geronimo-tomcat6-javaee5/pom.xml?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/assemblies/geronimo-tomcat6-javaee5/pom.xml (original)
> +++ geronimo/server/trunk/assemblies/geronimo-tomcat6-javaee5/pom.xml Tue Dec  4 15:49:03 2007
> @@ -116,21 +116,21 @@
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -<!--
> -        <dependency>
> -            <groupId>org.apache.geronimo.configs</groupId>
> -            <artifactId>cxf</artifactId>
> -            <version>${version}</version>
> -            <type>car</type>
> -        </dependency>
> -
> -        <dependency>
> -            <groupId>org.apache.geronimo.configs</groupId>
> -            <artifactId>cxf-ejb</artifactId>
> -            <version>${version}</version>
> -            <type>car</type>
> -        </dependency>
> --->
> +        <!--
> +                <dependency>
> +                    <groupId>org.apache.geronimo.configs</groupId>
> +                    <artifactId>cxf</artifactId>
> +                    <version>${version}</version>
> +                    <type>car</type>
> +                </dependency>
> +
> +                <dependency>
> +                    <groupId>org.apache.geronimo.configs</groupId>
> +                    <artifactId>cxf-ejb</artifactId>
> +                    <version>${version}</version>
> +                    <type>car</type>
> +                </dependency>
> +        -->
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>j2ee-corba-yoko</artifactId>
> @@ -592,32 +592,22 @@
>                  <artifactId>car-maven-plugin</artifactId>
>                  <executions>
>                      <execution>
> -                        <phase>package</phase>
> +                        <id>install</id>
> +                        <phase>compile</phase>
>                          <goals>
>                              <goal>install-modules</goal>
>                          </goals>
>                      </execution>
> -                </executions>
> -            </plugin>
> -
> -            <plugin>
> -                <groupId>org.apache.maven.plugins</groupId>
> -                <artifactId>maven-assembly-plugin</artifactId>
> -                <executions>
>                      <execution>
> -                        <id>bin</id>
> +                        <id>archive</id>
>                          <phase>package</phase>
>                          <goals>
> -                            <goal>attached</goal>
> +                            <goal>archive</goal>
>                          </goals>
> -                        <configuration>
> -                            <descriptors>
> -                                <descriptor>${pom.basedir}/src/main/assembly/bin.xml</descriptor>
> -                            </descriptors>
> -                        </configuration>
>                      </execution>
>                  </executions>
>              </plugin>
> +
>          </plugins>
>      </build>
>  
> 
> Modified: geronimo/server/trunk/assemblies/geronimo-tomcat6-minimal/pom.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/geronimo-tomcat6-minimal/pom.xml?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/assemblies/geronimo-tomcat6-minimal/pom.xml (original)
> +++ geronimo/server/trunk/assemblies/geronimo-tomcat6-minimal/pom.xml Tue Dec  4 15:49:03 2007
> @@ -19,9 +19,9 @@
>  <!-- $Rev$ $Date$ -->
>  
>  <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.apache.geronimo.assemblies</groupId>
>          <artifactId>assemblies</artifactId>
> @@ -32,11 +32,11 @@
>      <artifactId>geronimo-tomcat6-minimal</artifactId>
>      <name>Geronimo Assemblies :: Minimal + Tomcat</name>
>      <packaging>application-assembly</packaging>
> -    
> +
>      <description>
>          A minimal Geronimo server (Little-G) assembly using the Tomcat web-container.
>      </description>
> -    
> +
>      <dependencies>
>          <dependency>
>              <groupId>org.apache.geronimo.assemblies</groupId>
> @@ -46,63 +46,63 @@
>              <classifier>bin</classifier>
>              <scope>provided</scope>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>j2ee-system</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>client-system</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>upgrade-cli</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>rmi-naming</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>j2ee-server</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>j2ee-security</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>tomcat6</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>jasper</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>jasper-deployer</artifactId>
> @@ -116,7 +116,7 @@
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>connector-deployer</artifactId>
> @@ -137,21 +137,21 @@
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>shutdown</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>sharedlib</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>online-deployer</artifactId>
> @@ -186,42 +186,42 @@
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>jsr88-war-configurer</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>jsr88-ear-configurer</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>unavailable-client-deployer</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>unavailable-webservices-deployer</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>unavailable-ejb-deployer</artifactId>
>              <version>${version}</version>
>              <type>car</type>
>          </dependency>
> -        
> +
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
>              <artifactId>hot-deployer</artifactId>
> @@ -229,7 +229,7 @@
>              <type>car</type>
>          </dependency>
>      </dependencies>
> -    
> +
>      <build>
>          <resources>
>              <resource>
> @@ -237,7 +237,7 @@
>                  <filtering>true</filtering>
>              </resource>
>          </resources>
> -        
> +
>          <plugins>
>              <plugin>
>                  <groupId>org.apache.maven.plugins</groupId>
> @@ -332,32 +332,22 @@
>                  <artifactId>car-maven-plugin</artifactId>
>                  <executions>
>                      <execution>
> -                        <phase>package</phase>
> +                        <id>install</id>
> +                        <phase>compile</phase>
>                          <goals>
>                              <goal>install-modules</goal>
>                          </goals>
>                      </execution>
> -                </executions>
> -            </plugin>
> -
> -            <plugin>
> -                <groupId>org.apache.maven.plugins</groupId>
> -                <artifactId>maven-assembly-plugin</artifactId>
> -                <executions>
>                      <execution>
> -                        <id>bin</id>
> +                        <id>archive</id>
>                          <phase>package</phase>
>                          <goals>
> -                            <goal>attached</goal>
> +                            <goal>archive</goal>
>                          </goals>
> -                        <configuration>
> -                            <descriptors>
> -                                <descriptor>${pom.basedir}/src/main/assembly/bin.xml</descriptor>
> -                            </descriptors>
> -                        </configuration>
>                      </execution>
>                  </executions>
>              </plugin>
> +
>          </plugins>
>      </build>
>  
> 
> Modified: geronimo/server/trunk/framework/configs/j2ee-system/pom.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/configs/j2ee-system/pom.xml?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/framework/configs/j2ee-system/pom.xml (original)
> +++ geronimo/server/trunk/framework/configs/j2ee-system/pom.xml Tue Dec  4 15:49:03 2007
> @@ -107,7 +107,23 @@
>              <groupId>org.apache.geronimo.specs</groupId>
>              <artifactId>geronimo-activation_1.1_spec</artifactId>
>          </dependency>
> -
> +        <dependency>
> +            <groupId>org.codehaus.plexus</groupId>
> +            <artifactId>plexus-archiver</artifactId>
> +        </dependency>
> +        <dependency>
> +            <groupId>org.codehaus.plexus</groupId>
> +            <artifactId>plexus-utils</artifactId>
> +        </dependency>
> +        <dependency>
> +          <groupId>org.codehaus.plexus</groupId>
> +          <artifactId>plexus-container-default</artifactId>
> +        </dependency>
> +        <dependency>
> +          <groupId>org.codehaus.plexus</groupId>
> +          <artifactId>plexus-component-api</artifactId>
> +        </dependency>
> + 
>          <!-- build order hint -->
>          <dependency>
>              <groupId>org.apache.geronimo.configs</groupId>
> 
> Modified: geronimo/server/trunk/framework/configs/rmi-naming/src/main/plan/plan.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/configs/rmi-naming/src/main/plan/plan.xml?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/framework/configs/rmi-naming/src/main/plan/plan.xml (original)
> +++ geronimo/server/trunk/framework/configs/rmi-naming/src/main/plan/plan.xml Tue Dec  4 15:49:03 2007
> @@ -91,9 +91,9 @@
>          </references>
>      </gbean>
>  
> -    <gbean name="DefaultServer" class="org.apache.geronimo.system.plugin.ServerInstance">
> -        <attribute name="serverName">default</attribute>
> -        <reference name="PluginAttributeStore">
> +    <gbean name="DefaultServer" class="org.apache.geronimo.system.plugin.ReferenceServerInstanceData">
> +        <attribute name="name">default</attribute>
> +        <reference name="AttributeStore">
>              <name>AttributeManager</name>
>          </reference>
>          <reference name="ArtifactResolver">
> @@ -101,68 +101,38 @@
>          </reference>
>      </gbean>
>  
> -    <gbean name="Offline" class="org.apache.geronimo.system.plugin.ServerInstance">
> -        <attribute name="serverName">offline</attribute>
> -        <reference name="PluginAttributeStore">
> -            <name>OfflineAttributeManager</name>
> -        </reference>
> -        <reference name="ArtifactResolver">
> -            <name>ArtifactResolver</name>
> -        </reference>
> -    </gbean>
> -    <gbean name="OfflineAttributeManager" class="org.apache.geronimo.system.configuration.LocalAttributeManager">
> -        <reference name="ServerInfo">
> -            <name>ServerInfo</name>
> -        </reference>
> -        <attribute name="readOnly">true</attribute>
> +    <gbean name="Offline" class="org.apache.geronimo.system.plugin.ServerInstanceData">
> +        <attribute name="name">offline</attribute>
>          <attribute name="configFile">var/config/offline-deployer-config.xml</attribute>
> -        <attribute name="substitutionsFile">var/config/config-substitutions.properties</attribute>
> -        <attribute name="substitutionPrefix">org.apache.geronimo.config.substitution.</attribute>
> +        <attribute name="configSubstitutionsFileName">var/config/config-substitutions.properties</attribute>
> +        <attribute name="configSubstitutionsPrefix">org.apache.geronimo.config.substitution.</attribute>
> +        <attribute name="artifactAliasesFileName">var/config/artifact_aliases.properties</attribute>
>      </gbean>
>  
> -    <gbean name="Client" class="org.apache.geronimo.system.plugin.ServerInstance">
> -        <attribute name="serverName">client</attribute>
> -        <reference name="PluginAttributeStore">
> -            <name>AttributeManager</name>
> -        </reference>
> -        <reference name="ArtifactResolver">
> -            <name>ClientArtifactResolver</name>
> -        </reference>
> -    </gbean>
> -    <gbean name="ClientArtifactResolver" class="org.apache.geronimo.system.resolver.ExplicitDefaultArtifactResolver">
> -        <reference name="ArtifactManager">
> -            <name>ArtifactManager</name>
> -        </reference>
> -        <reference name="Repositories"></reference>
> -        <attribute name="versionMapLocation">var/config/client_artifact_aliases.properties</attribute>
> -        <reference name="ServerInfo">
> -            <name>ServerInfo</name>
> -        </reference>
> +    <gbean name="Client" class="org.apache.geronimo.system.plugin.ServerInstanceData">
> +        <attribute name="name">client</attribute>
> +        <attribute name="attributeManagerFrom">default</attribute>
> +        <attribute name="artifactAliasesFileName">var/config/client_artifact_aliases.properties</attribute>
> +        <dependency><name>DefaultServer</name></dependency>
>      </gbean>
>  
> -    <gbean name="Jsr88" class="org.apache.geronimo.system.plugin.ServerInstance">
> -        <attribute name="serverName">jsr88</attribute>
> -        <reference name="PluginAttributeStore">
> -            <name>Jsr88AttributeManager</name>
> -        </reference>
> -        <reference name="ArtifactResolver">
> -            <name>ArtifactResolver</name>
> -        </reference>
> -    </gbean>
> -    <gbean name="Jsr88AttributeManager" class="org.apache.geronimo.system.configuration.LocalAttributeManager">
> -        <reference name="ServerInfo">
> -            <name>ServerInfo</name>
> -        </reference>
> -        <attribute name="readOnly">true</attribute>
> +    <gbean name="Jsr88" class="org.apache.geronimo.system.plugin.ServerInstanceData">
> +        <attribute name="name">jsr88</attribute>
>          <attribute name="configFile">var/config/jsr88-configurer-config.xml</attribute>
> -        <attribute name="substitutionsFile">var/config/config-substitutions.properties</attribute>
> -        <attribute name="substitutionPrefix">org.apache.geronimo.config.substitution.</attribute>
> +        <attribute name="configSubstitutionsFileName">var/config/config-substitutions.properties</attribute>
> +        <attribute name="configSubstitutionsPrefix">org.apache.geronimo.config.substitution.</attribute>
> +        <attribute name="artifactAliasesFileName">var/config/artifact_aliases.properties</attribute>
>      </gbean>
>  
> -
>      <gbean name="DownloadedPluginRepos" class="org.apache.geronimo.system.plugin.PluginRepositoryDownloader">
>          <attribute name="repositoryList">http://geronimo.apache.org/plugins/plugin-repository-list-2.1.txt</attribute>
>          <attribute name="userRepositories">~/.m2/repository</attribute>
> +    </gbean>
> +
> +    <gbean name="Archiver" class="org.apache.geronimo.system.plugin.ArchiverGBean">
> +        <reference name="ServerInfo">
> +            <name>ServerInfo</name>
> +        </reference>
>      </gbean>
>  
>  </module>
> 
> Added: geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/AssembleServerCommand.groovy
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/AssembleServerCommand.groovy?rev=601152&view=auto
> ==============================================================================
> --- geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/AssembleServerCommand.groovy (added)
> +++ geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/AssembleServerCommand.groovy Tue Dec  4 15:49:03 2007
> @@ -0,0 +1,84 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *  http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.geronimo.commands
> +
> +
> +import jline.ConsoleReader
> +
> +import org.apache.geronimo.gshell.clp.Option
> +import org.apache.geronimo.gshell.command.annotation.CommandComponent
> +import org.apache.geronimo.gshell.command.CommandSupport
> +import org.apache.geronimo.deployment.cli.ServerConnection
> +import org.apache.geronimo.cli.deployer.BaseCommandArgs
> +import org.apache.geronimo.deployment.cli.CommandListConfigurations
> +import org.apache.geronimo.kernel.repository.Artifact
> +
> +/**
> + * install plugins.
> + *
> + * @version $Rev: 580864 $ $Date: 2007-09-30 23:47:39 -0700 (Sun, 30 Sep 2007) $
> + */
> +@CommandComponent(id='geronimo-commands:assemble-server', description="Extract a geronimo server from the current one")
> +class AssembleServerCommand
> +    extends ConnectCommand
> +{
> +
> +    @Option(name='-l', aliases=['--list'], description='refresh plugin list')
> +    boolean refreshList = false
> +
> +    @Option(name='-t', aliases=['--path'], description='assembly location')
> +    String relativeServerPath = "var/temp/assembly"
> +
> +    @Option(name='-g', aliases=['--groupId'], description='server groupId')
> +    String group
> +
> +    @Option(name='-a', aliases=['--artifact'], description='server artifact name')
> +    String artifact
> +
> +    @Option(name='-v', aliases=['--version'], description='server version')
> +    String version
> +
> +    @Option(name='-f', aliases=['--format'], description='zip or tar.gz')
> +    String format = "tar.gz"
> +
> +    protected Object doExecute() throws Exception {
> +        io.out.println("Listing configurations from Geronimo server")
> +
> +        def connection = variables.get("ServerConnection")
> +        if (!connection) {
> +            //def connectCommand = new ConnectCommand()
> +            //connectCommand.init(context)
> +            connection = super.doExecute()
> +        }
> +        def command = new CommandListConfigurations()
> +        def consoleReader = new ConsoleReader(io.inputStream, io.out)
> +        def plugins = variables.get("LocalPlugins")
> +        if (refreshList || !plugins) {
> +            plugins = command.getLocalPluginCategories(connection.getDeploymentManager(), consoleReader)
> +            variables.parent.set("LocalPlugins", plugins)
> +        }
> +        def pluginsToInstall = command.getInstallList(plugins, consoleReader, null)
> +        if (pluginsToInstall) {
> +            command.assembleServer(connection.getDeploymentManager(), pluginsToInstall, 'repository', relativeServerPath, consoleReader)
> +            connection.getDeploymentManager().archive(relativeServerPath, "var/temp", new Artifact(group, artifact, version, format));
> +        }
> +        io.out.println("list ended")
> +    }
> +}
> \ No newline at end of file
> 
> Modified: geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/ListConfigurationsCommand.groovy
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/ListConfigurationsCommand.groovy?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/ListConfigurationsCommand.groovy (original)
> +++ geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/ListConfigurationsCommand.groovy Tue Dec  4 15:49:03 2007
> @@ -67,7 +67,7 @@
>          }
>          def pluginsToInstall = command.getInstallList(plugins, consoleReader, repo)
>          if (pluginsToInstall) {
> -            command.installPlugins(connection.getDeploymentManager(), pluginsToInstall, consoleReader, connection)
> +            command.installPlugins(connection.getDeploymentManager(), pluginsToInstall, repo, consoleReader, connection)
>          }
>          io.out.println("list ended")
>      }
> 
> Modified: geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/GeronimoDeploymentManager.java
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/GeronimoDeploymentManager.java?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/GeronimoDeploymentManager.java (original)
> +++ geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/GeronimoDeploymentManager.java Tue Dec  4 15:49:03 2007
> @@ -17,15 +17,17 @@
>  package org.apache.geronimo.deployment.plugin;
>  
>  import java.net.URL;
> -import org.apache.geronimo.system.plugin.PluginInstaller;
>  
>  import javax.enterprise.deploy.spi.DeploymentManager;
>  
> +import org.apache.geronimo.system.plugin.PluginInstaller;
> +import org.apache.geronimo.system.plugin.ServerArchiver;
> +
>  /**
>   * Enhanced features for Geronimo deployment manager
>   *
>   * @version $Rev$ $Date$
>   */
> -public interface GeronimoDeploymentManager extends DeploymentManager, PluginInstaller {
> +public interface GeronimoDeploymentManager extends DeploymentManager, PluginInstaller, ServerArchiver {
>      public URL[] getRepositories();
>  }
> 
> Modified: geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/RemoteDeploymentManager.java
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/RemoteDeploymentManager.java?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/RemoteDeploymentManager.java (original)
> +++ geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/RemoteDeploymentManager.java Tue Dec  4 15:49:03 2007
> @@ -52,8 +52,6 @@
>  import org.apache.geronimo.gbean.AbstractNameQuery;
>  import org.apache.geronimo.gbean.GBeanInfo;
>  import org.apache.geronimo.gbean.GBeanInfoBuilder;
> -import org.apache.geronimo.kernel.Kernel;
> -import org.apache.geronimo.kernel.config.ConfigurationManager;
>  import org.apache.geronimo.kernel.config.NoSuchStoreException;
>  import org.apache.geronimo.kernel.repository.Artifact;
>  import org.apache.geronimo.kernel.repository.Dependency;
> @@ -63,15 +61,17 @@
>  import org.apache.geronimo.system.plugin.DownloadResults;
>  import org.apache.geronimo.system.plugin.PluginInstaller;
>  import org.apache.geronimo.system.plugin.PluginRepositoryList;
> +import org.apache.geronimo.system.plugin.ServerArchiver;
>  import org.apache.geronimo.system.plugin.model.PluginListType;
>  import org.apache.geronimo.system.plugin.model.PluginType;
> +import org.codehaus.plexus.archiver.ArchiverException;
>  
>  /**
>   * Connects to a Kernel in a remote VM (may or many not be on the same machine).
>   *
>   * @version $Rev$ $Date$
>   */
> -public class RemoteDeploymentManager extends JMXDeploymentManager implements GeronimoDeploymentManager {
> +public class RemoteDeploymentManager extends JMXDeploymentManager implements GeronimoDeploymentManager, ServerArchiver {
>      private static final Log log = LogFactory.getLog(RemoteDeploymentManager.class);
>  
>      private JMXConnector jmxConnector;
> @@ -192,34 +192,34 @@
>      }
>  
>  
> -    public DownloadResults install(PluginListType configsToInstall, String username, String password) {
> +    public DownloadResults install(PluginListType configsToInstall, String defaultRepository, boolean restrictToDefaultRepository, String username, String password) {
>          PluginInstaller installer = getPluginInstaller();
>          try {
> -            return installer.install(configsToInstall, username, password);
> +            return installer.install(configsToInstall, defaultRepository, restrictToDefaultRepository, username, password);
>          } finally {
>              kernel.getProxyManager().destroyProxy(installer);
>          }
>      }
>  
> -    public void install(PluginListType configsToInstall, String username, String password, DownloadPoller poller) {
> +    public void install(PluginListType configsToInstall, String defaultRepository, boolean restrictToDefaultRepository, String username, String password, DownloadPoller poller) {
>          PluginInstaller installer = getPluginInstaller();
>          try {
> -            installer.install(configsToInstall, username, password, poller);
> +            installer.install(configsToInstall, defaultRepository, restrictToDefaultRepository, username, password, poller);
>          } finally {
>              kernel.getProxyManager().destroyProxy(installer);
>          }
>      }
>  
> -    public Object startInstall(PluginListType configsToInstall, String username, String password) {
> +    public Object startInstall(PluginListType configsToInstall, String defaultRepository, boolean restrictToDefaultRepository, String username, String password) {
>          PluginInstaller installer = getPluginInstaller();
>          try {
> -            return installer.startInstall(configsToInstall, username, password);
> +            return installer.startInstall(configsToInstall, defaultRepository, restrictToDefaultRepository, username, password);
>          } finally {
>              kernel.getProxyManager().destroyProxy(installer);
>          }
>      }
>  
> -    public Object startInstall(File carFile, String username, String password) {
> +    public Object startInstall(File carFile, String defaultRepository, boolean restrictToDefaultRepository, String username, String password) {
>          File[] args = new File[]{carFile};
>          if (!isSameMachine) {
>              AbstractDeployCommand progress = new AbstractDeployCommand(CommandType.DISTRIBUTE, kernel, null, null, null,
> @@ -236,7 +236,7 @@
>          }
>          PluginInstaller installer = getPluginInstaller();
>          try {
> -            return installer.startInstall(carFile, username, password);
> +            return installer.startInstall(carFile, defaultRepository, restrictToDefaultRepository, username, password);
>          } finally {
>              kernel.getProxyManager().destroyProxy(installer);
>          }
> @@ -257,14 +257,20 @@
>              return (PluginInstaller) kernel.getProxyManager().createProxy(name, PluginInstaller.class);
>          }
>          throw new IllegalStateException("No plugin installer found");
> -
> +    }
> +    private ServerArchiver getServerArchiver() {
> +        Set<AbstractName> set = kernel.listGBeans(new AbstractNameQuery(ServerArchiver.class.getName()));
> +        for (AbstractName name : set) {
> +            return (ServerArchiver) kernel.getProxyManager().createProxy(name, ServerArchiver.class);
> +        }
> +        throw new IllegalStateException("No plugin installer found");
>      }
>  
>      //not likely to be useful remotely
> -    public PluginListType createPluginListForRepositories(ConfigurationManager mgr, String repo) throws NoSuchStoreException {
> +    public PluginListType createPluginListForRepositories(String repo) throws NoSuchStoreException {
>          PluginInstaller installer = getPluginInstaller();
>          try {
> -            return installer.createPluginListForRepositories(mgr, repo);
> +            return installer.createPluginListForRepositories(repo);
>          } finally {
>              kernel.getProxyManager().destroyProxy(installer);
>          }
> @@ -327,11 +333,29 @@
>          Set<AbstractName> set = kernel.listGBeans(new AbstractNameQuery(PluginInstaller.class.getName()));
>          for (AbstractName name : set) {
>              PluginInstaller installer = (PluginInstaller) kernel.getProxyManager().createProxy(name, PluginInstaller.class);
> -            Artifact artifact = (Artifact) installer.installLibrary(libFile, groupId);
> +            Artifact artifact = installer.installLibrary(libFile, groupId);
>              kernel.getProxyManager().destroyProxy(installer);
>              return artifact;
>          }
>          return null;
> +    }
> +
> +    public void installPluginList(String targetRepositoryPath, String relativeTargetServerPath, PluginListType pluginList, DownloadResults downloadPoller) throws Exception {
> +        PluginInstaller installer = getPluginInstaller();
> +        try {
> +            installer.installPluginList(targetRepositoryPath, relativeTargetServerPath, pluginList, downloadPoller);
> +        } finally {
> +            kernel.getProxyManager().destroyProxy(installer);
> +        }
> +    }
> +
> +    public File archive(String sourcePath, String destPath, Artifact artifact) throws ArchiverException, IOException {
> +        ServerArchiver archiver = getServerArchiver();
> +        try {
> +            return archiver.archive(sourcePath, destPath, artifact);
> +        } finally {
> +            kernel.getProxyManager().destroyProxy(archiver);
> +        }
>      }
>  
>      public static final GBeanInfo GBEAN_INFO;
> 
> Modified: geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandInstallCAR.java
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandInstallCAR.java?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandInstallCAR.java (original)
> +++ geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandInstallCAR.java Tue Dec  4 15:49:03 2007
> @@ -48,7 +48,8 @@
>                  if(!carFile.exists() || !carFile.canRead()) {
>                      throw new DeploymentException("CAR file cannot be read: "+carFile.getAbsolutePath());
>                  }
> -                Object key = mgr.startInstall(carFile, null, null);
> +                //TODO figure out if there is a plausible default repo
> +                Object key = mgr.startInstall(carFile, null, false, null, null);
>                  long start = System.currentTimeMillis();
>                  DownloadResults results = showProgress(mgr, key);
>                  int time = (int)(System.currentTimeMillis() - start) / 1000;
> 
> Modified: geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandListConfigurations.java
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandListConfigurations.java?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandListConfigurations.java (original)
> +++ geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandListConfigurations.java Tue Dec  4 15:49:03 2007
> @@ -35,6 +35,7 @@
>  import org.apache.geronimo.common.DeploymentException;
>  import org.apache.geronimo.deployment.plugin.GeronimoDeploymentManager;
>  import org.apache.geronimo.kernel.repository.Artifact;
> +import org.apache.geronimo.kernel.config.NoSuchStoreException;
>  import org.apache.geronimo.system.plugin.DownloadResults;
>  import org.apache.geronimo.system.plugin.PluginInstallerGBean;
>  import org.apache.geronimo.system.plugin.model.PluginArtifactType;
> @@ -71,7 +72,7 @@
>                      return;
>                  }
>  
> -                installPlugins(mgr, list, consoleReader, connection);
> +                installPlugins(mgr, list, repo, consoleReader, connection);
>              } catch (IOException e) {
>                  throw new DeploymentException("Unable to install configuration", e);
>              } catch (NumberFormatException e) {
> @@ -82,41 +83,78 @@
>          }
>      }
>  
> -    public void installPlugins(GeronimoDeploymentManager mgr, PluginListType list, ConsoleReader consoleReader, ServerConnection connection) throws IOException, DeploymentException {
> -        long start = System.currentTimeMillis();
> -        Object key = mgr.startInstall(list, null, null);
> -        DownloadResults results = CommandInstallCAR.showProgress(mgr, key);
> -        int time = (int) (System.currentTimeMillis() - start) / 1000;
> +    public String getRepository(ConsoleReader consoleReader, GeronimoDeploymentManager mgr) throws IOException, DeploymentException {
> +        URL[] all = mgr.getRepositories();
> +        if (all.length == 0) {
> +            throw new DeploymentException("No default repositories available.  Please either specify the repository " +
> +                    "URL on the command line, or go into the console Plugin page and update the list of available " +
> +                    "repositories.");
> +        }
>          consoleReader.printNewline();
> -        if (!results.isFailed()) {
> -            DeployUtils.println("**** Installation Complete!", 0, consoleReader);
> +        consoleReader.printString("Select repository:");
> +        consoleReader.printNewline();
> +        for (int i = 0; i < all.length; i++) {
> +            URL url = all[i];
> +            DeployUtils.printTo("  " + (i + 1) + ". ", 8, consoleReader);
> +            DeployUtils.println(url.toString(), 0, consoleReader);
> +        }
> +        String entry = consoleReader.readLine("Enter Repository Number: ").trim();
> +        int index = Integer.parseInt(entry);
> +        return all[index - 1].toString();
> +    }
>  
> -            for (int i = 0; i < results.getDependenciesPresent().length; i++) {
> -                Artifact uri = results.getDependenciesPresent()[i];
> -                DeployUtils.println("Used existing: " + uri, 0, consoleReader);
> +    public Map<String, Collection<PluginType>> getPluginCategories(String repo, GeronimoDeploymentManager mgr, ConsoleReader consoleReader) throws DeploymentException, IOException {
> +        PluginListType data;
> +        URL repository;
> +        try {
> +            repository = new URL(repo);
> +            data = mgr.listPlugins(repository, null, null);
> +        } catch (IOException e) {
> +            throw new DeploymentException("Unable to list configurations", e);
> +        } catch (FailedLoginException e) {
> +            throw new DeploymentException("Invalid login for Maven repository '" + repo + "'", e);
> +        }
> +        return writePluginList(data, consoleReader);
> +    }
>  
> -            }
> -            for (int i = 0; i < results.getDependenciesInstalled().length; i++) {
> -                Artifact uri = results.getDependenciesInstalled()[i];
> -                DeployUtils.println("Installed new: " + uri, 0, consoleReader);
> +    public Map<String, Collection<PluginType>> getLocalPluginCategories(GeronimoDeploymentManager mgr, ConsoleReader consoleReader) throws DeploymentException, IOException {
> +        PluginListType data;
> +        try {
> +            data = mgr.createPluginListForRepositories(null);
> +        } catch (NoSuchStoreException e) {
> +            throw new DeploymentException("Unable to list configurations", e);
> +        }
> +        return writePluginList(data, consoleReader);
> +    }
>  
> -            }
> +    private Map<String, Collection<PluginType>> writePluginList(PluginListType data, ConsoleReader consoleReader) throws IOException {
> +        if (data == null) {
>              consoleReader.printNewline();
> -            DeployUtils.println(
> -                    "Downloaded " + (results.getTotalDownloadBytes() / 1024) + " kB in " + time + "s (" + results.getTotalDownloadBytes() / (1024 * time) + " kB/s)",
> -                    0, consoleReader);
> -
> +            consoleReader.printString("No plugins were returned from this site.");
> +            consoleReader.printNewline();
> +            consoleReader.flushConsole();
> +            return null;
>          }
> -        if (results.isFinished() && !results.isFailed()) {
> -            for (PluginType plugin : list.getPlugin()) {
> -                for (PluginArtifactType targetInstance : plugin.getPluginArtifact()) {
> -                    DeployUtils.println("Now starting " + PluginInstallerGBean.toArtifact(targetInstance.getModuleId()) + "...", 0, consoleReader);
> -                    consoleReader.flushConsole();
> -                    new CommandStart().execute(consoleReader, connection,
> -                            new BaseCommandArgs(new String[]{PluginInstallerGBean.toArtifact(targetInstance.getModuleId()).toString()}));
> -                }
> +        Map<String, Collection<PluginType>> categories = new TreeMap<String, Collection<PluginType>>();
> +        Comparator<PluginType> comp = new Comparator<PluginType>() {
> +
> +            public int compare(PluginType o1, PluginType o2) {
> +                return o1.getName().compareTo(o2.getName());
>              }
> +        };
> +        for (PluginType metadata : data.getPlugin()) {
> +            String category = metadata.getCategory();
> +            if (category == null) {
> +                category = "<no category>";
> +            }
> +            Collection<PluginType> list = categories.get(category);
> +            if (list == null) {
> +                list = new TreeSet<PluginType>(comp);
> +                categories.put(category, list);
> +            }
> +            list.add(metadata);
>          }
> +        return categories;
>      }
>  
>      public PluginListType getInstallList(Map<String, Collection<PluginType>> categories, ConsoleReader consoleReader, String repo) throws IOException {
> @@ -153,67 +191,61 @@
>              PluginType target = available.get(selection - 1);
>              list.getPlugin().add(target);
>          }
> -        list.getDefaultRepository().add(repo);
> +        if (repo != null) {
> +            list.getDefaultRepository().add(repo);
> +        }
>          return list;
>      }
>  
> -    public Map<String, Collection<PluginType>> getPluginCategories(String repo, GeronimoDeploymentManager mgr, ConsoleReader consoleReader) throws DeploymentException, IOException {
> -        PluginListType data;
> -        URL repository;
> -        try {
> -            repository = new URL(repo);
> -            data = mgr.listPlugins(repository, null, null);
> -        } catch (IOException e) {
> -            throw new DeploymentException("Unable to list configurations", e);
> -        } catch (FailedLoginException e) {
> -            throw new DeploymentException("Invalid login for Maven repository '" + repo + "'", e);
> -        }
> -        if (data == null) {
> -            consoleReader.printNewline();
> -            consoleReader.printString("No plugins were returned from this site.");
> -            consoleReader.printNewline();
> -            consoleReader.flushConsole();
> -            return null;
> +    public void installPlugins(GeronimoDeploymentManager mgr, PluginListType list, String defaultRepository, ConsoleReader consoleReader, ServerConnection connection) throws IOException, DeploymentException {
> +        long start = System.currentTimeMillis();
> +        Object key = mgr.startInstall(list, defaultRepository, false, null, null);
> +        DownloadResults results = CommandInstallCAR.showProgress(mgr, key);
> +        int time = (int) (System.currentTimeMillis() - start) / 1000;
> +        printResults(consoleReader, results, time);
> +        if (results.isFinished() && !results.isFailed()) {
> +            for (PluginType plugin : list.getPlugin()) {
> +                for (PluginArtifactType targetInstance : plugin.getPluginArtifact()) {
> +                    DeployUtils.println("Now starting " + PluginInstallerGBean.toArtifact(targetInstance.getModuleId()) + "...", 0, consoleReader);
> +                    consoleReader.flushConsole();
> +                    new CommandStart().execute(consoleReader, connection,
> +                            new BaseCommandArgs(new String[]{PluginInstallerGBean.toArtifact(targetInstance.getModuleId()).toString()}));
> +                }
> +            }
>          }
> -        Map<String, Collection<PluginType>> categories = new TreeMap<String, Collection<PluginType>>();
> -        Comparator<PluginType> comp = new Comparator<PluginType>() {
> +    }
> +
> +    private void printResults(ConsoleReader consoleReader, DownloadResults results, int time) throws IOException, DeploymentException {
> +        consoleReader.printNewline();
> +        if (!results.isFailed()) {
> +            DeployUtils.println("**** Installation Complete!", 0, consoleReader);
> +
> +            for (int i = 0; i < results.getDependenciesPresent().length; i++) {
> +                Artifact uri = results.getDependenciesPresent()[i];
> +                DeployUtils.println("Used existing: " + uri, 0, consoleReader);
>  
> -            public int compare(PluginType o1, PluginType o2) {
> -                return o1.getName().compareTo(o2.getName());
> -            }
> -        };
> -        for (PluginType metadata : data.getPlugin()) {
> -            String category = metadata.getCategory();
> -            if (category == null) {
> -                category = "<no category>";
>              }
> -            Collection<PluginType> list = categories.get(category);
> -            if (list == null) {
> -                list = new TreeSet<PluginType>(comp);
> -                categories.put(category, list);
> +            for (int i = 0; i < results.getDependenciesInstalled().length; i++) {
> +                Artifact uri = results.getDependenciesInstalled()[i];
> +                DeployUtils.println("Installed new: " + uri, 0, consoleReader);
> +
>              }
> -            list.add(metadata);
> +            consoleReader.printNewline();
> +            DeployUtils.println(
> +                    "Downloaded " + (results.getTotalDownloadBytes() / 1024) + " kB in " + time + "s (" + results.getTotalDownloadBytes() / (1024 * time) + " kB/s)",
> +                    0, consoleReader);
> +
>          }
> -        return categories;
>      }
>  
> -    public String getRepository(ConsoleReader consoleReader, GeronimoDeploymentManager mgr) throws IOException, DeploymentException {
> -        URL[] all = mgr.getRepositories();
> -        if (all.length == 0) {
> -            throw new DeploymentException("No default repositories available.  Please either specify the repository " +
> -                    "URL on the command line, or go into the console Plugin page and update the list of available " +
> -                    "repositories.");
> -        }
> -        consoleReader.printNewline();
> -        consoleReader.printString("Select repository:");
> -        consoleReader.printNewline();
> -        for (int i = 0; i < all.length; i++) {
> -            URL url = all[i];
> -            DeployUtils.printTo("  " + (i + 1) + ". ", 8, consoleReader);
> -            DeployUtils.println(url.toString(), 0, consoleReader);
> -        }
> -        String entry = consoleReader.readLine("Enter Repository Number: ").trim();
> -        int index = Integer.parseInt(entry);
> -        return all[index - 1].toString();
> +    public void assembleServer(GeronimoDeploymentManager mgr, PluginListType list, String repositoryPath, String relativeServerPath, ConsoleReader consoleReader) throws Exception {
> +        DownloadResults results = new DownloadResults();
> +        long start = System.currentTimeMillis();
> +        mgr.installPluginList(repositoryPath, relativeServerPath, list, results);
> +        int time = (int) (System.currentTimeMillis() - start) / 1000;
> +
> +        printResults(consoleReader, results, time);
>      }
> +
> +
>  }
> 
> Modified: geronimo/server/trunk/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/DeploymentContextTest.java
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/DeploymentContextTest.java?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/DeploymentContextTest.java (original)
> +++ geronimo/server/trunk/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/DeploymentContextTest.java Tue Dec  4 15:49:03 2007
> @@ -26,6 +26,7 @@
>  import java.util.HashMap;
>  import java.util.List;
>  import java.util.ArrayList;
> +import java.util.Collection;
>  import java.util.jar.JarFile;
>  
>  import javax.sql.DataSource;
> @@ -53,6 +54,7 @@
>  import org.apache.geronimo.kernel.repository.ArtifactResolver;
>  import org.apache.geronimo.kernel.repository.DefaultArtifactResolver;
>  import org.apache.geronimo.kernel.repository.Version;
> +import org.apache.geronimo.kernel.repository.Repository;
>  import org.apache.geronimo.deployment.util.DeploymentUtil;
>  import org.apache.geronimo.gbean.AbstractName;
>  import org.apache.geronimo.common.DeploymentException;
> @@ -402,6 +404,10 @@
>          }
>  
>          public void setOnline(boolean online) {
> +        }
> +
> +        public Collection<? extends Repository> getRepositories() {
> +            return null;
>          }
>      }
>  
> 
> Modified: geronimo/server/trunk/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java (original)
> +++ geronimo/server/trunk/framework/modules/geronimo-deployment/src/test/java/org/apache/geronimo/deployment/SingleFileHotDeployerTest.java Tue Dec  4 15:49:03 2007
> @@ -51,6 +51,7 @@
>  import org.apache.geronimo.kernel.repository.DefaultArtifactResolver;
>  import org.apache.geronimo.kernel.repository.Environment;
>  import org.apache.geronimo.kernel.repository.Version;
> +import org.apache.geronimo.kernel.repository.Repository;
>  
>  
>  /**
> @@ -469,6 +470,10 @@
>          }
>  
>          public void setOnline(boolean online) {
> +        }
> +
> +        public Collection<? extends Repository> getRepositories() {
> +            return null;
>          }
>      }
>  }
> 
> Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationManager.java
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationManager.java?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationManager.java (original)
> +++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationManager.java Tue Dec  4 15:49:03 2007
> @@ -18,9 +18,12 @@
>  
>  import java.io.IOException;
>  import java.util.List;
> +import java.util.Collection;
> +
>  import org.apache.geronimo.kernel.repository.Artifact;
>  import org.apache.geronimo.kernel.repository.ArtifactResolver;
>  import org.apache.geronimo.kernel.repository.Version;
> +import org.apache.geronimo.kernel.repository.Repository;
>  import org.apache.geronimo.gbean.AbstractName;
>  
>  /**
> @@ -495,4 +498,6 @@
>       */
>      boolean isOnline();
>      void setOnline(boolean online);
> +
> +    Collection<? extends Repository> getRepositories();
>  }
> 
> Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java (original)
> +++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java Tue Dec  4 15:49:03 2007
> @@ -53,7 +53,7 @@
>      private final ArtifactResolver artifactResolver;
>      protected final Map configurations = new LinkedHashMap();
>      protected final ConfigurationModel configurationModel = new ConfigurationModel();
> -    protected final Collection repositories;
> +    protected final Collection<? extends Repository> repositories;
>      protected final Collection watchers;
>  
>      /**
> @@ -65,16 +65,16 @@
>      private Configuration reloadingConfiguration;
>  
>  
> -    public SimpleConfigurationManager(Collection stores, ArtifactResolver artifactResolver, Collection repositories) {
> +    public SimpleConfigurationManager(Collection stores, ArtifactResolver artifactResolver, Collection<? extends Repository> repositories) {
>          this(stores, artifactResolver, repositories, Collections.EMPTY_SET);
>      }
>      
>      public SimpleConfigurationManager(Collection stores,
>              ArtifactResolver artifactResolver,
> -            Collection repositories,
> +            Collection<? extends Repository> repositories,
>              Collection watchers) {
>          if (stores == null) stores = Collections.EMPTY_SET;
> -        if (repositories == null) repositories = Collections.EMPTY_SET;
> +        if (repositories == null) repositories = Collections.emptySet();
>          if (watchers == null) watchers = Collections.EMPTY_SET;
>  
>          this.stores = stores;
> @@ -153,7 +153,7 @@
>          return (ConfigurationStore[]) storeSnapshot.toArray(new ConfigurationStore[storeSnapshot.size()]);
>      }
>  
> -    public Collection getRepositories() {
> +    public Collection<? extends Repository> getRepositories() {
>          return repositories;
>      }
>  
> @@ -181,10 +181,9 @@
>          return null;
>      }
>  
> -    public List listConfigurations(AbstractName storeName) throws NoSuchStoreException {
> -        List storeSnapshot = getStoreList();
> -        for (int i = 0; i < storeSnapshot.size(); i++) {
> -            ConfigurationStore store = (ConfigurationStore) storeSnapshot.get(i);
> +    public List<ConfigurationInfo> listConfigurations(AbstractName storeName) throws NoSuchStoreException {
> +        List<ConfigurationStore> storeSnapshot = getStoreList();
> +        for (ConfigurationStore store : storeSnapshot) {
>              if (storeName.equals(store.getAbstractName())) {
>                  return listConfigurations(store);
>              }
> @@ -192,9 +191,9 @@
>          throw new NoSuchStoreException("No such store: " + storeName);
>      }
>  
> -    private List listConfigurations(ConfigurationStore store) {
> -        List list = store.listConfigurations();
> -        for (ListIterator iterator = list.listIterator(); iterator.hasNext();) {
> +    private List<ConfigurationInfo> listConfigurations(ConfigurationStore store) {
> +        List<ConfigurationInfo> list = store.listConfigurations();
> +        for (ListIterator<ConfigurationInfo> iterator = list.listIterator(); iterator.hasNext();) {
>              ConfigurationInfo configurationInfo = (ConfigurationInfo) iterator.next();
>              if (isRunning(configurationInfo.getConfigID())) {
>                  configurationInfo = new ConfigurationInfo(store.getAbstractName(),
> 
> Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/repository/Maven2Repository.java
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/repository/Maven2Repository.java?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/repository/Maven2Repository.java (original)
> +++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/repository/Maven2Repository.java Tue Dec  4 15:49:03 2007
> @@ -187,4 +187,11 @@
>          return artifacts;
>      }
>  
> +    /**
> +     * @deprecated
> +     * @return
> +     */
> +    public String getRootPath() {
> +        return rootFile.getPath();
> +    }
>  }
> 
> Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/repository/WritableListableRepository.java
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/repository/WritableListableRepository.java?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/repository/WritableListableRepository.java (original)
> +++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/repository/WritableListableRepository.java Tue Dec  4 15:49:03 2007
> @@ -20,4 +20,9 @@
>   * @version $Rev$ $Date$
>   */
>  public interface WritableListableRepository extends WriteableRepository, ListableRepository {
> +    /**
> +     * @deprecated.  Please please don't use this temporary hack
> +     * @return
> +     */
> +    String getRootPath();
>  }
> 
> Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/src/test/java/org/apache/geronimo/kernel/mock/MockWritableListableRepository.java
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-kernel/src/test/java/org/apache/geronimo/kernel/mock/MockWritableListableRepository.java?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/framework/modules/geronimo-kernel/src/test/java/org/apache/geronimo/kernel/mock/MockWritableListableRepository.java (original)
> +++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/test/java/org/apache/geronimo/kernel/mock/MockWritableListableRepository.java Tue Dec  4 15:49:03 2007
> @@ -37,4 +37,12 @@
>  
>      public void copyToRepository(InputStream source, int size, Artifact destination, FileWriteMonitor monitor) throws IOException {
>      }
> +
> +    /**
> +     * @deprecated remove as soon as possible && dont ever use
> +     * @return
> +     */
> +    public String getRootPath() {
> +        return null;
> +    }
>  }
> 
> Modified: geronimo/server/trunk/framework/modules/geronimo-system/pom.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-system/pom.xml?rev=601152&r1=601151&r2=601152&view=diff
> ==============================================================================
> --- geronimo/server/trunk/framework/modules/geronimo-system/pom.xml (original)
> +++ geronimo/server/trunk/framework/modules/geronimo-system/pom.xml Tue Dec  4 15:49:03 2007
> @@ -94,6 +94,12 @@
>              <artifactId>wstx-asl</artifactId>
>          </dependency>
>  
> +        <!-- archiver seems to need to be same version as maven uses ??? -->
> +        <dependency>
> +            <groupId>org.codehaus.plexus</groupId>
> +            <artifactId>plexus-archiver</artifactId>
> +        </dependency>
> +
>      </dependencies>
>  
>      <build>
> 
> 
> 

Re: svn commit: r601152 [1/4] - in /geronimo/server/trunk: ./ applications/welcome/geronimo-welcome/src/main/java/org/apache/geronimo/welcome/ assemblies/geronimo-boilerplate-minimal/src/main/underlay/META-INF/ assemblies/geronimo-boilerplate-minimal/src/m...

Posted by David Jencks <da...@yahoo.com>.
On Dec 5, 2007, at 6:18 AM, Joe Bohn wrote:

> David,
>
> Can you provide some more details on the intent of this change?  It  
> sounds like the "clone a server" idea we had discussed earlier but  
> I might be wrong.

I don't remember what the "clone a server" feature was.

This one lets you extract a server containing a set of plugins from a  
running geronimo server.  After starting your geronimo server, in a  
separate console run

./bin/gsh  deploy/assemble -g org.foo -a test -v 1.0-SNAPSHOT

and pick the plugins you want.  Your new server will be in var/temp/ 
test-1.0-SNAPSHOT-bin.tar.gz

Be sure to include the " Geronimo Configs :: Boilerplate (2.1- 
SNAPSHOT)" boilerplate car from Geronimo Core.

I could really use some help figuring out the option names and  
missing functionality on this one... for instance should the server  
get copied into the local maven repo?

thanks
david jencks
>
> On a side note ... it looks like this change moved and renamed a  
> number of jars.  This has broken our tck tests for the time being.   
> I imagine it will be easy to fix ... I'm looking into it now.
>
> Joe
>
>
> djencks@apache.org wrote:
>> Author: djencks
>> Date: Tue Dec  4 15:49:03 2007
>> New Revision: 601152
>> URL: http://svn.apache.org/viewvc?rev=601152&view=rev
>> Log:
>> GERONIMO-3607 Add 'assemble a server' support to geronimo and use  
>> it from car-maven-plugin and gshell.  Not yet available in the  
>> console.  Better repository support would be desirable
>> Added:
>>     geronimo/server/trunk/framework/modules/geronimo-commands/src/ 
>> main/groovy/org/apache/geronimo/commands/AssembleServerCommand.groovy
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> main/java/org/apache/geronimo/system/configuration/ 
>> LocalPluginAttributeStore.java   (with props)
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> main/java/org/apache/geronimo/system/plugin/ArchiverGBean.java    
>> (with props)
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> main/java/org/apache/geronimo/system/plugin/ 
>> ReferenceServerInstanceData.java   (with props)
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> main/java/org/apache/geronimo/system/plugin/ServerArchiver.java    
>> (with props)
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> main/java/org/apache/geronimo/system/plugin/ 
>> ServerInstanceData.java   (contents, props changed)
>>       - copied, changed from r599234, geronimo/server/trunk/maven- 
>> plugins/car-maven-plugin/src/main/java/org/apache/geronimo/ 
>> mavenplugins/car/ServerInstance.java
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> main/java/org/apache/geronimo/system/resolver/ 
>> LocalAliasedArtifactResolver.java   (with props)
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> test/java/org/apache/geronimo/system/plugin/ 
>> ArchiverGBeanTest.java   (with props)
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> test/resources/archivertest/
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> test/resources/archivertest/bin/
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> test/resources/archivertest/bin/gsh   (with props)
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> test/resources/archivertest/bin/gsh.bat   (with props)
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> test/resources/archivertest/lib/
>>     geronimo/server/trunk/maven-plugins/car-maven-plugin/src/main/ 
>> java/org/apache/geronimo/mavenplugins/car/ArchiveMojo.java   (with  
>> props)
>>     geronimo/server/trunk/maven-plugins/car-maven-plugin/src/main/ 
>> java/org/apache/geronimo/mavenplugins/car/ServerInstance.java
>> Removed:
>>     geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> main/java/org/apache/geronimo/kernel/repository/Maven1Repository.java
>>     geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> test/java/org/apache/geronimo/kernel/repository/ 
>> Maven1RepositoryTest.java
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> main/java/org/apache/geronimo/system/repository/Maven1Repository.java
>> Modified:
>>     geronimo/server/trunk/applications/welcome/geronimo-welcome/ 
>> src/main/java/org/apache/geronimo/welcome/AbsentSampleServlet.java
>>     geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/ 
>> src/main/underlay/META-INF/geronimo-plugin.xml
>>     geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/ 
>> src/main/underlay/etc/gsh-classworlds.conf
>>     geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/ 
>> src/main/underlay/etc/layout.xml
>>     geronimo/server/trunk/assemblies/geronimo-framework/pom.xml
>>     geronimo/server/trunk/assemblies/geronimo-jetty6-javaee5/pom.xml
>>     geronimo/server/trunk/assemblies/geronimo-jetty6-minimal/pom.xml
>>     geronimo/server/trunk/assemblies/geronimo-tomcat6-javaee5/pom.xml
>>     geronimo/server/trunk/assemblies/geronimo-tomcat6-minimal/pom.xml
>>     geronimo/server/trunk/framework/configs/j2ee-system/pom.xml
>>     geronimo/server/trunk/framework/configs/rmi-naming/src/main/ 
>> plan/plan.xml
>>     geronimo/server/trunk/framework/modules/geronimo-commands/src/ 
>> main/groovy/org/apache/geronimo/commands/ 
>> ListConfigurationsCommand.groovy
>>     geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/ 
>> src/main/java/org/apache/geronimo/deployment/plugin/ 
>> GeronimoDeploymentManager.java
>>     geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/ 
>> src/main/java/org/apache/geronimo/deployment/plugin/jmx/ 
>> RemoteDeploymentManager.java
>>     geronimo/server/trunk/framework/modules/geronimo-deploy-tool/ 
>> src/main/java/org/apache/geronimo/deployment/cli/ 
>> CommandInstallCAR.java
>>     geronimo/server/trunk/framework/modules/geronimo-deploy-tool/ 
>> src/main/java/org/apache/geronimo/deployment/cli/ 
>> CommandListConfigurations.java
>>     geronimo/server/trunk/framework/modules/geronimo-deployment/ 
>> src/test/java/org/apache/geronimo/deployment/ 
>> DeploymentContextTest.java
>>     geronimo/server/trunk/framework/modules/geronimo-deployment/ 
>> src/test/java/org/apache/geronimo/deployment/ 
>> SingleFileHotDeployerTest.java
>>     geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> main/java/org/apache/geronimo/kernel/config/ConfigurationManager.java
>>     geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> main/java/org/apache/geronimo/kernel/config/ 
>> SimpleConfigurationManager.java
>>     geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> main/java/org/apache/geronimo/kernel/repository/Maven2Repository.java
>>     geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> main/java/org/apache/geronimo/kernel/repository/ 
>> WritableListableRepository.java
>>     geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> test/java/org/apache/geronimo/kernel/mock/ 
>> MockWritableListableRepository.java
>>     geronimo/server/trunk/framework/modules/geronimo-system/pom.xml
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> main/java/org/apache/geronimo/system/configuration/ 
>> InPlaceConfigurationUtil.java
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> main/java/org/apache/geronimo/system/configuration/ 
>> LocalAttributeManager.java
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> main/java/org/apache/geronimo/system/plugin/PluginInstaller.java
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> main/java/org/apache/geronimo/system/plugin/PluginInstallerGBean.java
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> main/java/org/apache/geronimo/system/plugin/ 
>> PluginRepositoryDownloader.java
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> main/java/org/apache/geronimo/system/plugin/ServerInstance.java
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> main/java/org/apache/geronimo/system/resolver/ 
>> ExplicitDefaultArtifactResolver.java
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> main/java/org/apache/geronimo/system/serverinfo/BasicServerInfo.java
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> test/java/org/apache/geronimo/system/plugin/CopyFileTest.java
>>     geronimo/server/trunk/framework/modules/geronimo-system/src/ 
>> test/java/org/apache/geronimo/system/plugin/PluginInstallerTest.java
>>     geronimo/server/trunk/maven-plugins/car-maven-plugin/pom.xml
>>     geronimo/server/trunk/maven-plugins/car-maven-plugin/src/main/ 
>> java/org/apache/geronimo/mavenplugins/car/AbstractCarMojo.java
>>     geronimo/server/trunk/maven-plugins/car-maven-plugin/src/main/ 
>> java/org/apache/geronimo/mavenplugins/car/InstallModulesMojo.java
>>     geronimo/server/trunk/plugins/axis/axis-deployer/pom.xml
>>     geronimo/server/trunk/plugins/axis/axis/pom.xml
>>     geronimo/server/trunk/plugins/axis2/axis2-deployer/pom.xml
>>     geronimo/server/trunk/plugins/axis2/axis2-ejb-deployer/pom.xml
>>     geronimo/server/trunk/plugins/client/client-deployer/pom.xml
>>     geronimo/server/trunk/plugins/connector/connector-deployer/ 
>> pom.xml
>>     geronimo/server/trunk/plugins/connector/geronimo-connector- 
>> builder/src/test/java/org/apache/geronimo/connector/deployment/ 
>> MessageDestinationTest.java
>>     geronimo/server/trunk/plugins/console/console-base-portlets/ 
>> src/main/java/org/apache/geronimo/console/car/DownloadCARHandler.java
>>     geronimo/server/trunk/plugins/console/console-base-portlets/ 
>> src/main/java/org/apache/geronimo/console/car/ 
>> GeronimoAsMavenServlet.java
>>     geronimo/server/trunk/plugins/corba/openejb-corba-deployer/ 
>> pom.xml
>>     geronimo/server/trunk/plugins/cxf/cxf-deployer/pom.xml
>>     geronimo/server/trunk/plugins/cxf/cxf-ejb-deployer/pom.xml
>>     geronimo/server/trunk/plugins/j2ee/geronimo-security-builder/ 
>> src/test/java/org/apache/geronimo/security/deployment/ 
>> LoginConfigBuilderTest.java
>>     geronimo/server/trunk/plugins/j2ee/j2ee-deployer/pom.xml
>>     geronimo/server/trunk/plugins/j2ee/jsr88-rar-configurer/pom.xml
>>     geronimo/server/trunk/plugins/jasper/jasper-deployer/pom.xml
>>     geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/ 
>> main/java/org/apache/geronimo/jaxws/builder/JAXWSTools.java
>>     geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/ 
>> main/java/org/apache/geronimo/jaxws/builder/WsdlGenerator.java
>>     geronimo/server/trunk/plugins/jetty/jetty6-deployer/pom.xml
>>     geronimo/server/trunk/plugins/jetty/jetty6-deployer/src/main/ 
>> plan/plan.xml
>>     geronimo/server/trunk/plugins/jetty/jetty6/pom.xml
>>     geronimo/server/trunk/plugins/myfaces/myfaces-deployer/pom.xml
>>     geronimo/server/trunk/plugins/openejb/openejb-deployer/pom.xml
>>     geronimo/server/trunk/plugins/openjpa/persistence-jpa10- 
>> deployer/pom.xml
>>     geronimo/server/trunk/plugins/tomcat/tomcat6-deployer/pom.xml
>>     geronimo/server/trunk/plugins/tomcat/tomcat6-deployer/src/main/ 
>> plan/plan.xml
>>     geronimo/server/trunk/pom.xml
>> Modified: geronimo/server/trunk/applications/welcome/geronimo- 
>> welcome/src/main/java/org/apache/geronimo/welcome/ 
>> AbsentSampleServlet.java
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/ 
>> applications/welcome/geronimo-welcome/src/main/java/org/apache/ 
>> geronimo/welcome/AbsentSampleServlet.java? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/applications/welcome/geronimo-welcome/ 
>> src/main/java/org/apache/geronimo/welcome/AbsentSampleServlet.java  
>> (original)
>> +++ geronimo/server/trunk/applications/welcome/geronimo-welcome/ 
>> src/main/java/org/apache/geronimo/welcome/AbsentSampleServlet.java  
>> Tue Dec  4 15:49:03 2007
>> @@ -80,9 +80,10 @@
>>          instance.getDependency().add 
>> (PluginInstallerGBean.toDependencyType(new Dependency 
>> (Artifact.create(moduleIdName), ImportType.ALL)));
>>          PluginListType list = new PluginListType();
>>          list.getPlugin().add(target);
>> -        list.getDefaultRepository().add(repo.toString());
>> +//        list.getDefaultRepository().add(repo.toString());
>> +        //todo this is surely wrong
>>          list.getDefaultRepository().add("http://www.ibiblio.org/ 
>> maven2/");
>> -        DownloadResults results = installer.install(list, null,  
>> null);
>> +        DownloadResults results = installer.install(list,  
>> repo.toString(), false, null, null);
>>          if(results.isFailed()) {
>>              throw new ServletException("Unable to install sample  
>> application", results.getFailure());
>>          }
>> Modified: geronimo/server/trunk/assemblies/geronimo-boilerplate- 
>> minimal/src/main/underlay/META-INF/geronimo-plugin.xml
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/ 
>> geronimo-boilerplate-minimal/src/main/underlay/META-INF/geronimo- 
>> plugin.xml?rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/ 
>> src/main/underlay/META-INF/geronimo-plugin.xml (original)
>> +++ geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/ 
>> src/main/underlay/META-INF/geronimo-plugin.xml Tue Dec  4 15:49:03  
>> 2007
>> @@ -27,10 +27,52 @@
>>              <groupId>org.apache.geronimo.assemblies</groupId>
>>              <artifactId>geronimo-boilerplate-minimal</artifactId>
>>              <version>2.1-SNAPSHOT</version>
>> -            <type>car</type>
>> +            <type>jar</type>
>>          </module-id>
>>          <geronimo-version>2.1-SNAPSHOT</geronimo-version>
>>          <jvm-version>1.5</jvm-version>
>> +        <dependency start="false">
>> +            <groupId>org.apache.geronimo.specs</groupId>
>> +            <artifactId>geronimo-javaee-deployment_1.1MR3_spec</ 
>> artifactId>
>> +            <version>1.0</version>
>> +            <type>jar</type>
>> +        </dependency>
>> +        <dependency start="false">
>> +            <groupId>org.apache.geronimo.modules</groupId>
>> +            <artifactId>geronimo-cli</artifactId>
>> +            <version>2.1-SNAPSHOT</version>
>> +            <type>jar</type>
>> +        </dependency>
>> +        <dependency start="false">
>> +            <groupId>org.apache.geronimo.modules</groupId>
>> +            <artifactId>geronimo-deploy-config</artifactId>
>> +            <version>2.1-SNAPSHOT</version>
>> +            <type>jar</type>
>> +        </dependency>
>> +        <dependency start="false">
>> +            <groupId>org.apache.geronimo.modules</groupId>
>> +            <artifactId>geronimo-deploy-jsr88</artifactId>
>> +            <version>2.1-SNAPSHOT</version>
>> +            <type>jar</type>
>> +        </dependency>
>> +        <dependency start="false">
>> +            <groupId>org.apache.geronimo.modules</groupId>
>> +            <artifactId>geronimo-deploy-tool</artifactId>
>> +            <version>2.1-SNAPSHOT</version>
>> +            <type>jar</type>
>> +        </dependency>
>> +        <dependency start="false">
>> +            <groupId>org.apache.geronimo.modules</groupId>
>> +            <artifactId>geronimo-system</artifactId>
>> +            <version>2.1-SNAPSHOT</version>
>> +            <type>jar</type>
>> +        </dependency>
>> +        <dependency start="false">
>> +            <groupId>org.apache.geronimo.modules</groupId>
>> +            <artifactId>geronimo-common</artifactId>
>> +            <version>2.1-SNAPSHOT</version>
>> +            <type>jar</type>
>> +        </dependency>
>>          <copy-file relative-to="geronimo" dest-dir=""></copy-file>
>>      </plugin-artifact>
>>  </geronimo-plugin>
>> Modified: geronimo/server/trunk/assemblies/geronimo-boilerplate- 
>> minimal/src/main/underlay/etc/gsh-classworlds.conf
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/ 
>> geronimo-boilerplate-minimal/src/main/underlay/etc/gsh- 
>> classworlds.conf?rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/ 
>> src/main/underlay/etc/gsh-classworlds.conf (original)
>> +++ geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/ 
>> src/main/underlay/etc/gsh-classworlds.conf Tue Dec  4 15:49:03 2007
>> @@ -40,3 +40,5 @@
>>      load ${gshell.home}/repository/org/apache/geronimo/modules/ 
>> geronimo-deploy-tool/2.1-SNAPSHOT/geronimo-deploy-tool-*.jar
>>      load ${gshell.home}/repository/org/apache/geronimo/modules/ 
>> geronimo-system/2.1-SNAPSHOT/geronimo-system-*.jar
>>      load ${gshell.home}/repository/org/apache/geronimo/modules/ 
>> geronimo-common/2.1-SNAPSHOT/geronimo-common-*.jar
>> +    load ${gshell.home}/repository/org/codehaus/plexus/plexus- 
>> archiver/1.0-alpha-7/plexus-archiver-*.jar
>> +    load ${gshell.home}/repository/org/codehaus/plexus/plexus- 
>> utils/1.4.1/plexus-utils-*.jar
>> \ No newline at end of file
>> Modified: geronimo/server/trunk/assemblies/geronimo-boilerplate- 
>> minimal/src/main/underlay/etc/layout.xml
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/ 
>> geronimo-boilerplate-minimal/src/main/underlay/etc/layout.xml? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/ 
>> src/main/underlay/etc/layout.xml (original)
>> +++ geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/ 
>> src/main/underlay/etc/layout.xml Tue Dec  4 15:49:03 2007
>> @@ -155,6 +155,11 @@
>>                      <name>disconnect</name>
>>                      <id>geronimo-commands:disconnect</id>
>>                  </command>
>> +
>> +                <command>
>> +                    <name>assemble</name>
>> +                    <id>geronimo-commands:assemble-server</id>
>> +                </command>
>>              </nodes>
>>          </group>
>>  Modified: geronimo/server/trunk/assemblies/geronimo-framework/ 
>> pom.xml
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/ 
>> geronimo-framework/pom.xml?rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/assemblies/geronimo-framework/pom.xml  
>> (original)
>> +++ geronimo/server/trunk/assemblies/geronimo-framework/pom.xml  
>> Tue Dec  4 15:49:03 2007
>> @@ -193,32 +193,22 @@
>>                  <artifactId>car-maven-plugin</artifactId>
>>                  <executions>
>>                      <execution>
>> +                        <id>install</id>
>>                          <phase>compile</phase>
>>                          <goals>
>>                              <goal>install-modules</goal>
>>                          </goals>
>>                      </execution>
>> -                </executions>
>> -            </plugin>
>> -
>> -            <plugin>
>> -                <groupId>org.apache.maven.plugins</groupId>
>> -                <artifactId>maven-assembly-plugin</artifactId>
>> -                <executions>
>>                      <execution>
>> -                        <id>bin</id>
>> +                        <id>archive</id>
>>                          <phase>package</phase>
>>                          <goals>
>> -                            <goal>attached</goal>
>> +                            <goal>archive</goal>
>>                          </goals>
>> -                        <configuration>
>> -                            <descriptors>
>> -                                <descriptor>${pom.basedir}/src/ 
>> main/assembly/bin.xml</descriptor>
>> -                            </descriptors>
>> -                        </configuration>
>>                      </execution>
>>                  </executions>
>>              </plugin>
>> +
>>          </plugins>
>>               </build>
>> Modified: geronimo/server/trunk/assemblies/geronimo-jetty6-javaee5/ 
>> pom.xml
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/ 
>> geronimo-jetty6-javaee5/pom.xml? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/assemblies/geronimo-jetty6-javaee5/ 
>> pom.xml (original)
>> +++ geronimo/server/trunk/assemblies/geronimo-jetty6-javaee5/ 
>> pom.xml Tue Dec  4 15:49:03 2007
>> @@ -606,32 +606,22 @@
>>                  <artifactId>car-maven-plugin</artifactId>
>>                  <executions>
>>                      <execution>
>> -                        <phase>package</phase>
>> +                        <id>install</id>
>> +                        <phase>compile</phase>
>>                          <goals>
>>                              <goal>install-modules</goal>
>>                          </goals>
>>                      </execution>
>> -                </executions>
>> -            </plugin>
>> -
>> -            <plugin>
>> -                <groupId>org.apache.maven.plugins</groupId>
>> -                <artifactId>maven-assembly-plugin</artifactId>
>> -                <executions>
>>                      <execution>
>> -                        <id>bin</id>
>> +                        <id>archive</id>
>>                          <phase>package</phase>
>>                          <goals>
>> -                            <goal>attached</goal>
>> +                            <goal>archive</goal>
>>                          </goals>
>> -                        <configuration>
>> -                            <descriptors>
>> -                                <descriptor>${pom.basedir}/src/ 
>> main/assembly/bin.xml</descriptor>
>> -                            </descriptors>
>> -                        </configuration>
>>                      </execution>
>>                  </executions>
>>              </plugin>
>> +
>>          </plugins>
>>      </build>
>>  Modified: geronimo/server/trunk/assemblies/geronimo-jetty6- 
>> minimal/pom.xml
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/ 
>> geronimo-jetty6-minimal/pom.xml? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/assemblies/geronimo-jetty6-minimal/ 
>> pom.xml (original)
>> +++ geronimo/server/trunk/assemblies/geronimo-jetty6-minimal/ 
>> pom.xml Tue Dec  4 15:49:03 2007
>> @@ -19,9 +19,9 @@
>>  <!-- $Rev$ $Date$ -->
>>   <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.apache.geronimo.assemblies</groupId>
>>          <artifactId>assemblies</artifactId>
>> @@ -32,11 +32,11 @@
>>      <artifactId>geronimo-jetty6-minimal</artifactId>
>>      <name>Geronimo Assemblies :: Minimal + Jetty6</name>
>>      <packaging>application-assembly</packaging>
>> -    +
>>      <description>
>>          A minimal Geronimo server (Little-G) assembly using the  
>> Jetty web-container.
>>      </description>
>> -    +
>>      <dependencies>
>>          <dependency>
>>              <groupId>org.apache.geronimo.assemblies</groupId>
>> @@ -46,63 +46,63 @@
>>              <classifier>bin</classifier>
>>              <scope>provided</scope>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>j2ee-system</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>client-system</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>upgrade-cli</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>rmi-naming</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>j2ee-server</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>j2ee-security</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>jetty6</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>jasper</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>jasper-deployer</artifactId>
>> @@ -116,7 +116,7 @@
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>connector-deployer</artifactId>
>> @@ -137,21 +137,21 @@
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>shutdown</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>sharedlib</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>online-deployer</artifactId>
>> @@ -172,7 +172,7 @@
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> - +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>jsr88-deploymentfactory</artifactId>
>> @@ -186,42 +186,42 @@
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>jsr88-war-configurer</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>jsr88-ear-configurer</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>unavailable-client-deployer</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>unavailable-webservices-deployer</ 
>> artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>unavailable-ejb-deployer</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>hot-deployer</artifactId>
>> @@ -229,7 +229,7 @@
>>              <type>car</type>
>>          </dependency>
>>      </dependencies>
>> -    +
>>      <build>
>>          <resources>
>>              <resource>
>> @@ -237,7 +237,7 @@
>>                  <filtering>true</filtering>
>>              </resource>
>>          </resources>
>> -        +
>>          <plugins>
>>              <plugin>
>>                  <groupId>org.apache.maven.plugins</groupId>
>> @@ -332,32 +332,22 @@
>>                  <artifactId>car-maven-plugin</artifactId>
>>                  <executions>
>>                      <execution>
>> -                        <phase>package</phase>
>> +                        <id>install</id>
>> +                        <phase>compile</phase>
>>                          <goals>
>>                              <goal>install-modules</goal>
>>                          </goals>
>>                      </execution>
>> -                </executions>
>> -            </plugin>
>> -
>> -            <plugin>
>> -                <groupId>org.apache.maven.plugins</groupId>
>> -                <artifactId>maven-assembly-plugin</artifactId>
>> -                <executions>
>>                      <execution>
>> -                        <id>bin</id>
>> +                        <id>archive</id>
>>                          <phase>package</phase>
>>                          <goals>
>> -                            <goal>attached</goal>
>> +                            <goal>archive</goal>
>>                          </goals>
>> -                        <configuration>
>> -                            <descriptors>
>> -                                <descriptor>${pom.basedir}/src/ 
>> main/assembly/bin.xml</descriptor>
>> -                            </descriptors>
>> -                        </configuration>
>>                      </execution>
>>                  </executions>
>>              </plugin>
>> +
>>          </plugins>
>>      </build>
>>  Modified: geronimo/server/trunk/assemblies/geronimo-tomcat6- 
>> javaee5/pom.xml
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/ 
>> geronimo-tomcat6-javaee5/pom.xml? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/assemblies/geronimo-tomcat6-javaee5/ 
>> pom.xml (original)
>> +++ geronimo/server/trunk/assemblies/geronimo-tomcat6-javaee5/ 
>> pom.xml Tue Dec  4 15:49:03 2007
>> @@ -116,21 +116,21 @@
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -<!--
>> -        <dependency>
>> -            <groupId>org.apache.geronimo.configs</groupId>
>> -            <artifactId>cxf</artifactId>
>> -            <version>${version}</version>
>> -            <type>car</type>
>> -        </dependency>
>> -
>> -        <dependency>
>> -            <groupId>org.apache.geronimo.configs</groupId>
>> -            <artifactId>cxf-ejb</artifactId>
>> -            <version>${version}</version>
>> -            <type>car</type>
>> -        </dependency>
>> --->
>> +        <!--
>> +                <dependency>
>> +                    <groupId>org.apache.geronimo.configs</groupId>
>> +                    <artifactId>cxf</artifactId>
>> +                    <version>${version}</version>
>> +                    <type>car</type>
>> +                </dependency>
>> +
>> +                <dependency>
>> +                    <groupId>org.apache.geronimo.configs</groupId>
>> +                    <artifactId>cxf-ejb</artifactId>
>> +                    <version>${version}</version>
>> +                    <type>car</type>
>> +                </dependency>
>> +        -->
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>j2ee-corba-yoko</artifactId>
>> @@ -592,32 +592,22 @@
>>                  <artifactId>car-maven-plugin</artifactId>
>>                  <executions>
>>                      <execution>
>> -                        <phase>package</phase>
>> +                        <id>install</id>
>> +                        <phase>compile</phase>
>>                          <goals>
>>                              <goal>install-modules</goal>
>>                          </goals>
>>                      </execution>
>> -                </executions>
>> -            </plugin>
>> -
>> -            <plugin>
>> -                <groupId>org.apache.maven.plugins</groupId>
>> -                <artifactId>maven-assembly-plugin</artifactId>
>> -                <executions>
>>                      <execution>
>> -                        <id>bin</id>
>> +                        <id>archive</id>
>>                          <phase>package</phase>
>>                          <goals>
>> -                            <goal>attached</goal>
>> +                            <goal>archive</goal>
>>                          </goals>
>> -                        <configuration>
>> -                            <descriptors>
>> -                                <descriptor>${pom.basedir}/src/ 
>> main/assembly/bin.xml</descriptor>
>> -                            </descriptors>
>> -                        </configuration>
>>                      </execution>
>>                  </executions>
>>              </plugin>
>> +
>>          </plugins>
>>      </build>
>>  Modified: geronimo/server/trunk/assemblies/geronimo-tomcat6- 
>> minimal/pom.xml
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/ 
>> geronimo-tomcat6-minimal/pom.xml? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/assemblies/geronimo-tomcat6-minimal/ 
>> pom.xml (original)
>> +++ geronimo/server/trunk/assemblies/geronimo-tomcat6-minimal/ 
>> pom.xml Tue Dec  4 15:49:03 2007
>> @@ -19,9 +19,9 @@
>>  <!-- $Rev$ $Date$ -->
>>   <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.apache.geronimo.assemblies</groupId>
>>          <artifactId>assemblies</artifactId>
>> @@ -32,11 +32,11 @@
>>      <artifactId>geronimo-tomcat6-minimal</artifactId>
>>      <name>Geronimo Assemblies :: Minimal + Tomcat</name>
>>      <packaging>application-assembly</packaging>
>> -    +
>>      <description>
>>          A minimal Geronimo server (Little-G) assembly using the  
>> Tomcat web-container.
>>      </description>
>> -    +
>>      <dependencies>
>>          <dependency>
>>              <groupId>org.apache.geronimo.assemblies</groupId>
>> @@ -46,63 +46,63 @@
>>              <classifier>bin</classifier>
>>              <scope>provided</scope>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>j2ee-system</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>client-system</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>upgrade-cli</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>rmi-naming</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>j2ee-server</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>j2ee-security</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>tomcat6</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>jasper</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>jasper-deployer</artifactId>
>> @@ -116,7 +116,7 @@
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>connector-deployer</artifactId>
>> @@ -137,21 +137,21 @@
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>shutdown</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>sharedlib</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>online-deployer</artifactId>
>> @@ -186,42 +186,42 @@
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>jsr88-war-configurer</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>jsr88-ear-configurer</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>unavailable-client-deployer</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>unavailable-webservices-deployer</ 
>> artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>unavailable-ejb-deployer</artifactId>
>>              <version>${version}</version>
>>              <type>car</type>
>>          </dependency>
>> -        +
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>>              <artifactId>hot-deployer</artifactId>
>> @@ -229,7 +229,7 @@
>>              <type>car</type>
>>          </dependency>
>>      </dependencies>
>> -    +
>>      <build>
>>          <resources>
>>              <resource>
>> @@ -237,7 +237,7 @@
>>                  <filtering>true</filtering>
>>              </resource>
>>          </resources>
>> -        +
>>          <plugins>
>>              <plugin>
>>                  <groupId>org.apache.maven.plugins</groupId>
>> @@ -332,32 +332,22 @@
>>                  <artifactId>car-maven-plugin</artifactId>
>>                  <executions>
>>                      <execution>
>> -                        <phase>package</phase>
>> +                        <id>install</id>
>> +                        <phase>compile</phase>
>>                          <goals>
>>                              <goal>install-modules</goal>
>>                          </goals>
>>                      </execution>
>> -                </executions>
>> -            </plugin>
>> -
>> -            <plugin>
>> -                <groupId>org.apache.maven.plugins</groupId>
>> -                <artifactId>maven-assembly-plugin</artifactId>
>> -                <executions>
>>                      <execution>
>> -                        <id>bin</id>
>> +                        <id>archive</id>
>>                          <phase>package</phase>
>>                          <goals>
>> -                            <goal>attached</goal>
>> +                            <goal>archive</goal>
>>                          </goals>
>> -                        <configuration>
>> -                            <descriptors>
>> -                                <descriptor>${pom.basedir}/src/ 
>> main/assembly/bin.xml</descriptor>
>> -                            </descriptors>
>> -                        </configuration>
>>                      </execution>
>>                  </executions>
>>              </plugin>
>> +
>>          </plugins>
>>      </build>
>>  Modified: geronimo/server/trunk/framework/configs/j2ee-system/ 
>> pom.xml
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/ 
>> configs/j2ee-system/pom.xml?rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/framework/configs/j2ee-system/pom.xml  
>> (original)
>> +++ geronimo/server/trunk/framework/configs/j2ee-system/pom.xml  
>> Tue Dec  4 15:49:03 2007
>> @@ -107,7 +107,23 @@
>>              <groupId>org.apache.geronimo.specs</groupId>
>>              <artifactId>geronimo-activation_1.1_spec</artifactId>
>>          </dependency>
>> -
>> +        <dependency>
>> +            <groupId>org.codehaus.plexus</groupId>
>> +            <artifactId>plexus-archiver</artifactId>
>> +        </dependency>
>> +        <dependency>
>> +            <groupId>org.codehaus.plexus</groupId>
>> +            <artifactId>plexus-utils</artifactId>
>> +        </dependency>
>> +        <dependency>
>> +          <groupId>org.codehaus.plexus</groupId>
>> +          <artifactId>plexus-container-default</artifactId>
>> +        </dependency>
>> +        <dependency>
>> +          <groupId>org.codehaus.plexus</groupId>
>> +          <artifactId>plexus-component-api</artifactId>
>> +        </dependency>
>> +          <!-- build order hint -->
>>          <dependency>
>>              <groupId>org.apache.geronimo.configs</groupId>
>> Modified: geronimo/server/trunk/framework/configs/rmi-naming/src/ 
>> main/plan/plan.xml
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/ 
>> configs/rmi-naming/src/main/plan/plan.xml? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/framework/configs/rmi-naming/src/main/ 
>> plan/plan.xml (original)
>> +++ geronimo/server/trunk/framework/configs/rmi-naming/src/main/ 
>> plan/plan.xml Tue Dec  4 15:49:03 2007
>> @@ -91,9 +91,9 @@
>>          </references>
>>      </gbean>
>>  -    <gbean name="DefaultServer"  
>> class="org.apache.geronimo.system.plugin.ServerInstance">
>> -        <attribute name="serverName">default</attribute>
>> -        <reference name="PluginAttributeStore">
>> +    <gbean name="DefaultServer"  
>> class="org.apache.geronimo.system.plugin.ReferenceServerInstanceData" 
>> >
>> +        <attribute name="name">default</attribute>
>> +        <reference name="AttributeStore">
>>              <name>AttributeManager</name>
>>          </reference>
>>          <reference name="ArtifactResolver">
>> @@ -101,68 +101,38 @@
>>          </reference>
>>      </gbean>
>>  -    <gbean name="Offline"  
>> class="org.apache.geronimo.system.plugin.ServerInstance">
>> -        <attribute name="serverName">offline</attribute>
>> -        <reference name="PluginAttributeStore">
>> -            <name>OfflineAttributeManager</name>
>> -        </reference>
>> -        <reference name="ArtifactResolver">
>> -            <name>ArtifactResolver</name>
>> -        </reference>
>> -    </gbean>
>> -    <gbean name="OfflineAttributeManager"  
>> class="org.apache.geronimo.system.configuration.LocalAttributeManager 
>> ">
>> -        <reference name="ServerInfo">
>> -            <name>ServerInfo</name>
>> -        </reference>
>> -        <attribute name="readOnly">true</attribute>
>> +    <gbean name="Offline"  
>> class="org.apache.geronimo.system.plugin.ServerInstanceData">
>> +        <attribute name="name">offline</attribute>
>>          <attribute name="configFile">var/config/offline-deployer- 
>> config.xml</attribute>
>> -        <attribute name="substitutionsFile">var/config/config- 
>> substitutions.properties</attribute>
>> -        <attribute  
>> name="substitutionPrefix">org.apache.geronimo.config.substitution.</a 
>> ttribute>
>> +        <attribute name="configSubstitutionsFileName">var/config/ 
>> config-substitutions.properties</attribute>
>> +        <attribute  
>> name="configSubstitutionsPrefix">org.apache.geronimo.config.substitut 
>> ion.</attribute>
>> +        <attribute name="artifactAliasesFileName">var/config/ 
>> artifact_aliases.properties</attribute>
>>      </gbean>
>>  -    <gbean name="Client"  
>> class="org.apache.geronimo.system.plugin.ServerInstance">
>> -        <attribute name="serverName">client</attribute>
>> -        <reference name="PluginAttributeStore">
>> -            <name>AttributeManager</name>
>> -        </reference>
>> -        <reference name="ArtifactResolver">
>> -            <name>ClientArtifactResolver</name>
>> -        </reference>
>> -    </gbean>
>> -    <gbean name="ClientArtifactResolver"  
>> class="org.apache.geronimo.system.resolver.ExplicitDefaultArtifactRes 
>> olver">
>> -        <reference name="ArtifactManager">
>> -            <name>ArtifactManager</name>
>> -        </reference>
>> -        <reference name="Repositories"></reference>
>> -        <attribute name="versionMapLocation">var/config/ 
>> client_artifact_aliases.properties</attribute>
>> -        <reference name="ServerInfo">
>> -            <name>ServerInfo</name>
>> -        </reference>
>> +    <gbean name="Client"  
>> class="org.apache.geronimo.system.plugin.ServerInstanceData">
>> +        <attribute name="name">client</attribute>
>> +        <attribute name="attributeManagerFrom">default</attribute>
>> +        <attribute name="artifactAliasesFileName">var/config/ 
>> client_artifact_aliases.properties</attribute>
>> +        <dependency><name>DefaultServer</name></dependency>
>>      </gbean>
>>  -    <gbean name="Jsr88"  
>> class="org.apache.geronimo.system.plugin.ServerInstance">
>> -        <attribute name="serverName">jsr88</attribute>
>> -        <reference name="PluginAttributeStore">
>> -            <name>Jsr88AttributeManager</name>
>> -        </reference>
>> -        <reference name="ArtifactResolver">
>> -            <name>ArtifactResolver</name>
>> -        </reference>
>> -    </gbean>
>> -    <gbean name="Jsr88AttributeManager"  
>> class="org.apache.geronimo.system.configuration.LocalAttributeManager 
>> ">
>> -        <reference name="ServerInfo">
>> -            <name>ServerInfo</name>
>> -        </reference>
>> -        <attribute name="readOnly">true</attribute>
>> +    <gbean name="Jsr88"  
>> class="org.apache.geronimo.system.plugin.ServerInstanceData">
>> +        <attribute name="name">jsr88</attribute>
>>          <attribute name="configFile">var/config/jsr88-configurer- 
>> config.xml</attribute>
>> -        <attribute name="substitutionsFile">var/config/config- 
>> substitutions.properties</attribute>
>> -        <attribute  
>> name="substitutionPrefix">org.apache.geronimo.config.substitution.</a 
>> ttribute>
>> +        <attribute name="configSubstitutionsFileName">var/config/ 
>> config-substitutions.properties</attribute>
>> +        <attribute  
>> name="configSubstitutionsPrefix">org.apache.geronimo.config.substitut 
>> ion.</attribute>
>> +        <attribute name="artifactAliasesFileName">var/config/ 
>> artifact_aliases.properties</attribute>
>>      </gbean>
>>  -
>>      <gbean name="DownloadedPluginRepos"  
>> class="org.apache.geronimo.system.plugin.PluginRepositoryDownloader">
>>          <attribute name="repositoryList">http:// 
>> geronimo.apache.org/plugins/plugin-repository-list-2.1.txt</ 
>> attribute>
>>          <attribute name="userRepositories">~/.m2/repository</ 
>> attribute>
>> +    </gbean>
>> +
>> +    <gbean name="Archiver"  
>> class="org.apache.geronimo.system.plugin.ArchiverGBean">
>> +        <reference name="ServerInfo">
>> +            <name>ServerInfo</name>
>> +        </reference>
>>      </gbean>
>>   </module>
>> Added: geronimo/server/trunk/framework/modules/geronimo-commands/ 
>> src/main/groovy/org/apache/geronimo/commands/ 
>> AssembleServerCommand.groovy
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/ 
>> modules/geronimo-commands/src/main/groovy/org/apache/geronimo/ 
>> commands/AssembleServerCommand.groovy?rev=601152&view=auto
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/framework/modules/geronimo-commands/src/ 
>> main/groovy/org/apache/geronimo/commands/ 
>> AssembleServerCommand.groovy (added)
>> +++ geronimo/server/trunk/framework/modules/geronimo-commands/src/ 
>> main/groovy/org/apache/geronimo/commands/ 
>> AssembleServerCommand.groovy Tue Dec  4 15:49:03 2007
>> @@ -0,0 +1,84 @@
>> +/*
>> + * Licensed to the Apache Software Foundation (ASF) under one
>> + * or more contributor license agreements.  See the NOTICE file
>> + * distributed with this work for additional information
>> + * regarding copyright ownership.  The ASF licenses this file
>> + * to you under the Apache License, Version 2.0 (the
>> + * "License"); you may not use this file except in compliance
>> + * with the License.  You may obtain a copy of the License at
>> + *
>> + *  http://www.apache.org/licenses/LICENSE-2.0
>> + *
>> + * Unless required by applicable law or agreed to in writing,
>> + * software distributed under the License is distributed on an
>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + * KIND, either express or implied.  See the License for the
>> + * specific language governing permissions and limitations
>> + * under the License.
>> + */
>> +
>> +package org.apache.geronimo.commands
>> +
>> +
>> +import jline.ConsoleReader
>> +
>> +import org.apache.geronimo.gshell.clp.Option
>> +import  
>> org.apache.geronimo.gshell.command.annotation.CommandComponent
>> +import org.apache.geronimo.gshell.command.CommandSupport
>> +import org.apache.geronimo.deployment.cli.ServerConnection
>> +import org.apache.geronimo.cli.deployer.BaseCommandArgs
>> +import org.apache.geronimo.deployment.cli.CommandListConfigurations
>> +import org.apache.geronimo.kernel.repository.Artifact
>> +
>> +/**
>> + * install plugins.
>> + *
>> + * @version $Rev: 580864 $ $Date: 2007-09-30 23:47:39 -0700 (Sun,  
>> 30 Sep 2007) $
>> + */
>> +@CommandComponent(id='geronimo-commands:assemble-server',  
>> description="Extract a geronimo server from the current one")
>> +class AssembleServerCommand
>> +    extends ConnectCommand
>> +{
>> +
>> +    @Option(name='-l', aliases=['--list'], description='refresh  
>> plugin list')
>> +    boolean refreshList = false
>> +
>> +    @Option(name='-t', aliases=['--path'], description='assembly  
>> location')
>> +    String relativeServerPath = "var/temp/assembly"
>> +
>> +    @Option(name='-g', aliases=['--groupId'], description='server  
>> groupId')
>> +    String group
>> +
>> +    @Option(name='-a', aliases=['--artifact'],  
>> description='server artifact name')
>> +    String artifact
>> +
>> +    @Option(name='-v', aliases=['--version'], description='server  
>> version')
>> +    String version
>> +
>> +    @Option(name='-f', aliases=['--format'], description='zip or  
>> tar.gz')
>> +    String format = "tar.gz"
>> +
>> +    protected Object doExecute() throws Exception {
>> +        io.out.println("Listing configurations from Geronimo  
>> server")
>> +
>> +        def connection = variables.get("ServerConnection")
>> +        if (!connection) {
>> +            //def connectCommand = new ConnectCommand()
>> +            //connectCommand.init(context)
>> +            connection = super.doExecute()
>> +        }
>> +        def command = new CommandListConfigurations()
>> +        def consoleReader = new ConsoleReader(io.inputStream,  
>> io.out)
>> +        def plugins = variables.get("LocalPlugins")
>> +        if (refreshList || !plugins) {
>> +            plugins = command.getLocalPluginCategories 
>> (connection.getDeploymentManager(), consoleReader)
>> +            variables.parent.set("LocalPlugins", plugins)
>> +        }
>> +        def pluginsToInstall = command.getInstallList(plugins,  
>> consoleReader, null)
>> +        if (pluginsToInstall) {
>> +            command.assembleServer(connection.getDeploymentManager 
>> (), pluginsToInstall, 'repository', relativeServerPath,  
>> consoleReader)
>> +            connection.getDeploymentManager().archive 
>> (relativeServerPath, "var/temp", new Artifact(group, artifact,  
>> version, format));
>> +        }
>> +        io.out.println("list ended")
>> +    }
>> +}
>> \ No newline at end of file
>> Modified: geronimo/server/trunk/framework/modules/geronimo- 
>> commands/src/main/groovy/org/apache/geronimo/commands/ 
>> ListConfigurationsCommand.groovy
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/ 
>> modules/geronimo-commands/src/main/groovy/org/apache/geronimo/ 
>> commands/ListConfigurationsCommand.groovy? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/framework/modules/geronimo-commands/src/ 
>> main/groovy/org/apache/geronimo/commands/ 
>> ListConfigurationsCommand.groovy (original)
>> +++ geronimo/server/trunk/framework/modules/geronimo-commands/src/ 
>> main/groovy/org/apache/geronimo/commands/ 
>> ListConfigurationsCommand.groovy Tue Dec  4 15:49:03 2007
>> @@ -67,7 +67,7 @@
>>          }
>>          def pluginsToInstall = command.getInstallList(plugins,  
>> consoleReader, repo)
>>          if (pluginsToInstall) {
>> -            command.installPlugins(connection.getDeploymentManager 
>> (), pluginsToInstall, consoleReader, connection)
>> +            command.installPlugins(connection.getDeploymentManager 
>> (), pluginsToInstall, repo, consoleReader, connection)
>>          }
>>          io.out.println("list ended")
>>      }
>> Modified: geronimo/server/trunk/framework/modules/geronimo-deploy- 
>> jsr88/src/main/java/org/apache/geronimo/deployment/plugin/ 
>> GeronimoDeploymentManager.java
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/ 
>> modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/ 
>> deployment/plugin/GeronimoDeploymentManager.java? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/ 
>> src/main/java/org/apache/geronimo/deployment/plugin/ 
>> GeronimoDeploymentManager.java (original)
>> +++ geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/ 
>> src/main/java/org/apache/geronimo/deployment/plugin/ 
>> GeronimoDeploymentManager.java Tue Dec  4 15:49:03 2007
>> @@ -17,15 +17,17 @@
>>  package org.apache.geronimo.deployment.plugin;
>>   import java.net.URL;
>> -import org.apache.geronimo.system.plugin.PluginInstaller;
>>   import javax.enterprise.deploy.spi.DeploymentManager;
>>  +import org.apache.geronimo.system.plugin.PluginInstaller;
>> +import org.apache.geronimo.system.plugin.ServerArchiver;
>> +
>>  /**
>>   * Enhanced features for Geronimo deployment manager
>>   *
>>   * @version $Rev$ $Date$
>>   */
>> -public interface GeronimoDeploymentManager extends  
>> DeploymentManager, PluginInstaller {
>> +public interface GeronimoDeploymentManager extends  
>> DeploymentManager, PluginInstaller, ServerArchiver {
>>      public URL[] getRepositories();
>>  }
>> Modified: geronimo/server/trunk/framework/modules/geronimo-deploy- 
>> jsr88/src/main/java/org/apache/geronimo/deployment/plugin/jmx/ 
>> RemoteDeploymentManager.java
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/ 
>> modules/geronimo-deploy-jsr88/src/main/java/org/apache/geronimo/ 
>> deployment/plugin/jmx/RemoteDeploymentManager.java? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/ 
>> src/main/java/org/apache/geronimo/deployment/plugin/jmx/ 
>> RemoteDeploymentManager.java (original)
>> +++ geronimo/server/trunk/framework/modules/geronimo-deploy-jsr88/ 
>> src/main/java/org/apache/geronimo/deployment/plugin/jmx/ 
>> RemoteDeploymentManager.java Tue Dec  4 15:49:03 2007
>> @@ -52,8 +52,6 @@
>>  import org.apache.geronimo.gbean.AbstractNameQuery;
>>  import org.apache.geronimo.gbean.GBeanInfo;
>>  import org.apache.geronimo.gbean.GBeanInfoBuilder;
>> -import org.apache.geronimo.kernel.Kernel;
>> -import org.apache.geronimo.kernel.config.ConfigurationManager;
>>  import org.apache.geronimo.kernel.config.NoSuchStoreException;
>>  import org.apache.geronimo.kernel.repository.Artifact;
>>  import org.apache.geronimo.kernel.repository.Dependency;
>> @@ -63,15 +61,17 @@
>>  import org.apache.geronimo.system.plugin.DownloadResults;
>>  import org.apache.geronimo.system.plugin.PluginInstaller;
>>  import org.apache.geronimo.system.plugin.PluginRepositoryList;
>> +import org.apache.geronimo.system.plugin.ServerArchiver;
>>  import org.apache.geronimo.system.plugin.model.PluginListType;
>>  import org.apache.geronimo.system.plugin.model.PluginType;
>> +import org.codehaus.plexus.archiver.ArchiverException;
>>   /**
>>   * Connects to a Kernel in a remote VM (may or many not be on the  
>> same machine).
>>   *
>>   * @version $Rev$ $Date$
>>   */
>> -public class RemoteDeploymentManager extends JMXDeploymentManager  
>> implements GeronimoDeploymentManager {
>> +public class RemoteDeploymentManager extends JMXDeploymentManager  
>> implements GeronimoDeploymentManager, ServerArchiver {
>>      private static final Log log = LogFactory.getLog 
>> (RemoteDeploymentManager.class);
>>       private JMXConnector jmxConnector;
>> @@ -192,34 +192,34 @@
>>      }
>>   -    public DownloadResults install(PluginListType  
>> configsToInstall, String username, String password) {
>> +    public DownloadResults install(PluginListType  
>> configsToInstall, String defaultRepository, boolean  
>> restrictToDefaultRepository, String username, String password) {
>>          PluginInstaller installer = getPluginInstaller();
>>          try {
>> -            return installer.install(configsToInstall, username,  
>> password);
>> +            return installer.install(configsToInstall,  
>> defaultRepository, restrictToDefaultRepository, username, password);
>>          } finally {
>>              kernel.getProxyManager().destroyProxy(installer);
>>          }
>>      }
>>  -    public void install(PluginListType configsToInstall, String  
>> username, String password, DownloadPoller poller) {
>> +    public void install(PluginListType configsToInstall, String  
>> defaultRepository, boolean restrictToDefaultRepository, String  
>> username, String password, DownloadPoller poller) {
>>          PluginInstaller installer = getPluginInstaller();
>>          try {
>> -            installer.install(configsToInstall, username,  
>> password, poller);
>> +            installer.install(configsToInstall,  
>> defaultRepository, restrictToDefaultRepository, username,  
>> password, poller);
>>          } finally {
>>              kernel.getProxyManager().destroyProxy(installer);
>>          }
>>      }
>>  -    public Object startInstall(PluginListType configsToInstall,  
>> String username, String password) {
>> +    public Object startInstall(PluginListType configsToInstall,  
>> String defaultRepository, boolean restrictToDefaultRepository,  
>> String username, String password) {
>>          PluginInstaller installer = getPluginInstaller();
>>          try {
>> -            return installer.startInstall(configsToInstall,  
>> username, password);
>> +            return installer.startInstall(configsToInstall,  
>> defaultRepository, restrictToDefaultRepository, username, password);
>>          } finally {
>>              kernel.getProxyManager().destroyProxy(installer);
>>          }
>>      }
>>  -    public Object startInstall(File carFile, String username,  
>> String password) {
>> +    public Object startInstall(File carFile, String  
>> defaultRepository, boolean restrictToDefaultRepository, String  
>> username, String password) {
>>          File[] args = new File[]{carFile};
>>          if (!isSameMachine) {
>>              AbstractDeployCommand progress = new  
>> AbstractDeployCommand(CommandType.DISTRIBUTE, kernel, null, null,  
>> null,
>> @@ -236,7 +236,7 @@
>>          }
>>          PluginInstaller installer = getPluginInstaller();
>>          try {
>> -            return installer.startInstall(carFile, username,  
>> password);
>> +            return installer.startInstall(carFile,  
>> defaultRepository, restrictToDefaultRepository, username, password);
>>          } finally {
>>              kernel.getProxyManager().destroyProxy(installer);
>>          }
>> @@ -257,14 +257,20 @@
>>              return (PluginInstaller) kernel.getProxyManager 
>> ().createProxy(name, PluginInstaller.class);
>>          }
>>          throw new IllegalStateException("No plugin installer  
>> found");
>> -
>> +    }
>> +    private ServerArchiver getServerArchiver() {
>> +        Set<AbstractName> set = kernel.listGBeans(new  
>> AbstractNameQuery(ServerArchiver.class.getName()));
>> +        for (AbstractName name : set) {
>> +            return (ServerArchiver) kernel.getProxyManager 
>> ().createProxy(name, ServerArchiver.class);
>> +        }
>> +        throw new IllegalStateException("No plugin installer  
>> found");
>>      }
>>       //not likely to be useful remotely
>> -    public PluginListType createPluginListForRepositories 
>> (ConfigurationManager mgr, String repo) throws NoSuchStoreException {
>> +    public PluginListType createPluginListForRepositories(String  
>> repo) throws NoSuchStoreException {
>>          PluginInstaller installer = getPluginInstaller();
>>          try {
>> -            return installer.createPluginListForRepositories(mgr,  
>> repo);
>> +            return installer.createPluginListForRepositories(repo);
>>          } finally {
>>              kernel.getProxyManager().destroyProxy(installer);
>>          }
>> @@ -327,11 +333,29 @@
>>          Set<AbstractName> set = kernel.listGBeans(new  
>> AbstractNameQuery(PluginInstaller.class.getName()));
>>          for (AbstractName name : set) {
>>              PluginInstaller installer = (PluginInstaller)  
>> kernel.getProxyManager().createProxy(name, PluginInstaller.class);
>> -            Artifact artifact = (Artifact)  
>> installer.installLibrary(libFile, groupId);
>> +            Artifact artifact = installer.installLibrary(libFile,  
>> groupId);
>>              kernel.getProxyManager().destroyProxy(installer);
>>              return artifact;
>>          }
>>          return null;
>> +    }
>> +
>> +    public void installPluginList(String targetRepositoryPath,  
>> String relativeTargetServerPath, PluginListType pluginList,  
>> DownloadResults downloadPoller) throws Exception {
>> +        PluginInstaller installer = getPluginInstaller();
>> +        try {
>> +            installer.installPluginList(targetRepositoryPath,  
>> relativeTargetServerPath, pluginList, downloadPoller);
>> +        } finally {
>> +            kernel.getProxyManager().destroyProxy(installer);
>> +        }
>> +    }
>> +
>> +    public File archive(String sourcePath, String destPath,  
>> Artifact artifact) throws ArchiverException, IOException {
>> +        ServerArchiver archiver = getServerArchiver();
>> +        try {
>> +            return archiver.archive(sourcePath, destPath, artifact);
>> +        } finally {
>> +            kernel.getProxyManager().destroyProxy(archiver);
>> +        }
>>      }
>>       public static final GBeanInfo GBEAN_INFO;
>> Modified: geronimo/server/trunk/framework/modules/geronimo-deploy- 
>> tool/src/main/java/org/apache/geronimo/deployment/cli/ 
>> CommandInstallCAR.java
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/ 
>> modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/ 
>> deployment/cli/CommandInstallCAR.java? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/framework/modules/geronimo-deploy-tool/ 
>> src/main/java/org/apache/geronimo/deployment/cli/ 
>> CommandInstallCAR.java (original)
>> +++ geronimo/server/trunk/framework/modules/geronimo-deploy-tool/ 
>> src/main/java/org/apache/geronimo/deployment/cli/ 
>> CommandInstallCAR.java Tue Dec  4 15:49:03 2007
>> @@ -48,7 +48,8 @@
>>                  if(!carFile.exists() || !carFile.canRead()) {
>>                      throw new DeploymentException("CAR file  
>> cannot be read: "+carFile.getAbsolutePath());
>>                  }
>> -                Object key = mgr.startInstall(carFile, null, null);
>> +                //TODO figure out if there is a plausible default  
>> repo
>> +                Object key = mgr.startInstall(carFile, null,  
>> false, null, null);
>>                  long start = System.currentTimeMillis();
>>                  DownloadResults results = showProgress(mgr, key);
>>                  int time = (int)(System.currentTimeMillis() -  
>> start) / 1000;
>> Modified: geronimo/server/trunk/framework/modules/geronimo-deploy- 
>> tool/src/main/java/org/apache/geronimo/deployment/cli/ 
>> CommandListConfigurations.java
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/ 
>> modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/ 
>> deployment/cli/CommandListConfigurations.java? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/framework/modules/geronimo-deploy-tool/ 
>> src/main/java/org/apache/geronimo/deployment/cli/ 
>> CommandListConfigurations.java (original)
>> +++ geronimo/server/trunk/framework/modules/geronimo-deploy-tool/ 
>> src/main/java/org/apache/geronimo/deployment/cli/ 
>> CommandListConfigurations.java Tue Dec  4 15:49:03 2007
>> @@ -35,6 +35,7 @@
>>  import org.apache.geronimo.common.DeploymentException;
>>  import  
>> org.apache.geronimo.deployment.plugin.GeronimoDeploymentManager;
>>  import org.apache.geronimo.kernel.repository.Artifact;
>> +import org.apache.geronimo.kernel.config.NoSuchStoreException;
>>  import org.apache.geronimo.system.plugin.DownloadResults;
>>  import org.apache.geronimo.system.plugin.PluginInstallerGBean;
>>  import org.apache.geronimo.system.plugin.model.PluginArtifactType;
>> @@ -71,7 +72,7 @@
>>                      return;
>>                  }
>>  -                installPlugins(mgr, list, consoleReader,  
>> connection);
>> +                installPlugins(mgr, list, repo, consoleReader,  
>> connection);
>>              } catch (IOException e) {
>>                  throw new DeploymentException("Unable to install  
>> configuration", e);
>>              } catch (NumberFormatException e) {
>> @@ -82,41 +83,78 @@
>>          }
>>      }
>>  -    public void installPlugins(GeronimoDeploymentManager mgr,  
>> PluginListType list, ConsoleReader consoleReader, ServerConnection  
>> connection) throws IOException, DeploymentException {
>> -        long start = System.currentTimeMillis();
>> -        Object key = mgr.startInstall(list, null, null);
>> -        DownloadResults results = CommandInstallCAR.showProgress 
>> (mgr, key);
>> -        int time = (int) (System.currentTimeMillis() - start) /  
>> 1000;
>> +    public String getRepository(ConsoleReader consoleReader,  
>> GeronimoDeploymentManager mgr) throws IOException,  
>> DeploymentException {
>> +        URL[] all = mgr.getRepositories();
>> +        if (all.length == 0) {
>> +            throw new DeploymentException("No default  
>> repositories available.  Please either specify the repository " +
>> +                    "URL on the command line, or go into the  
>> console Plugin page and update the list of available " +
>> +                    "repositories.");
>> +        }
>>          consoleReader.printNewline();
>> -        if (!results.isFailed()) {
>> -            DeployUtils.println("**** Installation Complete!", 0,  
>> consoleReader);
>> +        consoleReader.printString("Select repository:");
>> +        consoleReader.printNewline();
>> +        for (int i = 0; i < all.length; i++) {
>> +            URL url = all[i];
>> +            DeployUtils.printTo("  " + (i + 1) + ". ", 8,  
>> consoleReader);
>> +            DeployUtils.println(url.toString(), 0, consoleReader);
>> +        }
>> +        String entry = consoleReader.readLine("Enter Repository  
>> Number: ").trim();
>> +        int index = Integer.parseInt(entry);
>> +        return all[index - 1].toString();
>> +    }
>>  -            for (int i = 0; i < results.getDependenciesPresent 
>> ().length; i++) {
>> -                Artifact uri = results.getDependenciesPresent()[i];
>> -                DeployUtils.println("Used existing: " + uri, 0,  
>> consoleReader);
>> +    public Map<String, Collection<PluginType>> getPluginCategories 
>> (String repo, GeronimoDeploymentManager mgr, ConsoleReader  
>> consoleReader) throws DeploymentException, IOException {
>> +        PluginListType data;
>> +        URL repository;
>> +        try {
>> +            repository = new URL(repo);
>> +            data = mgr.listPlugins(repository, null, null);
>> +        } catch (IOException e) {
>> +            throw new DeploymentException("Unable to list  
>> configurations", e);
>> +        } catch (FailedLoginException e) {
>> +            throw new DeploymentException("Invalid login for  
>> Maven repository '" + repo + "'", e);
>> +        }
>> +        return writePluginList(data, consoleReader);
>> +    }
>>  -            }
>> -            for (int i = 0; i < results.getDependenciesInstalled 
>> ().length; i++) {
>> -                Artifact uri = results.getDependenciesInstalled() 
>> [i];
>> -                DeployUtils.println("Installed new: " + uri, 0,  
>> consoleReader);
>> +    public Map<String, Collection<PluginType>>  
>> getLocalPluginCategories(GeronimoDeploymentManager mgr,  
>> ConsoleReader consoleReader) throws DeploymentException,  
>> IOException {
>> +        PluginListType data;
>> +        try {
>> +            data = mgr.createPluginListForRepositories(null);
>> +        } catch (NoSuchStoreException e) {
>> +            throw new DeploymentException("Unable to list  
>> configurations", e);
>> +        }
>> +        return writePluginList(data, consoleReader);
>> +    }
>>  -            }
>> +    private Map<String, Collection<PluginType>> writePluginList 
>> (PluginListType data, ConsoleReader consoleReader) throws  
>> IOException {
>> +        if (data == null) {
>>              consoleReader.printNewline();
>> -            DeployUtils.println(
>> -                    "Downloaded " + (results.getTotalDownloadBytes 
>> () / 1024) + " kB in " + time + "s (" +  
>> results.getTotalDownloadBytes() / (1024 * time) + " kB/s)",
>> -                    0, consoleReader);
>> -
>> +            consoleReader.printString("No plugins were returned  
>> from this site.");
>> +            consoleReader.printNewline();
>> +            consoleReader.flushConsole();
>> +            return null;
>>          }
>> -        if (results.isFinished() && !results.isFailed()) {
>> -            for (PluginType plugin : list.getPlugin()) {
>> -                for (PluginArtifactType targetInstance :  
>> plugin.getPluginArtifact()) {
>> -                    DeployUtils.println("Now starting " +  
>> PluginInstallerGBean.toArtifact(targetInstance.getModuleId()) +  
>> "...", 0, consoleReader);
>> -                    consoleReader.flushConsole();
>> -                    new CommandStart().execute(consoleReader,  
>> connection,
>> -                            new BaseCommandArgs(new String[] 
>> {PluginInstallerGBean.toArtifact(targetInstance.getModuleId 
>> ()).toString()}));
>> -                }
>> +        Map<String, Collection<PluginType>> categories = new  
>> TreeMap<String, Collection<PluginType>>();
>> +        Comparator<PluginType> comp = new Comparator<PluginType>() {
>> +
>> +            public int compare(PluginType o1, PluginType o2) {
>> +                return o1.getName().compareTo(o2.getName());
>>              }
>> +        };
>> +        for (PluginType metadata : data.getPlugin()) {
>> +            String category = metadata.getCategory();
>> +            if (category == null) {
>> +                category = "<no category>";
>> +            }
>> +            Collection<PluginType> list = categories.get(category);
>> +            if (list == null) {
>> +                list = new TreeSet<PluginType>(comp);
>> +                categories.put(category, list);
>> +            }
>> +            list.add(metadata);
>>          }
>> +        return categories;
>>      }
>>       public PluginListType getInstallList(Map<String,  
>> Collection<PluginType>> categories, ConsoleReader consoleReader,  
>> String repo) throws IOException {
>> @@ -153,67 +191,61 @@
>>              PluginType target = available.get(selection - 1);
>>              list.getPlugin().add(target);
>>          }
>> -        list.getDefaultRepository().add(repo);
>> +        if (repo != null) {
>> +            list.getDefaultRepository().add(repo);
>> +        }
>>          return list;
>>      }
>>  -    public Map<String, Collection<PluginType>>  
>> getPluginCategories(String repo, GeronimoDeploymentManager mgr,  
>> ConsoleReader consoleReader) throws DeploymentException,  
>> IOException {
>> -        PluginListType data;
>> -        URL repository;
>> -        try {
>> -            repository = new URL(repo);
>> -            data = mgr.listPlugins(repository, null, null);
>> -        } catch (IOException e) {
>> -            throw new DeploymentException("Unable to list  
>> configurations", e);
>> -        } catch (FailedLoginException e) {
>> -            throw new DeploymentException("Invalid login for  
>> Maven repository '" + repo + "'", e);
>> -        }
>> -        if (data == null) {
>> -            consoleReader.printNewline();
>> -            consoleReader.printString("No plugins were returned  
>> from this site.");
>> -            consoleReader.printNewline();
>> -            consoleReader.flushConsole();
>> -            return null;
>> +    public void installPlugins(GeronimoDeploymentManager mgr,  
>> PluginListType list, String defaultRepository, ConsoleReader  
>> consoleReader, ServerConnection connection) throws IOException,  
>> DeploymentException {
>> +        long start = System.currentTimeMillis();
>> +        Object key = mgr.startInstall(list, defaultRepository,  
>> false, null, null);
>> +        DownloadResults results = CommandInstallCAR.showProgress 
>> (mgr, key);
>> +        int time = (int) (System.currentTimeMillis() - start) /  
>> 1000;
>> +        printResults(consoleReader, results, time);
>> +        if (results.isFinished() && !results.isFailed()) {
>> +            for (PluginType plugin : list.getPlugin()) {
>> +                for (PluginArtifactType targetInstance :  
>> plugin.getPluginArtifact()) {
>> +                    DeployUtils.println("Now starting " +  
>> PluginInstallerGBean.toArtifact(targetInstance.getModuleId()) +  
>> "...", 0, consoleReader);
>> +                    consoleReader.flushConsole();
>> +                    new CommandStart().execute(consoleReader,  
>> connection,
>> +                            new BaseCommandArgs(new String[] 
>> {PluginInstallerGBean.toArtifact(targetInstance.getModuleId 
>> ()).toString()}));
>> +                }
>> +            }
>>          }
>> -        Map<String, Collection<PluginType>> categories = new  
>> TreeMap<String, Collection<PluginType>>();
>> -        Comparator<PluginType> comp = new Comparator<PluginType>() {
>> +    }
>> +
>> +    private void printResults(ConsoleReader consoleReader,  
>> DownloadResults results, int time) throws IOException,  
>> DeploymentException {
>> +        consoleReader.printNewline();
>> +        if (!results.isFailed()) {
>> +            DeployUtils.println("**** Installation Complete!", 0,  
>> consoleReader);
>> +
>> +            for (int i = 0; i < results.getDependenciesPresent 
>> ().length; i++) {
>> +                Artifact uri = results.getDependenciesPresent()[i];
>> +                DeployUtils.println("Used existing: " + uri, 0,  
>> consoleReader);
>>  -            public int compare(PluginType o1, PluginType o2) {
>> -                return o1.getName().compareTo(o2.getName());
>> -            }
>> -        };
>> -        for (PluginType metadata : data.getPlugin()) {
>> -            String category = metadata.getCategory();
>> -            if (category == null) {
>> -                category = "<no category>";
>>              }
>> -            Collection<PluginType> list = categories.get(category);
>> -            if (list == null) {
>> -                list = new TreeSet<PluginType>(comp);
>> -                categories.put(category, list);
>> +            for (int i = 0; i < results.getDependenciesInstalled 
>> ().length; i++) {
>> +                Artifact uri = results.getDependenciesInstalled() 
>> [i];
>> +                DeployUtils.println("Installed new: " + uri, 0,  
>> consoleReader);
>> +
>>              }
>> -            list.add(metadata);
>> +            consoleReader.printNewline();
>> +            DeployUtils.println(
>> +                    "Downloaded " + (results.getTotalDownloadBytes 
>> () / 1024) + " kB in " + time + "s (" +  
>> results.getTotalDownloadBytes() / (1024 * time) + " kB/s)",
>> +                    0, consoleReader);
>> +
>>          }
>> -        return categories;
>>      }
>>  -    public String getRepository(ConsoleReader consoleReader,  
>> GeronimoDeploymentManager mgr) throws IOException,  
>> DeploymentException {
>> -        URL[] all = mgr.getRepositories();
>> -        if (all.length == 0) {
>> -            throw new DeploymentException("No default  
>> repositories available.  Please either specify the repository " +
>> -                    "URL on the command line, or go into the  
>> console Plugin page and update the list of available " +
>> -                    "repositories.");
>> -        }
>> -        consoleReader.printNewline();
>> -        consoleReader.printString("Select repository:");
>> -        consoleReader.printNewline();
>> -        for (int i = 0; i < all.length; i++) {
>> -            URL url = all[i];
>> -            DeployUtils.printTo("  " + (i + 1) + ". ", 8,  
>> consoleReader);
>> -            DeployUtils.println(url.toString(), 0, consoleReader);
>> -        }
>> -        String entry = consoleReader.readLine("Enter Repository  
>> Number: ").trim();
>> -        int index = Integer.parseInt(entry);
>> -        return all[index - 1].toString();
>> +    public void assembleServer(GeronimoDeploymentManager mgr,  
>> PluginListType list, String repositoryPath, String  
>> relativeServerPath, ConsoleReader consoleReader) throws Exception {
>> +        DownloadResults results = new DownloadResults();
>> +        long start = System.currentTimeMillis();
>> +        mgr.installPluginList(repositoryPath, relativeServerPath,  
>> list, results);
>> +        int time = (int) (System.currentTimeMillis() - start) /  
>> 1000;
>> +
>> +        printResults(consoleReader, results, time);
>>      }
>> +
>> +
>>  }
>> Modified: geronimo/server/trunk/framework/modules/geronimo- 
>> deployment/src/test/java/org/apache/geronimo/deployment/ 
>> DeploymentContextTest.java
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/ 
>> modules/geronimo-deployment/src/test/java/org/apache/geronimo/ 
>> deployment/DeploymentContextTest.java? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/framework/modules/geronimo-deployment/ 
>> src/test/java/org/apache/geronimo/deployment/ 
>> DeploymentContextTest.java (original)
>> +++ geronimo/server/trunk/framework/modules/geronimo-deployment/ 
>> src/test/java/org/apache/geronimo/deployment/ 
>> DeploymentContextTest.java Tue Dec  4 15:49:03 2007
>> @@ -26,6 +26,7 @@
>>  import java.util.HashMap;
>>  import java.util.List;
>>  import java.util.ArrayList;
>> +import java.util.Collection;
>>  import java.util.jar.JarFile;
>>   import javax.sql.DataSource;
>> @@ -53,6 +54,7 @@
>>  import org.apache.geronimo.kernel.repository.ArtifactResolver;
>>  import  
>> org.apache.geronimo.kernel.repository.DefaultArtifactResolver;
>>  import org.apache.geronimo.kernel.repository.Version;
>> +import org.apache.geronimo.kernel.repository.Repository;
>>  import org.apache.geronimo.deployment.util.DeploymentUtil;
>>  import org.apache.geronimo.gbean.AbstractName;
>>  import org.apache.geronimo.common.DeploymentException;
>> @@ -402,6 +404,10 @@
>>          }
>>           public void setOnline(boolean online) {
>> +        }
>> +
>> +        public Collection<? extends Repository> getRepositories() {
>> +            return null;
>>          }
>>      }
>>  Modified: geronimo/server/trunk/framework/modules/geronimo- 
>> deployment/src/test/java/org/apache/geronimo/deployment/ 
>> SingleFileHotDeployerTest.java
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/ 
>> modules/geronimo-deployment/src/test/java/org/apache/geronimo/ 
>> deployment/SingleFileHotDeployerTest.java? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/framework/modules/geronimo-deployment/ 
>> src/test/java/org/apache/geronimo/deployment/ 
>> SingleFileHotDeployerTest.java (original)
>> +++ geronimo/server/trunk/framework/modules/geronimo-deployment/ 
>> src/test/java/org/apache/geronimo/deployment/ 
>> SingleFileHotDeployerTest.java Tue Dec  4 15:49:03 2007
>> @@ -51,6 +51,7 @@
>>  import  
>> org.apache.geronimo.kernel.repository.DefaultArtifactResolver;
>>  import org.apache.geronimo.kernel.repository.Environment;
>>  import org.apache.geronimo.kernel.repository.Version;
>> +import org.apache.geronimo.kernel.repository.Repository;
>>    /**
>> @@ -469,6 +470,10 @@
>>          }
>>           public void setOnline(boolean online) {
>> +        }
>> +
>> +        public Collection<? extends Repository> getRepositories() {
>> +            return null;
>>          }
>>      }
>>  }
>> Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/ 
>> src/main/java/org/apache/geronimo/kernel/config/ 
>> ConfigurationManager.java
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/ 
>> modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/ 
>> config/ConfigurationManager.java? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> main/java/org/apache/geronimo/kernel/config/ 
>> ConfigurationManager.java (original)
>> +++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> main/java/org/apache/geronimo/kernel/config/ 
>> ConfigurationManager.java Tue Dec  4 15:49:03 2007
>> @@ -18,9 +18,12 @@
>>   import java.io.IOException;
>>  import java.util.List;
>> +import java.util.Collection;
>> +
>>  import org.apache.geronimo.kernel.repository.Artifact;
>>  import org.apache.geronimo.kernel.repository.ArtifactResolver;
>>  import org.apache.geronimo.kernel.repository.Version;
>> +import org.apache.geronimo.kernel.repository.Repository;
>>  import org.apache.geronimo.gbean.AbstractName;
>>   /**
>> @@ -495,4 +498,6 @@
>>       */
>>      boolean isOnline();
>>      void setOnline(boolean online);
>> +
>> +    Collection<? extends Repository> getRepositories();
>>  }
>> Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/ 
>> src/main/java/org/apache/geronimo/kernel/config/ 
>> SimpleConfigurationManager.java
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/ 
>> modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/ 
>> config/SimpleConfigurationManager.java? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> main/java/org/apache/geronimo/kernel/config/ 
>> SimpleConfigurationManager.java (original)
>> +++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> main/java/org/apache/geronimo/kernel/config/ 
>> SimpleConfigurationManager.java Tue Dec  4 15:49:03 2007
>> @@ -53,7 +53,7 @@
>>      private final ArtifactResolver artifactResolver;
>>      protected final Map configurations = new LinkedHashMap();
>>      protected final ConfigurationModel configurationModel = new  
>> ConfigurationModel();
>> -    protected final Collection repositories;
>> +    protected final Collection<? extends Repository> repositories;
>>      protected final Collection watchers;
>>       /**
>> @@ -65,16 +65,16 @@
>>      private Configuration reloadingConfiguration;
>>   -    public SimpleConfigurationManager(Collection stores,  
>> ArtifactResolver artifactResolver, Collection repositories) {
>> +    public SimpleConfigurationManager(Collection stores,  
>> ArtifactResolver artifactResolver, Collection<? extends  
>> Repository> repositories) {
>>          this(stores, artifactResolver, repositories,  
>> Collections.EMPTY_SET);
>>      }
>>           public SimpleConfigurationManager(Collection stores,
>>              ArtifactResolver artifactResolver,
>> -            Collection repositories,
>> +            Collection<? extends Repository> repositories,
>>              Collection watchers) {
>>          if (stores == null) stores = Collections.EMPTY_SET;
>> -        if (repositories == null) repositories =  
>> Collections.EMPTY_SET;
>> +        if (repositories == null) repositories =  
>> Collections.emptySet();
>>          if (watchers == null) watchers = Collections.EMPTY_SET;
>>           this.stores = stores;
>> @@ -153,7 +153,7 @@
>>          return (ConfigurationStore[]) storeSnapshot.toArray(new  
>> ConfigurationStore[storeSnapshot.size()]);
>>      }
>>  -    public Collection getRepositories() {
>> +    public Collection<? extends Repository> getRepositories() {
>>          return repositories;
>>      }
>>  @@ -181,10 +181,9 @@
>>          return null;
>>      }
>>  -    public List listConfigurations(AbstractName storeName)  
>> throws NoSuchStoreException {
>> -        List storeSnapshot = getStoreList();
>> -        for (int i = 0; i < storeSnapshot.size(); i++) {
>> -            ConfigurationStore store = (ConfigurationStore)  
>> storeSnapshot.get(i);
>> +    public List<ConfigurationInfo> listConfigurations 
>> (AbstractName storeName) throws NoSuchStoreException {
>> +        List<ConfigurationStore> storeSnapshot = getStoreList();
>> +        for (ConfigurationStore store : storeSnapshot) {
>>              if (storeName.equals(store.getAbstractName())) {
>>                  return listConfigurations(store);
>>              }
>> @@ -192,9 +191,9 @@
>>          throw new NoSuchStoreException("No such store: " +  
>> storeName);
>>      }
>>  -    private List listConfigurations(ConfigurationStore store) {
>> -        List list = store.listConfigurations();
>> -        for (ListIterator iterator = list.listIterator();  
>> iterator.hasNext();) {
>> +    private List<ConfigurationInfo> listConfigurations 
>> (ConfigurationStore store) {
>> +        List<ConfigurationInfo> list = store.listConfigurations();
>> +        for (ListIterator<ConfigurationInfo> iterator =  
>> list.listIterator(); iterator.hasNext();) {
>>              ConfigurationInfo configurationInfo =  
>> (ConfigurationInfo) iterator.next();
>>              if (isRunning(configurationInfo.getConfigID())) {
>>                  configurationInfo = new ConfigurationInfo 
>> (store.getAbstractName(),
>> Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/ 
>> src/main/java/org/apache/geronimo/kernel/repository/ 
>> Maven2Repository.java
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/ 
>> modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/ 
>> repository/Maven2Repository.java? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> main/java/org/apache/geronimo/kernel/repository/ 
>> Maven2Repository.java (original)
>> +++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> main/java/org/apache/geronimo/kernel/repository/ 
>> Maven2Repository.java Tue Dec  4 15:49:03 2007
>> @@ -187,4 +187,11 @@
>>          return artifacts;
>>      }
>>  +    /**
>> +     * @deprecated
>> +     * @return
>> +     */
>> +    public String getRootPath() {
>> +        return rootFile.getPath();
>> +    }
>>  }
>> Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/ 
>> src/main/java/org/apache/geronimo/kernel/repository/ 
>> WritableListableRepository.java
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/ 
>> modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/ 
>> repository/WritableListableRepository.java? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> main/java/org/apache/geronimo/kernel/repository/ 
>> WritableListableRepository.java (original)
>> +++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> main/java/org/apache/geronimo/kernel/repository/ 
>> WritableListableRepository.java Tue Dec  4 15:49:03 2007
>> @@ -20,4 +20,9 @@
>>   * @version $Rev$ $Date$
>>   */
>>  public interface WritableListableRepository extends  
>> WriteableRepository, ListableRepository {
>> +    /**
>> +     * @deprecated.  Please please don't use this temporary hack
>> +     * @return
>> +     */
>> +    String getRootPath();
>>  }
>> Modified: geronimo/server/trunk/framework/modules/geronimo-kernel/ 
>> src/test/java/org/apache/geronimo/kernel/mock/ 
>> MockWritableListableRepository.java
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/ 
>> modules/geronimo-kernel/src/test/java/org/apache/geronimo/kernel/ 
>> mock/MockWritableListableRepository.java? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> test/java/org/apache/geronimo/kernel/mock/ 
>> MockWritableListableRepository.java (original)
>> +++ geronimo/server/trunk/framework/modules/geronimo-kernel/src/ 
>> test/java/org/apache/geronimo/kernel/mock/ 
>> MockWritableListableRepository.java Tue Dec  4 15:49:03 2007
>> @@ -37,4 +37,12 @@
>>       public void copyToRepository(InputStream source, int size,  
>> Artifact destination, FileWriteMonitor monitor) throws IOException {
>>      }
>> +
>> +    /**
>> +     * @deprecated remove as soon as possible && dont ever use
>> +     * @return
>> +     */
>> +    public String getRootPath() {
>> +        return null;
>> +    }
>>  }
>> Modified: geronimo/server/trunk/framework/modules/geronimo-system/ 
>> pom.xml
>> URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/ 
>> modules/geronimo-system/pom.xml? 
>> rev=601152&r1=601151&r2=601152&view=diff
>> ===================================================================== 
>> =========
>> --- geronimo/server/trunk/framework/modules/geronimo-system/ 
>> pom.xml (original)
>> +++ geronimo/server/trunk/framework/modules/geronimo-system/ 
>> pom.xml Tue Dec  4 15:49:03 2007
>> @@ -94,6 +94,12 @@
>>              <artifactId>wstx-asl</artifactId>
>>          </dependency>
>>  +        <!-- archiver seems to need to be same version as maven  
>> uses ??? -->
>> +        <dependency>
>> +            <groupId>org.codehaus.plexus</groupId>
>> +            <artifactId>plexus-archiver</artifactId>
>> +        </dependency>
>> +
>>      </dependencies>
>>       <build>