You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jd...@apache.org on 2008/10/17 13:07:04 UTC

svn commit: r705559 - in /geronimo/gshell/trunk: gshell-application/src/main/java/org/apache/geronimo/gshell/application/ gshell-assembly/src/main/underlay/etc/ gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/ gshell-cli/src/main/resources/org/...

Author: jdillon
Date: Fri Oct 17 04:07:03 2008
New Revision: 705559

URL: http://svn.apache.org/viewvc?rev=705559&view=rev
Log:
Removed the need for XStream on the boot classpath, using spring xml for application configuration

Added:
    geronimo/gshell/trunk/gshell-support/gshell-ivy/src/main/java/org/apache/geronimo/gshell/ivy/ArtifactResolver.java   (with props)
Removed:
    geronimo/gshell/trunk/gshell-application/src/main/java/org/apache/geronimo/gshell/application/ApplicationModelLocator.java
    geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/ApplicationModelMarshaller.java
    geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/interpolate/
    geronimo/gshell/trunk/gshell-model/src/test/java/
    geronimo/gshell/trunk/gshell-model/src/test/resources/log4j.xml
    geronimo/gshell/trunk/gshell-model/src/test/resources/org/
Modified:
    geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/application.xml
    geronimo/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java
    geronimo/gshell/trunk/gshell-cli/src/main/resources/org/apache/geronimo/gshell/cli/Main.properties
    geronimo/gshell/trunk/gshell-model/pom.xml
    geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/Model.java
    geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/ApplicationModel.java
    geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Branding.java
    geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyArtifact.java
    geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyGroup.java
    geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginArtifact.java
    geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java
    geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java
    geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/LocalRepository.java
    geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/RemoteRepository.java
    geronimo/gshell/trunk/gshell-support/gshell-ivy/src/test/java/org/apache/geronimo/gshell/ivy/IvyTest.java
    geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/pom.xml
    geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationArtifactFilter.java
    geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationManagerImpl.java
    geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ClassPathImpl.java
    geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilder.java
    geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilderImpl.java
    geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/pom.xml

Modified: geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/application.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/application.xml?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/application.xml (original)
+++ geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/application.xml Fri Oct 17 04:07:03 2008
@@ -20,96 +20,74 @@
 
 <!-- $Rev$ $Date$ -->
 
-<application>
-
-    <!--
-    TODO: Consider making application.xml a spring beans file, with a custom 'application' (and 'settings' for settings.xml) namespace.
-          Will need a way to install application specific beans and config which is not in a plugin anyways.
-          And, we can drop the need for XStream and some of the bits from gshell-model
-    -->
-
-    <groupId>org.apache.geronimo.gshell</groupId>
-    <artifactId>gshell</artifactId>
-    <name>GShell</name>
-    <version>1.0-alpha-2-SNAPSHOT</version>
-
-    <localRepository>
-        <directory>${gshell.home}/var/repository</directory>
-    </localRepository>
-
-    <remoteRepositories>
-        <remoteRepository>
-            <id>cache</id>
-            <location>file:${user.home}/.m2/repository</location>
-        </remoteRepository>
-        
-        <!--
-        <remoteRepository>
-            <id>central</id>
-            <location>http://repo1.maven.org/maven2</location>
-        </remoteRepository>
-        -->
-    </remoteRepositories>
-
-    <dependencyGroups>
-        <dependencyGroup>
-            <version>1.0-alpha-2-SNAPSHOT</version>
-
-            <dependency>
-                <groupId>org.apache.geronimo.gshell.wisdom</groupId>
-                <artifactId>gshell-wisdom-core</artifactId>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.geronimo.gshell.support</groupId>
-                <artifactId>gshell-vfs-local</artifactId>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.geronimo.gshell.support</groupId>
-                <artifactId>gshell-vfs-truezip</artifactId>
-            </dependency>
-        </dependencyGroup>
-    </dependencyGroups>
-
-    <pluginGroups>
-        <pluginGroup>
-            <groupId>org.apache.geronimo.gshell.commands</groupId>
-            <version>1.0-alpha-2-SNAPSHOT</version>
-
-            <plugin>
-                <artifactId>gshell-builtins</artifactId>
-            </plugin>
-
-            <plugin>
-                <artifactId>gshell-admin</artifactId>
-            </plugin>
-
-            <plugin>
-                <artifactId>gshell-log4j</artifactId>
-            </plugin>
-
-            <plugin>
-                <artifactId>gshell-vfs</artifactId>
-            </plugin>
-            <plugin>
-                <artifactId>gshell-remote</artifactId>
-            </plugin>
-            
-            <plugin>
-                <artifactId>gshell-optional</artifactId>
-            </plugin>
-
-            <plugin>
-                <artifactId>gshell-repository</artifactId>
-            </plugin>
-
-            <plugin>
-                <artifactId>gshell-bsf</artifactId>
-            </plugin>
-        </pluginGroup>
-    </pluginGroups>
-
-    <branding class="org.apache.geronimo.gshell.wisdom.branding.GShellBranding"/>
-
-</application>
\ No newline at end of file
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="
+            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
+
+    <bean class="org.apache.geronimo.gshell.model.application.ApplicationModel">
+        <property name="groupId" value="org.apache.geronimo.gshell"/>
+        <property name="artifactId" value="gshell"/>
+        <property name="name" value="GShell"/>
+        <property name="version" value="1.0-alpha-2-SNAPSHOT"/>
+
+        <property name="localRepository">
+            <bean class="org.apache.geronimo.gshell.model.common.LocalRepository">
+                <property name="directory" value="${gshell.home}/var/repository"/>
+            </bean>
+        </property>
+
+        <property name="remoteRepositories">
+            <list>
+                <bean class="org.apache.geronimo.gshell.model.common.RemoteRepository">
+                    <property name="id" value="cache"/>
+                    <property name="location" value="file:${user.home}/.m2/repository"/>
+                </bean>
+            </list>
+        </property>
+
+        <property name="branding">
+            <bean class="org.apache.geronimo.gshell.wisdom.branding.GShellBranding"/>
+        </property>
+
+        <property name="dependencies">
+            <list>
+                <bean class="org.apache.geronimo.gshell.model.application.DependencyArtifact">
+                    <property name="groupId" value="org.apache.geronimo.gshell.wisdom"/>
+                    <property name="artifactId" value="gshell-wisdom-core"/>
+                    <property name="version" value="1.0-alpha-2-SNAPSHOT"/>
+                </bean>
+
+                <bean class="org.apache.geronimo.gshell.model.application.DependencyArtifact">
+                    <property name="groupId" value="org.apache.geronimo.gshell.support"/>
+                    <property name="artifactId" value="gshell-vfs-local"/>
+                    <property name="version" value="1.0-alpha-2-SNAPSHOT"/>
+                </bean>
+
+                <bean class="org.apache.geronimo.gshell.model.application.DependencyArtifact">
+                    <property name="groupId" value="org.apache.geronimo.gshell.support"/>
+                    <property name="artifactId" value="gshell-vfs-truezip"/>
+                    <property name="version" value="1.0-alpha-2-SNAPSHOT"/>
+                </bean>
+            </list>
+        </property>
+
+        <property name="plugins">
+            <list>
+                <bean class="org.apache.geronimo.gshell.model.application.PluginArtifact">
+                    <property name="groupId" value="org.apache.geronimo.gshell.commands"/>
+                    <property name="artifactId" value="gshell-builtins"/>
+                    <property name="version" value="1.0-alpha-2-SNAPSHOT"/>
+                </bean>
+
+                <bean class="org.apache.geronimo.gshell.model.application.PluginArtifact">
+                    <property name="groupId" value="org.apache.geronimo.gshell.commands"/>
+                    <property name="artifactId" value="gshell-vfs"/>
+                    <property name="version" value="1.0-alpha-2-SNAPSHOT"/>
+                </bean>
+            </list>
+        </property>
+    </bean>
+</beans>
\ No newline at end of file

Modified: geronimo/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java (original)
+++ geronimo/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java Fri Oct 17 04:07:03 2008
@@ -20,7 +20,6 @@
 package org.apache.geronimo.gshell.cli;
 
 import org.apache.geronimo.gshell.ansi.ANSI;
-import org.apache.geronimo.gshell.application.ApplicationModelLocator;
 import org.apache.geronimo.gshell.clp.Argument;
 import org.apache.geronimo.gshell.clp.CommandLineProcessor;
 import org.apache.geronimo.gshell.clp.Option;
@@ -28,15 +27,14 @@
 import org.apache.geronimo.gshell.i18n.MessageSource;
 import org.apache.geronimo.gshell.i18n.ResourceBundleMessageSource;
 import org.apache.geronimo.gshell.io.IO;
-import org.apache.geronimo.gshell.model.application.ApplicationModel;
 import org.apache.geronimo.gshell.notification.ExitNotification;
 import org.apache.geronimo.gshell.shell.Shell;
-import org.apache.geronimo.gshell.wisdom.builder.ShellBuilder;
-import org.apache.geronimo.gshell.wisdom.builder.ShellBuilderImpl;
+import org.apache.geronimo.gshell.terminal.AutoDetectedTerminal;
 import org.apache.geronimo.gshell.terminal.UnixTerminal;
-import org.apache.geronimo.gshell.terminal.WindowsTerminal;
 import org.apache.geronimo.gshell.terminal.UnsupportedTerminal;
-import org.apache.geronimo.gshell.terminal.AutoDetectedTerminal;
+import org.apache.geronimo.gshell.terminal.WindowsTerminal;
+import org.apache.geronimo.gshell.wisdom.builder.ShellBuilder;
+import org.apache.geronimo.gshell.wisdom.builder.ShellBuilderImpl;
 
 import java.util.List;
 import java.util.concurrent.atomic.AtomicReference;
@@ -80,11 +78,6 @@
         System.setProperty("gshell.log.console.level", level);
     }
 
-    /*
-    @Option(name="-a", aliases={"--application"})
-    private String applicationDescriptor;
-    */
-    
     @Option(name="-e", aliases={"--exception"})
     private void setException(boolean flag) {
     	if (flag) {
@@ -209,20 +202,15 @@
             builder.setClassLoader(getClass().getClassLoader());
             builder.setIo(io);
 
-            // Find our application descriptor
-            ApplicationModel applicationModel = new ApplicationModelLocator().
-                    /*addLocation(applicationDescriptor).*/locate();
-            builder.setApplicationModel(applicationModel);
-
             // --help and --version need access to the application's information, so we have to handle these options late
             if (help|version) {
                 if (help) {
                     Printer printer = new Printer(clp);
                     printer.setMessageSource(messages);
-                    printer.printUsage(io.out, applicationModel.getBranding().getProgramName());
+                    printer.printUsage(io.out, "FIXME"/*applicationModel.getBranding().getProgramName()*/);
                 }
                 else if (version) {
-                    io.out.println(applicationModel.getVersion());
+                    io.out.println("FIXME"/*applicationModel.getVersion()*/);
                     io.out.println();
                 }
 

Modified: geronimo/gshell/trunk/gshell-cli/src/main/resources/org/apache/geronimo/gshell/cli/Main.properties
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-cli/src/main/resources/org/apache/geronimo/gshell/cli/Main.properties?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-cli/src/main/resources/org/apache/geronimo/gshell/cli/Main.properties (original)
+++ geronimo/gshell/trunk/gshell-cli/src/main/resources/org/apache/geronimo/gshell/cli/Main.properties Fri Oct 17 04:07:03 2008
@@ -27,12 +27,6 @@
 
 option.interactive=Run in interactive mode
 
-option.applicationDescriptor=Application descriptor
-option.applicationDescriptor.token=FILE
-
-option.settingsDescriptor=Settings descriptor
-option.settingsDescriptor.token=FILE
-
 option.setException=Enable exception stack traces
 
 option.setDebug=Enable DEBUG output

Modified: geronimo/gshell/trunk/gshell-model/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/pom.xml?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/pom.xml (original)
+++ geronimo/gshell/trunk/gshell-model/pom.xml Fri Oct 17 04:07:03 2008
@@ -34,7 +34,7 @@
     <name>GShell Model</name>
 
     <description>
-		GShell XML models.
+		GShell models.
     </description>
 
     <dependencies>
@@ -42,34 +42,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
-
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.geronimo.gshell.support</groupId>
-            <artifactId>gshell-yarn</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.geronimo.gshell.support</groupId>
-            <artifactId>gshell-interpolation</artifactId>
-        </dependency>
         
         <dependency>
             <groupId>org.apache.geronimo.gshell.support</groupId>
-            <artifactId>gshell-marshal</artifactId>
-        </dependency>
-
-        <!--
-        NOTE: Used for StringUtils.capitalise() only.
-        -->
-        <dependency>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-utils</artifactId>
+            <artifactId>gshell-yarn</artifactId>
         </dependency>
     </dependencies>
 

Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/Model.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/Model.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/Model.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/Model.java Fri Oct 17 04:07:03 2008
@@ -19,9 +19,6 @@
 
 package org.apache.geronimo.gshell.model;
 
-import org.apache.geronimo.gshell.marshal.Marshaller;
-import org.apache.geronimo.gshell.marshal.MarshallerAware;
-
 /**
  * Base class for root model elements.
  *
@@ -29,9 +26,9 @@
  */
 public abstract class Model
     extends Element
-    implements MarshallerAware
+    // implements MarshallerAware
 {
-    private transient Marshaller marshaller;
+    // private transient Marshaller marshaller;
 
     /*
     @XStreamAlias("version")
@@ -39,6 +36,7 @@
     private String modelVersion;
     */
 
+    /*
     public Marshaller getMarshaller() {
     	if (marshaller == null) {
     		throw new IllegalStateException("Marshaller is not bound");
@@ -50,6 +48,7 @@
     public void setMarshaller(final Marshaller marshaller) {
         this.marshaller = marshaller;
     }
+    */
 
     /*
     public String getModelVersion() {

Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/ApplicationModel.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/ApplicationModel.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/ApplicationModel.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/ApplicationModel.java Fri Oct 17 04:07:03 2008
@@ -19,7 +19,6 @@
 
 package org.apache.geronimo.gshell.model.application;
 
-import com.thoughtworks.xstream.annotations.XStreamAlias;
 import org.apache.geronimo.gshell.model.common.DescriptorSupport;
 import org.apache.geronimo.gshell.model.common.LocalRepository;
 import org.apache.geronimo.gshell.model.common.RemoteRepository;
@@ -32,7 +31,6 @@
  *
  * @version $Rev$ $Date$
  */
-@XStreamAlias("application")
 public class ApplicationModel
     extends DescriptorSupport
 {
@@ -70,6 +68,10 @@
         return remoteRepositories;
     }
 
+    public void setRemoteRepositories(final List<RemoteRepository> repositories) {
+        this.remoteRepositories = repositories;
+    }
+
     public void add(final RemoteRepository repository) {
         assert repository != null;
 
@@ -102,6 +104,10 @@
         return dependencies;
     }
 
+    public void setDependencies(final List<DependencyArtifact> dependencies) {
+        this.dependencies = dependencies;
+    }
+
     public List<DependencyArtifact> getDependencies(boolean includeGroups) {
         if (!includeGroups) {
             return getDependencies();
@@ -150,6 +156,10 @@
         return plugins;
     }
 
+    public void setPlugins(final List<PluginArtifact> plugins) {
+        this.plugins = plugins;
+    }
+
     public List<PluginArtifact> getPlugins(boolean includeGroups) {
         if (!includeGroups) {
             return getPlugins();

Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Branding.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Branding.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Branding.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/Branding.java Fri Oct 17 04:07:03 2008
@@ -19,9 +19,7 @@
 
 package org.apache.geronimo.gshell.model.application;
 
-import com.thoughtworks.xstream.annotations.XStreamAlias;
 import org.apache.geronimo.gshell.model.Element;
-import org.codehaus.plexus.util.StringUtils;
 
 import java.io.File;
 import java.util.Properties;
@@ -31,7 +29,6 @@
  *
  * @version $Rev$ $Date$
  */
-@XStreamAlias("branding")
 public class Branding
     extends Element
 {
@@ -93,12 +90,27 @@
 
     public String getDisplayName() {
         if (displayName == null) {
-            return StringUtils.capitalise(getName());
+            return capitalise(getName());
         }
 
         return displayName;
     }
 
+    private static String capitalise(final String str) {
+        if (str == null) {
+            return null;
+        }
+        else if (str.length() == 0) {
+            return "";
+        }
+        else {
+            return new StringBuffer(str.length())
+                    .append(Character.toTitleCase(str.charAt(0)))
+                    .append(str.substring(1))
+                    .toString();
+        }
+    }
+
     public void setDisplayName(final String displayName) {
         this.displayName = displayName;
     }

Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyArtifact.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyArtifact.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyArtifact.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyArtifact.java Fri Oct 17 04:07:03 2008
@@ -19,7 +19,6 @@
 
 package org.apache.geronimo.gshell.model.application;
 
-import com.thoughtworks.xstream.annotations.XStreamAlias;
 import org.apache.geronimo.gshell.model.common.Artifact;
 
 /**
@@ -27,7 +26,6 @@
  *
  * @version $Rev$ $Date$
  */
-@XStreamAlias("dependency")
 public class DependencyArtifact
     extends Artifact
 {

Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyGroup.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyGroup.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyGroup.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/DependencyGroup.java Fri Oct 17 04:07:03 2008
@@ -19,24 +19,20 @@
 
 package org.apache.geronimo.gshell.model.application;
 
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamImplicit;
+import org.apache.geronimo.gshell.model.common.ArtifactGroup;
 
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.geronimo.gshell.model.common.ArtifactGroup;
-
 /**
  * Groups {@link DependencyArtifact} elements to allow artifact configuration to be shared.
  *
  * @version $Rev$ $Date$
  */
-@XStreamAlias("dependencyGroup")
 public class DependencyGroup
     extends ArtifactGroup<DependencyArtifact>
 {
-    @XStreamImplicit
+    // @XStreamImplicit
     private List<DependencyArtifact> dependencies;
 
     public List<DependencyArtifact> getArtifacts() {

Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginArtifact.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginArtifact.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginArtifact.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginArtifact.java Fri Oct 17 04:07:03 2008
@@ -19,7 +19,6 @@
 
 package org.apache.geronimo.gshell.model.application;
 
-import com.thoughtworks.xstream.annotations.XStreamAlias;
 import org.apache.geronimo.gshell.model.common.Artifact;
 
 /**
@@ -27,7 +26,6 @@
  *
  * @version $Rev$ $Date$
  */
-@XStreamAlias("plugin")
 public class PluginArtifact
     extends Artifact
 {

Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/application/PluginGroup.java Fri Oct 17 04:07:03 2008
@@ -19,8 +19,6 @@
 
 package org.apache.geronimo.gshell.model.application;
 
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamImplicit;
 import org.apache.geronimo.gshell.model.common.ArtifactGroup;
 
 import java.util.ArrayList;
@@ -31,11 +29,10 @@
  *
  * @version $Rev$ $Date$
  */
-@XStreamAlias("pluginGroup")
 public class PluginGroup
     extends ArtifactGroup<PluginArtifact>
 {
-    @XStreamImplicit
+    // @XStreamImplicit
     private List<PluginArtifact> plugins;
 
     public List<PluginArtifact> getArtifacts() {

Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/Artifact.java Fri Oct 17 04:07:03 2008
@@ -19,20 +19,15 @@
 
 package org.apache.geronimo.gshell.model.common;
 
-import com.thoughtworks.xstream.annotations.XStreamOmitField;
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-
 /**
  * Defines an artifact (groupId, artifactId, version, etc).
  *
  * @version $Rev$ $Date$
  */
-@XStreamAlias("artifact")
 public class Artifact
     extends ArtifactSupport
 {
-    @XStreamOmitField
-    private ArtifactGroup artifactGroup;
+    private transient ArtifactGroup artifactGroup;
 
     public ArtifactGroup getArtifactGroup() {
         return artifactGroup;

Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/LocalRepository.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/LocalRepository.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/LocalRepository.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/LocalRepository.java Fri Oct 17 04:07:03 2008
@@ -19,7 +19,6 @@
 
 package org.apache.geronimo.gshell.model.common;
 
-import com.thoughtworks.xstream.annotations.XStreamAlias;
 import org.apache.geronimo.gshell.model.Element;
 
 import java.io.File;
@@ -29,7 +28,6 @@
  *
  * @version $Rev$ $Date$
  */
-@XStreamAlias("localRepository")
 public class LocalRepository
     extends Element
 {

Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/RemoteRepository.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/RemoteRepository.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/RemoteRepository.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/common/RemoteRepository.java Fri Oct 17 04:07:03 2008
@@ -19,7 +19,6 @@
 
 package org.apache.geronimo.gshell.model.common;
 
-import com.thoughtworks.xstream.annotations.XStreamAlias;
 import org.apache.geronimo.gshell.model.Element;
 
 import java.net.URI;
@@ -30,7 +29,6 @@
  *
  * @version $Rev$ $Date$
  */
-@XStreamAlias("remoteRepository")
 public class RemoteRepository
     extends Element
 {

Added: geronimo/gshell/trunk/gshell-support/gshell-ivy/src/main/java/org/apache/geronimo/gshell/ivy/ArtifactResolver.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-support/gshell-ivy/src/main/java/org/apache/geronimo/gshell/ivy/ArtifactResolver.java?rev=705559&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-support/gshell-ivy/src/main/java/org/apache/geronimo/gshell/ivy/ArtifactResolver.java (added)
+++ geronimo/gshell/trunk/gshell-support/gshell-ivy/src/main/java/org/apache/geronimo/gshell/ivy/ArtifactResolver.java Fri Oct 17 04:07:03 2008
@@ -0,0 +1,30 @@
+/*
+ * 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.gshell.ivy;
+
+/**
+ * ???
+ *
+ * @version $Rev$ $Date$
+ */
+public interface ArtifactResolver
+{
+    
+}
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-support/gshell-ivy/src/main/java/org/apache/geronimo/gshell/ivy/ArtifactResolver.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-support/gshell-ivy/src/main/java/org/apache/geronimo/gshell/ivy/ArtifactResolver.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-support/gshell-ivy/src/main/java/org/apache/geronimo/gshell/ivy/ArtifactResolver.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: geronimo/gshell/trunk/gshell-support/gshell-ivy/src/test/java/org/apache/geronimo/gshell/ivy/IvyTest.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-support/gshell-ivy/src/test/java/org/apache/geronimo/gshell/ivy/IvyTest.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-support/gshell-ivy/src/test/java/org/apache/geronimo/gshell/ivy/IvyTest.java (original)
+++ geronimo/gshell/trunk/gshell-support/gshell-ivy/src/test/java/org/apache/geronimo/gshell/ivy/IvyTest.java Fri Oct 17 04:07:03 2008
@@ -36,7 +36,6 @@
 import org.apache.ivy.core.cache.ResolutionCacheManager;
 
 import java.io.File;
-import java.util.List;
 import java.net.URL;
 
 /**

Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/pom.xml?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/pom.xml (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/pom.xml Fri Oct 17 04:07:03 2008
@@ -64,11 +64,6 @@
         </dependency>
         
         <dependency>
-            <groupId>org.apache.geronimo.gshell.support</groupId>
-            <artifactId>gshell-marshal</artifactId>
-        </dependency>
-
-        <dependency>
             <groupId>org.apache.geronimo.gshell</groupId>
             <artifactId>gshell-api</artifactId>
         </dependency>

Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationArtifactFilter.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationArtifactFilter.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationArtifactFilter.java (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationArtifactFilter.java Fri Oct 17 04:07:03 2008
@@ -62,10 +62,8 @@
             "gshell-spring",
             "gshell-wisdom-bootstrap",
             "gshell-yarn",
-            "gshell-interpolation",
             "jcl104-over-slf4j",
             "gshell-terminal",
-            "gshell-marshal",
             "jline",
             "log4j",
             "maven-artifact",
@@ -89,8 +87,7 @@
             "wagon-http-lightweight",
             "wagon-http-shared",
             "wagon-provider-api",
-            "xbean-reflect",
-            "xstream",
+            "xbean-reflect"
         }));
 
         return filter;

Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationManagerImpl.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationManagerImpl.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationManagerImpl.java (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ApplicationManagerImpl.java Fri Oct 17 04:07:03 2008
@@ -28,14 +28,10 @@
 import org.apache.geronimo.gshell.artifact.ArtifactManager;
 import org.apache.geronimo.gshell.chronos.StopWatch;
 import org.apache.geronimo.gshell.event.EventPublisher;
-import org.apache.geronimo.gshell.marshal.MarshallerSupport;
-import org.apache.geronimo.gshell.marshal.Marshaller;
 import org.apache.geronimo.gshell.model.application.ApplicationModel;
 import org.apache.geronimo.gshell.model.application.DependencyArtifact;
 import org.apache.geronimo.gshell.model.common.LocalRepository;
 import org.apache.geronimo.gshell.model.common.RemoteRepository;
-import org.apache.geronimo.gshell.model.interpolate.Interpolator;
-import org.apache.geronimo.gshell.model.interpolate.InterpolatorSupport;
 import org.apache.geronimo.gshell.shell.Shell;
 import org.apache.geronimo.gshell.spring.BeanContainer;
 import org.apache.geronimo.gshell.spring.BeanContainerAware;
@@ -43,20 +39,18 @@
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
 import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
-import org.codehaus.plexus.interpolation.PropertiesBasedValueSource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import java.io.File;
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
+import java.net.URL;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
-import java.net.URL;
 
 /**
  * Default implementation of the {@link ApplicationManager} component.
@@ -102,9 +96,6 @@
         // Validate the configuration
         config.validate();
 
-        // Interpolate the model
-        interpolate(config);
-
         // Apply artifact manager configuration settings for application
         configureArtifactManager(config.getModel());
 
@@ -118,24 +109,6 @@
         eventPublisher.publish(new ApplicationConfiguredEvent(application));
     }
 
-    private void interpolate(final ApplicationConfiguration config) throws Exception {
-    	assert config != null;
-
-        ApplicationModel model = config.getModel();
-        Interpolator<ApplicationModel> interp = new InterpolatorSupport<ApplicationModel>();
-
-        // Add value sources to resolve muck
-        interp.addValueSource(new PropertiesBasedValueSource(System.getProperties()));
-
-        // Add application settings
-        interp.addValueSource(new PropertiesBasedValueSource(model.getProperties()));
-
-        model = interp.interpolate(model);
-
-        // Update the configuration with the new model
-        config.setModel(model);
-    }
-
     private void configureArtifactManager(final ApplicationModel model) throws Exception {
         assert model != null;
         assert artifactManager != null;
@@ -184,21 +157,31 @@
     private ClassPath loadClassPath(final ApplicationModel model) throws Exception {
         assert model != null;
 
-        Marshaller<ClassPath> marshaller = new MarshallerSupport<ClassPath>(ClassPathImpl.class);
+        Set<Artifact> artifacts = resolveArtifacts(model);
+        ClassPath classPath = new ClassPathImpl(artifacts);
+
+        /*
+        FIXME: This needs to find a way to work w/o XStream, which isn't available on the classpath yet.
+
         File file = new File(new File(System.getProperty("gshell.home")), "var/xstore/classpath.xml");  // FIXME: Get state directory from application/branding
         ClassPath classPath;
 
         if (file.exists()) {
-            classPath = marshaller.unmarshal(file);
+            XMLDecoder decoder = new XMLDecoder(new BufferedInputStream(new FileInputStream(file)));
+            classPath = (ClassPath)decoder.readObject();
             log.debug("Loaded classpath from cache: {}", file);
+            decoder.close();
         }
         else {
             Set<Artifact> artifacts = resolveArtifacts(model);
             classPath = new ClassPathImpl(artifacts);
             log.debug("Saving classpath to cache: {}", file);
             file.getParentFile().mkdirs();
-            marshaller.marshal(classPath, file);
+            XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream(new FileOutputStream(file)));
+            encoder.writeObject(classPath);
+            encoder.close();
         }
+        */
 
         if (log.isDebugEnabled()) {
             log.debug("Application classpath:");

Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ClassPathImpl.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ClassPathImpl.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ClassPathImpl.java (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/application/ClassPathImpl.java Fri Oct 17 04:07:03 2008
@@ -19,7 +19,6 @@
 
 package org.apache.geronimo.gshell.wisdom.application;
 
-import com.thoughtworks.xstream.annotations.XStreamAlias;
 import org.apache.geronimo.gshell.application.ClassPath;
 import org.apache.geronimo.gshell.model.common.Artifact;
 
@@ -36,7 +35,6 @@
  *
  * @version $Rev$ $Date$
  */
-@XStreamAlias("classpath")
 public class ClassPathImpl
     implements ClassPath
 {

Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilder.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilder.java (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilder.java Fri Oct 17 04:07:03 2008
@@ -22,7 +22,6 @@
 import org.apache.geronimo.gshell.application.ApplicationManager;
 import org.apache.geronimo.gshell.command.Variables;
 import org.apache.geronimo.gshell.io.IO;
-import org.apache.geronimo.gshell.model.application.ApplicationModel;
 import org.apache.geronimo.gshell.shell.ShellFactory;
 
 /**
@@ -45,10 +44,6 @@
 
     void setVariables(Variables variables);
 
-    ApplicationModel getApplicationModel();
-
-    void setApplicationModel(ApplicationModel applicationModel);
-
     ApplicationManager getApplicationManager();
 
     void setApplicationManager(ApplicationManager applicationManager);

Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilderImpl.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilderImpl.java?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilderImpl.java (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilderImpl.java Fri Oct 17 04:07:03 2008
@@ -55,7 +55,8 @@
     private BeanContainer createContainer() throws Exception {
         BeanContainerImpl container = new BeanContainerImpl(getClassLoader());
         container.loadBeans(new String[] {
-            "classpath*:META-INF/spring/components.xml"
+            "classpath*:META-INF/spring/components.xml",
+            "classpath:application.xml"
         });
 
         return container;
@@ -100,14 +101,6 @@
         applicationConfig.setVariables(variables);
     }
 
-    public ApplicationModel getApplicationModel() {
-        return applicationConfig.getModel();
-    }
-
-    public void setApplicationModel(final ApplicationModel applicationModel) {
-        applicationConfig.setModel(applicationModel);
-    }
-
     private ApplicationManager createApplicationManager() {
         return getContainer().getBean(ApplicationManager.class);
     }
@@ -161,6 +154,12 @@
         ArtifactManager artifactManager = getContainer().getBean(ArtifactManager.class);
         artifactManager.setDownloadMonitor(new ProgressSpinnerMonitor(getIo()));
 
+        ApplicationModel applicationModel = container.getBean(ApplicationModel.class);
+        applicationConfig.setModel(applicationModel);
+
+        // HACK: Hookup branding's parent
+        applicationModel.getBranding().setParent(applicationModel);
+        
         // Configure application
         getApplicationManager().configure(applicationConfig);
 

Modified: geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/pom.xml?rev=705559&r1=705558&r2=705559&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/pom.xml (original)
+++ geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/pom.xml Fri Oct 17 04:07:03 2008
@@ -72,13 +72,18 @@
             <groupId>org.apache.geronimo.gshell.support</groupId>
             <artifactId>gshell-vfs-meta</artifactId>
         </dependency>
-        
+
         <dependency>
             <groupId>org.apache.geronimo.gshell.support</groupId>
             <artifactId>gshell-xstore</artifactId>
         </dependency>
 
         <dependency>
+            <groupId>org.apache.geronimo.gshell.support</groupId>
+            <artifactId>gshell-interpolation</artifactId>
+        </dependency>
+
+        <dependency>
             <groupId>org.apache.geronimo.gshell</groupId>
             <artifactId>gshell-parser</artifactId>
         </dependency>