mcconnell    2003/03/06 04:05:25

  Modified:    merlin/src/java/org/apache/avalon/merlin/block/impl
                        DefaultBlockLoader.java
  Log:
  Updated such that a classpath directive is created (if required) relative to the 
directory containing the block.xml descriptor.  This ensures that the notion of home 
directory is distict and seperate from the directory from which classpath filesets are 
resolved.  As such all classpath filesets are not relative to the directory containing 
the block.xml file.
  
  Revision  Changes    Path
  1.15      +22 -6     
avalon-sandbox/merlin/src/java/org/apache/avalon/merlin/block/impl/DefaultBlockLoader.java
  
  Index: DefaultBlockLoader.java
  ===================================================================
  RCS file: 
/home/cvs/avalon-sandbox/merlin/src/java/org/apache/avalon/merlin/block/impl/DefaultBlockLoader.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- DefaultBlockLoader.java   6 Mar 2003 09:14:39 -0000       1.14
  +++ DefaultBlockLoader.java   6 Mar 2003 12:05:24 -0000       1.15
  @@ -75,6 +75,7 @@
   import org.apache.avalon.assembly.engine.EngineException;
   import org.apache.avalon.assembly.engine.Engine;
   import org.apache.avalon.assembly.engine.model.LibraryDescriptor;
  +import org.apache.avalon.assembly.engine.model.Classpath;
   import org.apache.avalon.assembly.engine.model.ClasspathDescriptor;
   import org.apache.avalon.assembly.util.ExceptionHelper;
   import org.apache.avalon.assembly.appliance.Appliance;
  @@ -404,7 +405,7 @@
               catch( Throwable e )
               {
                   final String error = 
  -                  "Unexpected error while resolviong base path from URL: " + url;
  +                  "Unexpected error while resolving base path from URL: " + url;
                   throw new BlockRuntimeException( error, e );
               }
           }
  @@ -789,18 +790,33 @@
           LibraryDescriptor extensions = 
             createLibraryDescriptor( config.getChild( "library", false ) );
   
  -        ClasspathDescriptor classpath = 
  -          createClasspathDescriptor( config.getChild( "classpath" ) );
  +        Classpath classpath = null;
  +        Configuration classpathConfig = config.getChild( "classpath", false );
  +        if( classpathConfig != null )
  +        {
  +            ClasspathDescriptor descriptor = createClasspathDescriptor( 
classpathConfig );
  +            try
  +            {
  +                classpath = new Classpath( base, descriptor );
  +            }
  +            catch( IllegalArgumentException iae )
  +            {
  +                final String error = 
  +                 "Cannot construct classpath due to unresolvable base directory.";
  +                throw new EngineException( error, iae );
  +            }
  +        }
   
           if( target != null )
           {
  -            return parent.newInstance( name, base, extensions, classpath, new 
URL[]{ target } );
  +            return parent.newInstance( name, extensions, classpath, new URL[]{ 
target } );
           }
           else
           {
  -            return parent.newInstance( name, base, extensions, classpath );
  +            return parent.newInstance( name, extensions, classpath );
           }
       }
  +
   
      /**
       * Utility that handles the creation of a extension set descriptor from 
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to