Author: mcconnell
Date: Tue Jun  8 09:37:49 2004
New Revision: 20911

Added:
   avalon/trunk/runtime/activation/api/gump-build.xml
      - copied unchanged from rev 20872, 
avalon/trunk/runtime/activation/api/build.xml
   avalon/trunk/runtime/activation/impl/gump-build.xml
      - copied unchanged from rev 20872, 
avalon/trunk/runtime/activation/impl/build.xml
   avalon/trunk/runtime/composition/api/gump-build.xml
      - copied unchanged from rev 20872, 
avalon/trunk/runtime/composition/api/build.xml
   avalon/trunk/runtime/composition/impl/gump-build.xml
      - copied unchanged from rev 20872, 
avalon/trunk/runtime/composition/impl/build.xml
   avalon/trunk/runtime/composition/spi/gump-build.xml
      - copied unchanged from rev 20872, 
avalon/trunk/runtime/composition/spi/build.xml
   avalon/trunk/runtime/maven-plugins/artifact/gump-build.xml
      - copied unchanged from rev 20872, 
avalon/trunk/runtime/maven-plugins/artifact/build.xml
   avalon/trunk/runtime/merlin/api/gump-build.xml
      - copied unchanged from rev 20872, 
avalon/trunk/runtime/merlin/api/build.xml
   avalon/trunk/runtime/merlin/cli/gump-build.xml
      - copied unchanged from rev 20872, 
avalon/trunk/runtime/merlin/cli/build.xml
   avalon/trunk/runtime/merlin/impl/gump-build.xml
      - copied unchanged from rev 20872, 
avalon/trunk/runtime/merlin/impl/build.xml
   avalon/trunk/runtime/merlin/plugin/gump-build.xml
      - copied unchanged from rev 20872, 
avalon/trunk/runtime/merlin/plugin/build.xml
   avalon/trunk/runtime/merlin/unit/gump-build.xml
      - copied unchanged from rev 20872, 
avalon/trunk/runtime/merlin/unit/build.xml
Removed:
   avalon/trunk/runtime/activation/api/build.xml
   avalon/trunk/runtime/activation/impl/build.xml
   avalon/trunk/runtime/composition/api/build.xml
   avalon/trunk/runtime/composition/impl/build.xml
   avalon/trunk/runtime/composition/spi/build.xml
   avalon/trunk/runtime/maven-plugins/artifact/build.xml
   avalon/trunk/runtime/merlin/api/build.xml
   avalon/trunk/runtime/merlin/cli/build.xml
   avalon/trunk/runtime/merlin/impl/build.xml
   avalon/trunk/runtime/merlin/plugin/build.xml
   avalon/trunk/runtime/merlin/unit/build.xml
Modified:
   avalon/trunk/central/system/index.xml
   avalon/trunk/runtime/logging/test/etc/test/unit/log4j/log4j.properties
   avalon/trunk/runtime/logging/test/etc/test/unit/log4j/log4j.xml
   
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/home/Repository.java
   
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/tasks/ArtifactTask.java
   
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java
   
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/tasks/JavacTask.java
Log:
Renbame build.xml to gump-build.xml, some index.xml updates, and enhancements 
to the project tools to support BUILD, TEST and RUNTIME path differentiation.

Modified: avalon/trunk/central/system/index.xml
==============================================================================
--- avalon/trunk/central/system/index.xml       (original)
+++ avalon/trunk/central/system/index.xml       Tue Jun  8 09:37:49 2004
@@ -127,7 +127,7 @@
       </info>
       <dependencies>
         <projects>
-          <projectref key="avalon-logkit"/>
+          <projectref key="avalon-logkit" runtime="false" test="false"/>
         </projects>
       </dependencies>
     </project>
@@ -372,6 +372,7 @@
       </dependencies>
     </project>
 
+    <!-- TODO: update cli scripts to incorporate runtime classpath -->
     <project basedir="../../runtime/repository/cli">
       <info>
         <group>avalon/repository</group>
@@ -396,8 +397,9 @@
       </info>
       <dependencies>
         <projects>
+          <projectref key="avalon-repository-impl" test="false"/>
           <projectref key="avalon-repository-main"/>
-          <projectref key="avalon-framework-impl"/>
+          <projectref key="avalon-framework-impl" test="true"/>
         </projects>
       </dependencies>
     </project>
@@ -412,6 +414,142 @@
         <name>avalon-logging-api</name>
         <version>1.0.0</version>
       </info>
+    </project>
+
+    <project basedir="../../runtime/logging/spi">
+      <info>
+        <group>avalon/logging</group>
+        <name>avalon-logging-spi</name>
+        <version>1.0.0</version>
+      </info>
+      <dependencies>
+        <projects>
+          <projectref key="avalon-logging-api"/>
+          <projectref key="avalon-repository-spi"/>
+          <projectref key="avalon-framework-api"/>
+        </projects>
+      </dependencies>
+    </project>
+
+    <project basedir="../../runtime/logging/impl">
+      <info>
+        <group>avalon/logging</group>
+        <name>avalon-logging-impl</name>
+        <version>1.0.0</version>
+      </info>
+      <dependencies>
+        <projects>
+          <projectref key="avalon-logging-spi"/>
+          <projectref key="avalon-repository-main" runtime="false"/>
+        </projects>
+      </dependencies>
+    </project>
+
+    <project basedir="../../runtime/logging/log4j">
+      <info>
+        <group>avalon/logging</group>
+        <name>avalon-logging-log4j</name>
+        <version>1.0.0</version>
+      </info>
+      <dependencies>
+        <projects>
+          <projectref key="avalon-logging-impl" runtime="false"/>
+        </projects>
+        <resources>
+          <resourceref key="log4j"/>
+        </resources>
+      </dependencies>
+    </project>
+
+    <project basedir="../../runtime/logging/logkit/api">
+      <info>
+        <group>avalon/logging/logkit</group>
+        <name>avalon-logging-logkit-api</name>
+        <version>1.0.0</version>
+      </info>
+      <dependencies>
+        <projects>
+          <projectref key="avalon-logging-spi" runtime="false"/>
+          <projectref key="avalon-logkit"/>
+        </projects>
+      </dependencies>
+    </project>
+
+    <project basedir="../../runtime/logging/logkit/impl">
+      <info>
+        <group>avalon/logging/logkit</group>
+        <name>avalon-logging-logkit-impl</name>
+        <version>1.0.0</version>
+      </info>
+      <dependencies>
+        <projects>
+          <projectref key="avalon-logging-logkit-api"/>
+          <projectref key="avalon-logging-impl" runtime="false"/>
+          <projectref key="avalon-util-configuration"/>
+        </projects>
+      </dependencies>
+    </project>
+
+    <project basedir="../../runtime/logging/logkit/plugins/datagram">
+      <info>
+        <group>avalon/logging/logkit</group>
+        <name>avalon-logging-logkit-datagram</name>
+        <version>1.0.0</version>
+      </info>
+      <dependencies>
+        <projects>
+          <projectref key="avalon-logging-logkit-api" runtime="false"/>
+          <projectref key="avalon-repository-main" runtime="false"/>
+        </projects>
+      </dependencies>
+    </project>
+
+    <project basedir="../../runtime/logging/logkit/plugins/socket">
+      <info>
+        <group>avalon/logging/logkit</group>
+        <name>avalon-logging-logkit-socket</name>
+        <version>1.0.0</version>
+      </info>
+      <dependencies>
+        <projects>
+          <projectref key="avalon-logging-logkit-api" runtime="false"/>
+          <projectref key="avalon-repository-main" runtime="false"/>
+        </projects>
+      </dependencies>
+    </project>
+
+    <project basedir="../../runtime/logging/logkit/plugins/syslog">
+      <info>
+        <group>avalon/logging/logkit</group>
+        <name>avalon-logging-logkit-syslog</name>
+        <version>1.0.0</version>
+      </info>
+      <dependencies>
+        <projects>
+          <projectref key="avalon-logging-logkit-api" runtime="false"/>
+          <projectref key="avalon-repository-main" runtime="false"/>
+        </projects>
+      </dependencies>
+    </project>
+
+    <project basedir="../../runtime/logging/test">
+      <info>
+        <group>avalon/logging</group>
+        <name>avalon-logging-test</name>
+        <version>1.0.0</version>
+      </info>
+      <dependencies>
+        <projects>
+          <projectref key="avalon-logging-logkit-impl" test="false"/>
+          <projectref key="avalon-logging-log4j" test="false"/>
+          <projectref key="avalon-logging-logkit-syslog" test="false"/>
+          <projectref key="avalon-logging-logkit-socket" test="false"/>
+          <projectref key="avalon-logging-logkit-datagram" test="false"/>
+          <projectref key="avalon-repository-main"/>
+          <projectref key="avalon-logging-impl"/>
+          <projectref key="avalon-framework-impl"/>
+        </projects>
+      </dependencies>
     </project>
 
   </projects>

Modified: avalon/trunk/runtime/logging/test/etc/test/unit/log4j/log4j.properties
==============================================================================
--- avalon/trunk/runtime/logging/test/etc/test/unit/log4j/log4j.properties      
(original)
+++ avalon/trunk/runtime/logging/test/etc/test/unit/log4j/log4j.properties      
Tue Jun  8 09:37:49 2004
@@ -1,7 +1,7 @@
 
 log4j.rootLogger=DEBUG, A1
 log4j.appender.A1=org.apache.log4j.FileAppender
-log4j.appender.A1.file=target/alt-output.log
+log4j.appender.A1.file=alt-output.log
 
 log4j.appender.A1.layout=org.apache.log4j.PatternLayout
 

Modified: avalon/trunk/runtime/logging/test/etc/test/unit/log4j/log4j.xml
==============================================================================
--- avalon/trunk/runtime/logging/test/etc/test/unit/log4j/log4j.xml     
(original)
+++ avalon/trunk/runtime/logging/test/etc/test/unit/log4j/log4j.xml     Tue Jun 
 8 09:37:49 2004
@@ -12,7 +12,7 @@
   </appender>
 
   <appender name="FILE" class="org.apache.log4j.FileAppender">
-    <param name="File" value="target/output.log"/>
+    <param name="File" value="output.log"/>
     <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
     </layout>

Modified: 
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/home/Repository.java
==============================================================================
--- 
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/home/Repository.java
       (original)
+++ 
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/home/Repository.java
       Tue Jun  8 09:37:49 2004
@@ -141,10 +141,16 @@
     public Path createPath( Project project, Definition def )
       throws BuildException
     {
-        return createPath( project, def, false );
+        return createPath( project, def, Policy.ANY );
     }
 
-    public Path createPath( Project project, Definition def, boolean flag )
+    public Path createPath( Project project, Definition def, int policy )
+      throws BuildException
+    {
+        return createPath( project, def, false, policy );
+    }
+
+    private Path createPath( Project project, Definition def, boolean flag, 
int policy )
       throws BuildException
     {
         Path path = new Path( project );
@@ -165,19 +171,22 @@
         for( int i=0; i<refs.length; i++ )
         {
             ResourceRef ref = refs[i];
-            Resource resource = m_home.getResource( ref );
-            try
+            if( ref.getPolicy().matches( policy ) )
             {
-                getResource( project, resource );
-                FileList file = getResourceFileList( project, resource );
-                path.addFilelist( file );
-            }
-            catch( Throwable e )
-            {
-                k++;
-                buffer.append( "\n" + k );
-                buffer.append( ": " );
-                buffer.append( resource.getInfo() );
+                Resource resource = m_home.getResource( ref );
+                try
+                {
+                    getResource( project, resource );
+                    FileList file = getResourceFileList( project, resource );
+                    path.addFilelist( file );
+                }
+                catch( Throwable e )
+                {
+                    k++;
+                    buffer.append( "\n" + k );
+                    buffer.append( ": " );
+                    buffer.append( resource.getInfo() );
+                }
             }
         }
 
@@ -197,25 +206,23 @@
         for( int i=0; i<projects.length; i++ )
         {
             ProjectRef ref = projects[i];
-            Definition defintion = m_home.getDefinition( ref );
-            Path projectPath = createPath( project, defintion, true );
-            File file = new File( getCacheDirectory(), 
defintion.getInfo().getPath() );
-            if( file.exists() )
-            {
-                //
-                // TODO make sure the project artifact is up-to-date 
-                // relative to the project src path
-                //
- 
-                path.add( projectPath );
-            }
-            else
+            if( ref.getPolicy().matches( policy ) )
             {
-                final String error = 
-                  "Cannot construct a valid path for the project " 
-                  + def + " because the dependent project " 
-                  + defintion + " has not installed an artifact.";
-                throw new BuildException( error ); 
+                Definition defintion = m_home.getDefinition( ref );
+                Path projectPath = createPath( project, defintion, true, 
policy );
+                File file = new File( getCacheDirectory(), 
defintion.getInfo().getPath() );
+                if( file.exists() )
+                {
+                    path.add( projectPath );
+                }
+                else
+                {
+                    final String error = 
+                      "Cannot construct a valid path for the project " 
+                      + def + " because the dependent project " 
+                      + defintion + " has not installed an artifact.";
+                    throw new BuildException( error );
+                }
             }
         }
 

Modified: 
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/tasks/ArtifactTask.java
==============================================================================
--- 
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/tasks/ArtifactTask.java
    (original)
+++ 
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/tasks/ArtifactTask.java
    Tue Jun  8 09:37:49 2004
@@ -55,11 +55,21 @@
     public static final String FACTORY_KEY = "avalon.artifact.factory";
     public static final String EXPORT_KEY = "avalon.artifact.export";
 
+    private String m_factory;
+
     public void execute() throws BuildException 
     {
         String key = getContext().getKey();
         Definition def = getHome().getDefinition( key );
         File artifact = getArtifactFile( def );
+
+        m_factory = getProject().getProperty( FACTORY_KEY );
+        if( null == m_factory ) 
+        {
+            final String error = 
+              "Required artifact property '" + FACTORY_KEY + "' is undefined.";
+            throw new BuildException( error );
+        }
         writeMetaFile( def, artifact );
     }
 
@@ -286,18 +296,11 @@
     private void writeProperties( final Writer writer )
         throws IOException
     {
-        String factory = getProject().getProperty( FACTORY_KEY );
-        if( null == factory ) 
-        {
-            final String error = 
-              "Required artifact property '" + FACTORY_KEY + "' is undefined.";
-            throw new BuildException( error );
-        }
         writer.write( "\n" );
         writer.write( "\n#" );
         writer.write( "\n# Factory classname." );
         writer.write( "\n#" );
-        writer.write( "\n" + FACTORY_KEY + " = " + factory);
+        writer.write( "\n" + FACTORY_KEY + " = " + m_factory);
 
         String export = getProject().getProperty( EXPORT_KEY );
         if( null == export ) 

Modified: 
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java
==============================================================================
--- 
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java
   (original)
+++ 
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java
   Tue Jun  8 09:37:49 2004
@@ -36,6 +36,7 @@
 
 import org.apache.avalon.tools.home.Home;
 import org.apache.avalon.tools.project.Definition;
+import org.apache.avalon.tools.project.Policy;
 import org.apache.avalon.tools.home.Context;
 
 /**
@@ -109,7 +110,7 @@
             mkDir( classes );
             Definition definition = getHome().getDefinition( getKey() );
             Path classpath = 
-              getHome().getRepository().createPath( project, definition );
+              getHome().getRepository().createPath( project, definition, 
Policy.TEST );
 
             //
             // add the project jar to the classpath for the compilation

Modified: 
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/tasks/JavacTask.java
==============================================================================
--- 
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/tasks/JavacTask.java
       (original)
+++ 
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/tasks/JavacTask.java
       Tue Jun  8 09:37:49 2004
@@ -32,6 +32,7 @@
 import org.apache.avalon.tools.home.Context;
 import org.apache.avalon.tools.home.Home;
 import org.apache.avalon.tools.project.Definition;
+import org.apache.avalon.tools.project.Policy;
 
 /**
  * Compile sources.
@@ -78,7 +79,7 @@
 
             Path classpath = 
               getHome().getRepository().createPath( 
-                getProject(), getHome().getDefinition( getKey() ) );
+                getProject(), getHome().getDefinition( getKey() ), 
Policy.BUILD );
             compile( main, classes, classpath );
 
             Copy copy = (Copy) getProject().createTask( "copy" );

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

Reply via email to