geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Bohn <joe.b...@earthlink.net>
Subject 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...
Date Wed, 05 Dec 2007 14:18:49 GMT
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>
> 
> 
> 

Mime
View raw message