[jboss-cvs] JBossAS SVN: r86484 - in projects/reloaded/trunk/repoclassloader: src/main/java/org/jboss/reloaded/repoclassloader and 8 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Mar 30 16:18:09 EDT 2009


Author: wolfc
Date: 2009-03-30 16:18:09 -0400 (Mon, 30 Mar 2009)
New Revision: 86484

Added:
   projects/reloaded/trunk/repoclassloader/src/test/java/org/jboss/reloaded/repoclassloader/test/rfc2397/
   projects/reloaded/trunk/repoclassloader/src/test/java/org/jboss/reloaded/repoclassloader/test/rfc2397/unit/
   projects/reloaded/trunk/repoclassloader/src/test/java/org/jboss/reloaded/repoclassloader/test/rfc2397/unit/RFC2397TestCase.java
Modified:
   projects/reloaded/trunk/repoclassloader/pom.xml
   projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/RepoResolver.java
   projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/ivy/IvyRepoResolver.java
   projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/protocol/data/Handler.java
   projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/spi/dependency/RepoClassLoaderPolicyModule.java
   projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/spi/metadata/RepoClassLoaderFactory.java
   projects/reloaded/trunk/repoclassloader/src/test/resources/conf/bootstrap/aop.xml
Log:
JBAS-6700: allow for a repository descriptor

Modified: projects/reloaded/trunk/repoclassloader/pom.xml
===================================================================
--- projects/reloaded/trunk/repoclassloader/pom.xml	2009-03-30 20:03:22 UTC (rev 86483)
+++ projects/reloaded/trunk/repoclassloader/pom.xml	2009-03-30 20:18:09 UTC (rev 86484)
@@ -3,12 +3,12 @@
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <parent>
-    <groupId>org.jboss</groupId>
-    <artifactId>jboss-parent</artifactId>
-    <version>4</version>
+    <groupId>org.jboss.reloaded</groupId>
+    <artifactId>jboss-reloaded-build</artifactId>
+    <version>0.1.0-SNAPSHOT</version>
+    <relativePath>../build/pom.xml</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
-  <groupId>org.jboss.reloaded</groupId>
   <artifactId>jboss-reloaded-repoclassloader</artifactId>
   <version>0.1.0-SNAPSHOT</version>
   <packaging>jar</packaging>
@@ -19,18 +19,15 @@
     VFS as a backend, but a repository.
   </description>
   
-  <build>
-    <outputDirectory>${outputDirectory}</outputDirectory>
-    <testOutputDirectory>${testOutputDirectory}</testOutputDirectory>
-  </build>
-
   <dependencies>
+    <!--
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>4.4</version>
       <scope>test</scope>
     </dependency>
+    -->
     <dependency>
       <groupId>org.apache.ivy</groupId>
       <artifactId>ivy</artifactId>
@@ -57,37 +54,19 @@
       <scope>runtime</scope>
     </dependency>
     -->
+    <!--
     <dependency>
       <groupId>org.jboss.logging</groupId>
       <artifactId>jboss-logging-log4j</artifactId>
       <version>2.0.6.GA</version>
       <scope>test</scope>
     </dependency>
+    -->
     <dependency>
       <groupId>org.jboss.man</groupId>
       <artifactId>jboss-managed</artifactId>
       <version>2.0.0.GA</version>
+      <scope>compile</scope>
     </dependency>
   </dependencies>
-
-  <profiles>
-    <profile>
-      <id>default</id>
-      <activation>
-        <activeByDefault>true</activeByDefault>
-      </activation>
-      <properties>
-        <outputDirectory>target/classes</outputDirectory>
-        <testOutputDirectory>target/test-classes</testOutputDirectory>
-      </properties>
-    </profile>
-
-    <profile>
-      <id>eclipse</id>
-      <properties>
-        <outputDirectory>eclipse-target/classes</outputDirectory>
-        <testOutputDirectory>eclipse-target/test-classes</testOutputDirectory>
-      </properties>
-    </profile>
-  </profiles>
 </project>

Modified: projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/RepoResolver.java
===================================================================
--- projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/RepoResolver.java	2009-03-30 20:03:22 UTC (rev 86483)
+++ projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/RepoResolver.java	2009-03-30 20:18:09 UTC (rev 86484)
@@ -22,15 +22,13 @@
 package org.jboss.reloaded.repoclassloader;
 
 import java.net.URI;
-import java.util.List;
+import java.net.URL;
 
-import org.apache.ivy.core.module.descriptor.ExcludeRule;
-
 /**
  * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
  * @version $Revision: $
  */
 public interface RepoResolver
 {
-   URI[] resolve(String name, List<String> artifacts, List<ExcludeRule> excludes);
+   URI[] resolve(URL descriptor);
 }

Modified: projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/ivy/IvyRepoResolver.java
===================================================================
--- projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/ivy/IvyRepoResolver.java	2009-03-30 20:03:22 UTC (rev 86483)
+++ projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/ivy/IvyRepoResolver.java	2009-03-30 20:18:09 UTC (rev 86484)
@@ -28,25 +28,15 @@
 import java.net.URL;
 import java.text.ParseException;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
-import java.util.StringTokenizer;
 
 import org.apache.ivy.Ivy;
-import org.apache.ivy.core.module.descriptor.Configuration;
-import org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor;
-import org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor;
-import org.apache.ivy.core.module.descriptor.DependencyDescriptor;
-import org.apache.ivy.core.module.descriptor.ExcludeRule;
-import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
-import org.apache.ivy.core.module.id.ModuleRevisionId;
 import org.apache.ivy.core.report.ArtifactDownloadReport;
 import org.apache.ivy.core.report.ResolveReport;
 import org.apache.ivy.core.resolve.ResolveOptions;
 import org.apache.ivy.core.settings.IvySettings;
 import org.jboss.logging.Logger;
 import org.jboss.reloaded.repoclassloader.RepoResolver;
-import org.jboss.reloaded.repoclassloader.ivy.xb.XBExcludeRule;
 import org.jboss.reloaded.repoclassloader.protocol.data.Handler;
 
 /**
@@ -60,77 +50,20 @@
    private IvySettings settings;
    private Ivy ivy;
    
-   /**
-    * @param organisation
-    * @param name
-    * @param revision
-    * @return
-    */
-   private DependencyDescriptor createDependencyDescriptor(ModuleDescriptor descriptor, String organisation, String name, String revision)
+   public URI[] resolve(URL descriptor)
    {
-      ModuleRevisionId mrid = ModuleRevisionId.newInstance(organisation, name, revision);
-      boolean force = false;
-      boolean changing = false;
-      // FIXME: oh brother
-      if(revision.endsWith("-SNAPSHOT"))
-         changing = true;
-      boolean transitive = true;
-      DefaultDependencyDescriptor dependency = new DefaultDependencyDescriptor(descriptor, mrid, force, changing, transitive);
-      dependency.addDependencyConfiguration("runtime", "runtime");
-      return dependency;
-   }
-
-   public URI[] resolve(String classLoaderName, List<String> artifacts, List<ExcludeRule> excludes)
-   {
-      // make sure we don't create another ivy instance somewhere
-      ivy.pushContext();
       try
       {
-         ModuleRevisionId id = ModuleRevisionId.newInstance("org.jboss.reloaded", classLoaderName, "working");
-         String status = ivy.getSettings().getStatusManager().getDefaultStatus();
-         Date pubDate = new Date();
-         DefaultModuleDescriptor descriptor = new DefaultModuleDescriptor(id, status, pubDate);
-         //descriptor.setLastModified(System.currentTimeMillis());
-         
          String confs[] = { "runtime" };
-         //boolean transitive = true;
-         //boolean changing = false;
-         //DefaultModuleDescriptor descriptor = DefaultModuleDescriptor.newCallerInstance(mrid, confs, transitive, changing);
-         for(int i = 0; i < confs.length; i++)
-         {
-            Configuration conf = new Configuration(confs[i]);
-            descriptor.addConfiguration(conf);
-         }
          
-         for(String artifact : artifacts)
-         {
-            StringTokenizer st = new StringTokenizer(artifact, ":");
-            if(st.countTokens() != 3)
-               throw new IllegalArgumentException("artifact must conform to <group>:<name>:<version>");
-            String organisation = st.nextToken();
-            String name = st.nextToken();
-            String revision = st.nextToken();
-            
-            DependencyDescriptor dependency = createDependencyDescriptor(descriptor, organisation, name, revision);
-            descriptor.addDependency(dependency);
-         }
-         
-         if(excludes != null)
-         {
-            for(ExcludeRule rule : excludes)
-            {
-               // FIXME: somewhere else so that the lifecyle of XBExcludeRule is better managed
-               if(rule instanceof XBExcludeRule)
-                  ((XBExcludeRule) rule).setSettings(settings);
-               descriptor.addExcludeRule(rule);
-            }
-         }
-         
          ResolveOptions options = new ResolveOptions();
-         options.setConfs(confs);
+         // TODO: configurable
+         //options.setConfs(confs);
+         // FIXME: if we enable validation all hell breaks loose
+         options.setValidate(false);
+         // TODO: configurable
          //options.setUseCacheOnly(true);
          
-         
          ResolveReport report = ivy.resolve(descriptor, options);
          if(report.hasError())
             throw new IllegalArgumentException("Resolving artifacts failed");
@@ -153,10 +86,6 @@
       {
          throw new RuntimeException(e);
       }
-      finally
-      {
-         ivy.popContext();
-      }
    }
    
    public void start()
@@ -164,6 +93,8 @@
       if(settings == null)
          throw new IllegalStateException("settings is null");
       ivy = Ivy.newInstance(settings);
+      // TODO: configurable
+      //ivy.getLoggerEngine().setDefaultLogger(new DefaultMessageLogger(100));
    }
    
    public void setSettings(String s)

Modified: projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/protocol/data/Handler.java
===================================================================
--- projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/protocol/data/Handler.java	2009-03-30 20:03:22 UTC (rev 86483)
+++ projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/protocol/data/Handler.java	2009-03-30 20:18:09 UTC (rev 86484)
@@ -32,6 +32,8 @@
 import java.net.URLEncoder;
 import java.net.URLStreamHandler;
 
+import org.jboss.util.Base64;
+
 /**
  * RFC 2397
  * 
@@ -50,6 +52,11 @@
       System.setProperty("java.protocol.handler.pkgs", pkgs);
    }
    
+   public static URL createURL(byte data[]) throws MalformedURLException
+   {
+         return new URL("data:;base64," + Base64.encodeBytes(data));
+   }
+
    public static URL createURL(String data) throws MalformedURLException
    {
       try
@@ -62,6 +69,11 @@
       }
    }
 
+   protected boolean isBase64Encoded(String s)
+   {
+      return s.endsWith(";base64");
+   }
+   
    @Override
    protected URLConnection openConnection(URL u) throws IOException
    {
@@ -71,7 +83,29 @@
       int i = s.indexOf(',');
       if(i == -1)
          throw new IOException("url has no data (missing ,) " + s);
-      String encoded = s.substring(i + 1);
+      final String encoded = s.substring(i + 1);
+      if(isBase64Encoded(s.substring(0, i)))
+      {
+         return new URLConnection(u) {
+            @Override
+            public void connect() throws IOException
+            {
+            }
+            
+            @Override
+            public String getContentType()
+            {
+               // FIXME
+               return "text/plain";
+            }
+            
+            @Override
+            public InputStream getInputStream() throws IOException
+            {
+               return new ByteArrayInputStream(Base64.decode(encoded));
+            }
+         };
+      }
       // TODO: correct encoding
       final String data = URLDecoder.decode(encoded, "UTF-8");
       return new URLConnection(u) {

Modified: projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/spi/dependency/RepoClassLoaderPolicyModule.java
===================================================================
--- projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/spi/dependency/RepoClassLoaderPolicyModule.java	2009-03-30 20:03:22 UTC (rev 86483)
+++ projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/spi/dependency/RepoClassLoaderPolicyModule.java	2009-03-30 20:18:09 UTC (rev 86484)
@@ -28,7 +28,6 @@
 import java.util.Set;
 import java.util.concurrent.CopyOnWriteArrayList;
 
-import org.apache.ivy.core.module.descriptor.ExcludeRule;
 import org.jboss.beans.metadata.api.annotations.Inject;
 import org.jboss.classloader.spi.filter.ClassFilter;
 import org.jboss.classloading.plugins.vfs.PackageVisitor;
@@ -55,10 +54,7 @@
    /** The serialVersionUID */
    private static final long serialVersionUID = 1L;
 
-   /** The artifacts */
-   private List<String> artifacts;
-
-   private List<ExcludeRule> excludes;
+   private URL descriptorURL;
    
    /** Our cached vfs roots */
    private VirtualFile[] vfsRoots;
@@ -76,30 +72,10 @@
       super(classLoadingMetaData, contextName);
    }
 
-   /**
-    * Get the artifacts.
-    *
-    * @return the artifacts.
-    */
-   public List<String> getArtifacts()
+   public void setDescriptorURL(URL descriptorURL)
    {
-      return artifacts;
+      this.descriptorURL = descriptorURL;
    }
-
-   /**
-    * Set the artifacts.
-    *
-    * @param artifacts the artifacts.
-    */
-   public void setArtifacts(List<String> artifacts)
-   {
-      this.artifacts = artifacts;
-   }
-
-   public void setExcludes(List<ExcludeRule> excludes)
-   {
-      this.excludes = excludes;
-   }
    
    @Override
    protected List<Capability> determineCapabilities()
@@ -164,14 +140,14 @@
       if (vfsRoots != null)
          return vfsRoots;
 
-      if (artifacts == null)
+      if (descriptorURL == null)
       {
          vfsRoots = new VirtualFile[0];
       }
       else
       {
          List<VirtualFile> vfsRoots = new ArrayList<VirtualFile>();
-         URI uris[] = resolver.resolve(getName(), artifacts, excludes);
+         URI uris[] = resolver.resolve(descriptorURL);
          for(URI uri : uris)
          {
             try

Modified: projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/spi/metadata/RepoClassLoaderFactory.java
===================================================================
--- projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/spi/metadata/RepoClassLoaderFactory.java	2009-03-30 20:03:22 UTC (rev 86483)
+++ projects/reloaded/trunk/repoclassloader/src/main/java/org/jboss/reloaded/repoclassloader/spi/metadata/RepoClassLoaderFactory.java	2009-03-30 20:18:09 UTC (rev 86484)
@@ -21,24 +21,28 @@
  */
 package org.jboss.reloaded.repoclassloader.spi.metadata;
 
+import java.io.ByteArrayOutputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
 import java.util.Arrays;
 import java.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
 
+import javax.xml.bind.annotation.XmlAnyElement;
 import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
 
-import org.apache.ivy.core.module.descriptor.ExcludeRule;
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
 import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
 import org.jboss.classloader.spi.ClassLoaderSystem;
 import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
 import org.jboss.classloading.spi.version.Version;
+import org.jboss.logging.Logger;
 import org.jboss.managed.api.annotation.ManagementProperty;
-import org.jboss.reloaded.repoclassloader.ivy.xb.XBExcludeRule;
+import org.jboss.reloaded.repoclassloader.protocol.data.Handler;
 import org.jboss.reloaded.repoclassloader.spi.dependency.RepoClassLoaderPolicyModule;
+import org.jboss.util.xml.DOMWriter;
+import org.w3c.dom.Element;
 
 /**
  * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
@@ -46,6 +50,8 @@
  */
 public class RepoClassLoaderFactory extends ClassLoadingMetaData implements BeanMetaDataFactory
 {
+   private static final Logger log = Logger.getLogger(RepoClassLoaderFactory.class);
+   
    private static final long serialVersionUID = 1L;
 
    /** The default name for the classloading system */
@@ -57,10 +63,9 @@
    /** The context name */
    private String contextName = null;
    
-   /** The artifacts in the form of <i>group</i>:<i>name</i>:<i>version</i> */
-   private List<String> artifacts = new CopyOnWriteArrayList<String>();
+   private Object descriptor;
 
-   private List<ExcludeRule> excludes;
+   private URL descriptorURL;
 
    public RepoClassLoaderFactory()
    {
@@ -129,30 +134,6 @@
    }
 
    /**
-    * Get the artifacts.
-    * 
-    * @return the artifacts.
-    */
-   public List<String> getArtifacts()
-   {
-      return artifacts;
-   }
-
-   /**
-    * Set the artifacts.
-    * 
-    * @param artifacts the artifacts.
-    */
-   @ManagementProperty(name="artifacts")
-   @XmlElement(name="artifact")
-   public void setArtifacts(List<String> artifacts)
-   {
-      if (artifacts == null)
-         artifacts = new CopyOnWriteArrayList<String>();
-      this.artifacts = artifacts;
-   }
-
-   /**
     * Get module class.
     *
     * @return the module class.
@@ -175,8 +156,7 @@
       BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(moduleName, getModuleClass().getName());
       builder.addConstructorParameter(RepoClassLoaderFactory.class.getName(), this);
       builder.addConstructorParameter(String.class.getName(), moduleName);
-      builder.addPropertyMetaData("artifacts", artifacts);
-      builder.addPropertyMetaData("excludes", excludes);
+      builder.addPropertyMetaData("descriptorURL", descriptorURL);
       builder.setNoClassLoader();
       builder.addUninstall("removeClassLoader");
       BeanMetaData module = builder.getBeanMetaData();
@@ -192,12 +172,26 @@
       return Arrays.asList(classLoader, module);
    }
    
-   @ManagementProperty(name="excludes")
-   @XmlElement(name="exclude",type=XBExcludeRule.class)
-   public void setExcludes(List<ExcludeRule> excludes)
+   @ManagementProperty(name="descriptor")
+   // TODO: when I don't specify lax=true, jbossxb will ignore the property
+   //@XmlAnyElement(lax=true)
+   @XmlAnyElement(lax=true)
+   // TODO: when I specify Object, jbossxb will try to unmarshall anyway (and thus fail)
+   public void setDescriptor(Element descriptor)
    {
-      if (excludes == null)
-         excludes = new CopyOnWriteArrayList<ExcludeRule>();
-      this.excludes = excludes;
+      ByteArrayOutputStream out = new ByteArrayOutputStream();
+      // no need to close a ByteArrayOutputStream
+      DOMWriter writer = new DOMWriter(out);
+      writer.print(descriptor.getFirstChild());
+      try
+      {
+         byte data[] = out.toByteArray();
+         this.descriptorURL = Handler.createURL(data);
+         this.descriptor = descriptor;
+      }
+      catch(MalformedURLException e)
+      {
+         throw new RuntimeException(e);
+      }
    }
 }

Added: projects/reloaded/trunk/repoclassloader/src/test/java/org/jboss/reloaded/repoclassloader/test/rfc2397/unit/RFC2397TestCase.java
===================================================================
--- projects/reloaded/trunk/repoclassloader/src/test/java/org/jboss/reloaded/repoclassloader/test/rfc2397/unit/RFC2397TestCase.java	                        (rev 0)
+++ projects/reloaded/trunk/repoclassloader/src/test/java/org/jboss/reloaded/repoclassloader/test/rfc2397/unit/RFC2397TestCase.java	2009-03-30 20:18:09 UTC (rev 86484)
@@ -0,0 +1,57 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.reloaded.repoclassloader.test.rfc2397.unit;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLConnection;
+
+import org.jboss.reloaded.repoclassloader.protocol.data.Handler;
+import org.junit.Test;
+
+/**
+ * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class RFC2397TestCase
+{
+   @Test
+   public void testBase64() throws Exception
+   {
+      String s = "Hello world";
+      URL url = Handler.createURL(s.getBytes());
+      assertTrue(url.toString().contains("base64"));
+      URLConnection conn = url.openConnection();
+      InputStream in = conn.getInputStream();
+      byte d[] = new byte[1024];
+      int i = 0;
+      for(int c = in.read(); c != -1; c = in.read())
+      {
+         d[i++] = (byte) c;
+      }
+      String result = new String(d, 0, i);
+      assertEquals(s, result);
+   }
+}

Modified: projects/reloaded/trunk/repoclassloader/src/test/resources/conf/bootstrap/aop.xml
===================================================================
--- projects/reloaded/trunk/repoclassloader/src/test/resources/conf/bootstrap/aop.xml	2009-03-30 20:03:22 UTC (rev 86483)
+++ projects/reloaded/trunk/repoclassloader/src/test/resources/conf/bootstrap/aop.xml	2009-03-30 20:18:09 UTC (rev 86484)
@@ -8,16 +8,24 @@
    <classloader><inject bean="aop-classloader:0.0.0"/></classloader>
 
    <classloader name="aop-classloader" xmlns="urn:jboss:repoclassloader:1.0" export-all="NON_EMPTY" import-all="true">
-      <artifact>org.jboss.aop:jboss-aop-asintegration-core:2.1.0.CR1</artifact>
-      <artifact>org.jboss.aop:jboss-aop-asintegration-jmx:2.1.0.CR1</artifact>
-      <artifact>org.jboss.aop:jboss-aop-asintegration-mc:2.1.0.CR1</artifact>
-      <!-- artifact>org.jboss.jbossas:jboss-as-aspects:5.0.1.GA</artifact -->
-      <!-- TODO: see EJBTHREE-1734
-      <artifact>${jboss.lib.url}jboss-aop-jboss5.jar</artifact>
-      -->
-      <artifact>org.jboss.ejb3:jboss-ejb3-aop-deployers:0.1.0-SNAPSHOT</artifact>
-      <!-- TODO: some weird ivy side-effect? -->
-      <exclude org="org.jboss.jbossas" module="jboss-as-j2se" ext="test-jar"/>
+      <descriptor>
+         <ivy-module version="2.0" 
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
+            <info organisation="org.jboss.reloaded" module="bindings-classloader"/>
+            <dependencies>
+               <dependency org="org.jboss.aop" name="jboss-aop-asintegration-core" rev="2.1.0.CR1"/>
+               <dependency org="org.jboss.aop" name="jboss-aop-asintegration-jmx" rev="2.1.0.CR1"/>
+               <dependency org="org.jboss.aop" name="jboss-aop-asintegration-mc" rev="2.1.0.CR1"/>
+               <!-- TODO: see EJBTHREE-1734
+               <root>${jboss.lib.url}jboss-aop-jboss5.jar</root>
+               -->
+               <dependency org="org.jboss.ejb3" name="jboss-ejb3-aop-deployers" rev="0.1.0-SNAPSHOT"/>
+               <!-- TODO: some weird ivy side-effect? -->
+               <exclude org="org.jboss.jbossas" module="jboss-as-j2se" ext="test-jar"/>
+            </dependencies>
+         </ivy-module>
+      </descriptor>
    </classloader>
 
    <!-- Integration -->




More information about the jboss-cvs-commits mailing list