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]