You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2004/06/08 16:10:10 UTC
svn commit: rev 20909 - in avalon/trunk: central/system central/system/build runtime runtime/logging/api runtime/logging/spi runtime/repository runtime/repository/api runtime/repository/api/src/java/org/apache/avalon/repository runtime/repository/cli runtime/repository/impl runtime/repository/main runtime/repository/main/etc runtime/repository/main/etc/main runtime/repository/spi runtime/repository/test runtime/repository/test/etc runtime/repository/test/etc/test runtime/repository/test/etc/test/unit runtime/repository/test/src/test/org/apache/avalon/repository/main runtime/repository/util runtime/util tools/project/core/src/main/org/apache/avalon/tools/home tools/project/core/src/main/org/apache/avalon/tools/project tools/project/core/src/main/org/apache/avalon/tools/tasks tools/project/core/src/main/org/apache/avalon/tools/util
Author: mcconnell
Date: Tue Jun 8 07:10:09 2004
New Revision: 20909
Added:
avalon/trunk/runtime/build-legacy-version.xml
- copied unchanged from rev 20872, avalon/trunk/runtime/build.xml
avalon/trunk/runtime/logging/api/build.xml (contents, props changed)
avalon/trunk/runtime/logging/spi/gump-build.xml
- copied unchanged from rev 20872, avalon/trunk/runtime/logging/spi/build.xml
avalon/trunk/runtime/repository/api/build.properties (contents, props changed)
avalon/trunk/runtime/repository/api/build.xml (contents, props changed)
avalon/trunk/runtime/repository/build.properties (contents, props changed)
avalon/trunk/runtime/repository/build.xml (contents, props changed)
avalon/trunk/runtime/repository/cli/build.properties (contents, props changed)
avalon/trunk/runtime/repository/cli/build.xml (contents, props changed)
avalon/trunk/runtime/repository/impl/build.properties (contents, props changed)
avalon/trunk/runtime/repository/impl/build.xml (contents, props changed)
avalon/trunk/runtime/repository/main/build.properties (contents, props changed)
avalon/trunk/runtime/repository/main/build.xml (contents, props changed)
avalon/trunk/runtime/repository/main/etc/
avalon/trunk/runtime/repository/main/etc/main/
avalon/trunk/runtime/repository/main/etc/main/avalon.properties (contents, props changed)
avalon/trunk/runtime/repository/spi/build.properties (contents, props changed)
avalon/trunk/runtime/repository/spi/build.xml (contents, props changed)
avalon/trunk/runtime/repository/test/build.properties (contents, props changed)
avalon/trunk/runtime/repository/test/build.xml (contents, props changed)
avalon/trunk/runtime/repository/test/etc/
avalon/trunk/runtime/repository/test/etc/test/
avalon/trunk/runtime/repository/test/etc/test/unit/
avalon/trunk/runtime/repository/test/etc/test/unit/system.xml (contents, props changed)
avalon/trunk/runtime/repository/util/build.xml (contents, props changed)
Removed:
avalon/trunk/runtime/build.xml
avalon/trunk/runtime/logging/spi/build.xml
Modified:
avalon/trunk/central/system/build/standard.xml
avalon/trunk/central/system/index.xml
avalon/trunk/runtime/repository/api/src/java/org/apache/avalon/repository/Artifact.java
avalon/trunk/runtime/repository/api/src/java/org/apache/avalon/repository/ArtifactURLConnection.java
avalon/trunk/runtime/repository/test/src/test/org/apache/avalon/repository/main/DefaultInitialContextFactoryTestCase.java
avalon/trunk/runtime/util/build.properties
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/project/Policy.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/util/ElementHelper.java
Log:
Add support to get repository buildable using project tools.
Modified: avalon/trunk/central/system/build/standard.xml
==============================================================================
--- avalon/trunk/central/system/build/standard.xml (original)
+++ avalon/trunk/central/system/build/standard.xml Tue Jun 8 07:10:09 2004
@@ -3,11 +3,15 @@
<x:home/>
- <target name="clean">
+ <target name="init">
+ <x:info/>
+ </target>
+
+ <target name="clean" depends="init">
<x:clean/>
</target>
- <target name="prepare" depends="">
+ <target name="prepare" depends="init">
<x:prepare/>
</target>
Modified: avalon/trunk/central/system/index.xml
==============================================================================
--- avalon/trunk/central/system/index.xml (original)
+++ avalon/trunk/central/system/index.xml Tue Jun 8 07:10:09 2004
@@ -78,6 +78,15 @@
</info>
</resource>
+ <resource>
+ <info>
+ <group>commons-cli</group>
+ <name>commons-cli</name>
+ <version>1.0</version>
+ <type>jar</type>
+ </info>
+ </resource>
+
</resources>
<!--
@@ -292,6 +301,106 @@
<taskdef name="meta" class="org.apache.avalon.meta.info.MetaTask"/>
</tasks>
</plugin>
+
+ <!--
+ Avalon Repository.
+ -->
+
+ <project basedir="../../runtime/repository/api">
+ <info>
+ <group>avalon/repository</group>
+ <name>avalon-repository-api</name>
+ <version>2.0.0</version>
+ </info>
+ </project>
+
+ <project basedir="../../runtime/repository/spi">
+ <info>
+ <group>avalon/repository</group>
+ <name>avalon-repository-spi</name>
+ <version>2.0.0</version>
+ </info>
+ <dependencies>
+ <projects>
+ <projectref key="avalon-repository-api"/>
+ </projects>
+ </dependencies>
+ </project>
+
+ <project basedir="../../runtime/repository/util">
+ <info>
+ <group>avalon/repository</group>
+ <name>avalon-repository-util</name>
+ <version>2.0.0</version>
+ </info>
+ <dependencies>
+ <projects>
+ <projectref key="avalon-repository-api"/>
+ </projects>
+ </dependencies>
+ </project>
+
+ <project basedir="../../runtime/repository/impl">
+ <info>
+ <group>avalon/repository</group>
+ <name>avalon-repository-impl</name>
+ <version>2.0.0</version>
+ </info>
+ <dependencies>
+ <projects>
+ <projectref key="avalon-repository-main" runtime="false"/>
+ </projects>
+ </dependencies>
+ </project>
+
+ <project basedir="../../runtime/repository/main">
+ <info>
+ <group>avalon/repository</group>
+ <name>avalon-repository-main</name>
+ <version>2.0.0</version>
+ </info>
+ <dependencies>
+ <projects>
+ <projectref key="avalon-repository-spi"/>
+ <projectref key="avalon-repository-util"/>
+ <projectref key="avalon-util-exception"/>
+ <projectref key="avalon-util-env"/>
+ <projectref key="avalon-util-i18n"/>
+ <projectref key="avalon-util-criteria"/>
+ <projectref key="avalon-util-defaults"/>
+ </projects>
+ </dependencies>
+ </project>
+
+ <project basedir="../../runtime/repository/cli">
+ <info>
+ <group>avalon/repository</group>
+ <name>avalon-repository-cli</name>
+ <version>2.0.0</version>
+ </info>
+ <dependencies>
+ <projects>
+ <projectref key="avalon-repository-main"/>
+ </projects>
+ <resources>
+ <resourceref key="commons-cli"/>
+ </resources>
+ </dependencies>
+ </project>
+
+ <project basedir="../../runtime/repository/test">
+ <info>
+ <group>avalon/repository</group>
+ <name>avalon-repository-test</name>
+ <version>2.0.0</version>
+ </info>
+ <dependencies>
+ <projects>
+ <projectref key="avalon-repository-main"/>
+ <projectref key="avalon-framework-impl"/>
+ </projects>
+ </dependencies>
+ </project>
<!--
Avalon Logging.
Added: avalon/trunk/runtime/logging/api/build.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/logging/api/build.xml Tue Jun 8 07:10:09 2004
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="avalon-logging-api" default="dist" basedir=".">
+ <property file="build.properties"/>
+ <import file="${project.home}/build/standard.xml"/>
+</project>
Added: avalon/trunk/runtime/repository/api/build.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/api/build.properties Tue Jun 8 07:10:09 2004
@@ -0,0 +1,3 @@
+project.name = avalon-repository-api
+project.src.main = java
+project.home = ../../../central/system
Added: avalon/trunk/runtime/repository/api/build.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/api/build.xml Tue Jun 8 07:10:09 2004
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="avalon-repository-api" default="dist" basedir=".">
+ <property file="build.properties"/>
+ <import file="${project.home}/build/standard.xml"/>
+</project>
Modified: avalon/trunk/runtime/repository/api/src/java/org/apache/avalon/repository/Artifact.java
==============================================================================
--- avalon/trunk/runtime/repository/api/src/java/org/apache/avalon/repository/Artifact.java (original)
+++ avalon/trunk/runtime/repository/api/src/java/org/apache/avalon/repository/Artifact.java Tue Jun 8 07:10:09 2004
@@ -142,7 +142,7 @@
private Artifact(
final String group, final String name,
final String version, final String type )
- {
+ {
m_group = group;
m_name = name;
m_version = version;
@@ -302,30 +302,12 @@
* @return the string representation
*/
public String toString()
- {
- if( "block".equals( getType() ) )
- {
- return "block:" + getSpecification();
- }
- else if( "jar".equals( getType() ) )
- {
- return "artifact:" + getSpecification();
- }
- else
- {
- String path = "artifact:" + getGroup() + "/" + getName();
- if( getVersion() != null )
- {
- path = path + "#" + getVersion();
- if( getType() != null ) path = path + "&type=" + getType();
- return path;
- }
- else
- {
- if( getType() != null ) path = path + "?type=" + getType();
- return path;
- }
- }
+ {
+ StringBuffer buffer = new StringBuffer( "artifact:" );
+ buffer.append( getType() );
+ buffer.append( ":" );
+ buffer.append( getSpecification() );
+ return buffer.toString();
}
// ------------------------------------------------------------------------
Modified: avalon/trunk/runtime/repository/api/src/java/org/apache/avalon/repository/ArtifactURLConnection.java
==============================================================================
--- avalon/trunk/runtime/repository/api/src/java/org/apache/avalon/repository/ArtifactURLConnection.java (original)
+++ avalon/trunk/runtime/repository/api/src/java/org/apache/avalon/repository/ArtifactURLConnection.java Tue Jun 8 07:10:09 2004
@@ -54,7 +54,7 @@
{
try
{
- final String path = getURL().getPath();
+ final String path = getPath( url );
final int i = path.lastIndexOf( "/" );
final String group = path.substring( 0, i );
final String name = path.substring( i+1 );
@@ -68,11 +68,34 @@
"Unexpected exception while resolving url [" + getURL() + "].";
throw new CascadingIOException( error );
}
+ }
+
+ private final String getPath( URL url )
+ {
+ final String path = getURL().getPath();
+ int n = path.indexOf( ":" );
+ if( n > -1 )
+ {
+ return path.substring( n+1 );
+ }
+ else
+ {
+ return path;
+ }
}
private String getType( URL url, String type )
{
- return getQueryField( url, "type", type );
+ final String path = getURL().getPath();
+ int n = path.indexOf( ":" );
+ if( n > -1 )
+ {
+ return path.substring( 0, n );
+ }
+ else
+ {
+ return getQueryField( url, "type", type );
+ }
}
Added: avalon/trunk/runtime/repository/build.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/build.properties Tue Jun 8 07:10:09 2004
@@ -0,0 +1 @@
+project.home = ../../central/system
Added: avalon/trunk/runtime/repository/build.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/build.xml Tue Jun 8 07:10:09 2004
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="repository" default="build" basedir="."
+ xmlns:x="antlib:org.apache.avalon.tools">
+
+ <property file="build.properties"/>
+
+ <path id="targets">
+ <fileset dir="." includes="**/build.xml" excludes="build.xml"/>
+ </path>
+
+ <target name="build" depends="">
+ <x:home/>
+ <x:reactor>
+ <path refid="targets"/>
+ </x:reactor>
+ </target>
+
+ <target name="clean" depends="">
+ <subant inheritAll="false"
+ genericantfile="${project.home}/build/standard.xml" target="clean"
+ buildpathref="targets"/>
+ </target>
+
+</project>
Added: avalon/trunk/runtime/repository/cli/build.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/cli/build.properties Tue Jun 8 07:10:09 2004
@@ -0,0 +1,3 @@
+project.name = avalon-repository-cli
+project.src.main = java
+project.home = ../../../central/system
Added: avalon/trunk/runtime/repository/cli/build.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/cli/build.xml Tue Jun 8 07:10:09 2004
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="avalon-repository-cli" default="dist" basedir=".">
+ <property file="build.properties"/>
+ <import file="${project.home}/build/standard.xml"/>
+</project>
Added: avalon/trunk/runtime/repository/impl/build.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/impl/build.properties Tue Jun 8 07:10:09 2004
@@ -0,0 +1,7 @@
+
+project.name = avalon-repository-impl
+project.src.main = java
+project.home = ../../../central/system
+
+avalon.artifact.factory = org.apache.avalon.repository.impl.DefaultFactory
+avalon.artifact.export = org.apache.avalon.repository.Repository
Added: avalon/trunk/runtime/repository/impl/build.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/impl/build.xml Tue Jun 8 07:10:09 2004
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="avalon-repository-impl" default="dist" basedir="."
+ xmlns:x="antlib:org.apache.avalon.tools">
+
+ <property file="build.properties"/>
+ <import file="${project.home}/build/standard.xml"/>
+
+ <target name="package" depends="standard.package">
+ <x:artifact/>
+ </target>
+
+</project>
Added: avalon/trunk/runtime/repository/main/build.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/main/build.properties Tue Jun 8 07:10:09 2004
@@ -0,0 +1,8 @@
+
+project.name = avalon-repository-main
+project.src.main = java
+project.home = ../../../central/system
+
+dpml.url = http://www.dpml.net
+maven.url = http://www.ibiblio.org/maven
+repository.hosts = ${dpml.url},${maven.url}
Added: avalon/trunk/runtime/repository/main/build.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/main/build.xml Tue Jun 8 07:10:09 2004
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="avalon-repository-main" default="dist" basedir="."
+ xmlns:x="antlib:org.apache.avalon.tools">
+
+ <property file="build.properties"/>
+ <import file="${project.home}/build/standard.xml"/>
+ <target name="init" depends="standard.init">
+ <filter token="REPOSITORY_HOSTS" value="${repository.hosts}"/>
+ <x:filter key="avalon-repository-impl" feature="uri"
+ token="REPOSITORY_IMPLEMENTATION"/>
+ </target>
+
+</project>
Added: avalon/trunk/runtime/repository/main/etc/main/avalon.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/main/etc/main/avalon.properties Tue Jun 8 07:10:09 2004
@@ -0,0 +1,7 @@
+#===================================================================#
+# Default repository implementation artifact identifier. #
+#===================================================================#
+
+avalon.repository.implementation = @REPOSITORY_IMPLEMENTATION@
+avalon.repository.hosts = @REPOSITORY_HOSTS@
+
Added: avalon/trunk/runtime/repository/spi/build.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/spi/build.properties Tue Jun 8 07:10:09 2004
@@ -0,0 +1,3 @@
+project.name = avalon-repository-spi
+project.src.main = java
+project.home = ../../../central/system
Added: avalon/trunk/runtime/repository/spi/build.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/spi/build.xml Tue Jun 8 07:10:09 2004
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="avalon-repository-spi" default="dist" basedir=".">
+ <property file="build.properties"/>
+ <import file="${project.home}/build/standard.xml"/>
+</project>
Added: avalon/trunk/runtime/repository/test/build.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/test/build.properties Tue Jun 8 07:10:09 2004
@@ -0,0 +1,3 @@
+project.name = avalon-repository-test
+project.src.main = java
+project.home = ../../../central/system
Added: avalon/trunk/runtime/repository/test/build.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/test/build.xml Tue Jun 8 07:10:09 2004
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="avalon-repository-test" default="dist" basedir="."
+ xmlns:x="antlib:org.apache.avalon.tools">
+
+ <property file="build.properties"/>
+ <import file="${project.home}/build/standard.xml"/>
+
+ <target name="init" depends="standard.init">
+ <x:filter key="avalon-repository-impl" feature="uri"
+ token="REPOSITORY_IMPLEMENTATION"/>
+ </target>
+
+ <target name="install" depends="test"/>
+
+</project>
Added: avalon/trunk/runtime/repository/test/etc/test/unit/system.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/test/etc/test/unit/system.xml Tue Jun 8 07:10:09 2004
@@ -0,0 +1,8 @@
+<!--
+Configuration used by the DefaultInitialContextFactoryTest to validate the
+populatation of registered artifacts with the initial context.
+-->
+
+<system>
+ <artifact spec="@REPOSITORY_IMPLEMENTATION@"/>
+</system>
\ No newline at end of file
Modified: avalon/trunk/runtime/repository/test/src/test/org/apache/avalon/repository/main/DefaultInitialContextFactoryTestCase.java
==============================================================================
--- avalon/trunk/runtime/repository/test/src/test/org/apache/avalon/repository/main/DefaultInitialContextFactoryTestCase.java (original)
+++ avalon/trunk/runtime/repository/test/src/test/org/apache/avalon/repository/main/DefaultInitialContextFactoryTestCase.java Tue Jun 8 07:10:09 2004
@@ -89,8 +89,8 @@
// we will override the system cach with the local maven
// repository.
//
-
- File repo = getMavenRepositoryDirectory();
+
+ File repo = getRepositoryCache();
factory.setCacheDirectory( repo );
//
@@ -99,7 +99,7 @@
//
Artifact[] artifacts =
- getArtifactsToRegister( "src/test/conf/system.xml" );
+ getArtifactsToRegister( "system.xml" );
factory.setFactoryArtifacts( artifacts );
//
@@ -144,7 +144,7 @@
context.getRepository().getCandidates( Repository.class );
for( int i=0; i<candidates.length; i++ )
{
- System.out.println( " artifact: " + candidates[i] );
+ System.out.println( " " + candidates[i] );
}
//
@@ -163,6 +163,19 @@
System.out.println( " instance: " + exampleRepository );
System.out.println( "" );
}
+ }
+
+ private File getRepositoryCache()
+ {
+ String cache = System.getProperty( "project.repository.cache.path" );
+ if( null != cache )
+ {
+ return new File( cache );
+ }
+ else
+ {
+ return getMavenRepositoryDirectory();
+ }
}
private Artifact[] getArtifactsToRegister( String path ) throws Exception
@@ -175,11 +188,17 @@
for( int i=0; i<children.length; i++ )
{
Configuration child = children[i];
- String spec = child.getAttribute( "spec" );
- Artifact artifact = Artifact.createArtifact( "artifact:" + spec );
+ String spec = getSpec( child.getAttribute( "spec" ) );
+ Artifact artifact = Artifact.createArtifact( spec );
artifacts[i] = artifact;
}
return artifacts;
+ }
+
+ private String getSpec( String spec )
+ {
+ if( spec.startsWith( "artifact:" ) ) return spec;
+ return "artifact:" + spec;
}
private static File getMavenRepositoryDirectory()
Added: avalon/trunk/runtime/repository/util/build.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/repository/util/build.xml Tue Jun 8 07:10:09 2004
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="avalon-repository-util" default="dist" basedir=".">
+ <property file="build.properties"/>
+ <import file="${project.home}/build/standard.xml"/>
+</project>
Modified: avalon/trunk/runtime/util/build.properties
==============================================================================
--- avalon/trunk/runtime/util/build.properties (original)
+++ avalon/trunk/runtime/util/build.properties Tue Jun 8 07:10:09 2004
@@ -1 +1,2 @@
project.home = ../../central/system
+project.test.compile.fork = true
\ No newline at end of file
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 07:10:09 2004
@@ -50,6 +50,7 @@
import org.apache.avalon.tools.project.ResourceRef;
import org.apache.avalon.tools.project.ProjectRef;
import org.apache.avalon.tools.project.Resource;
+import org.apache.avalon.tools.project.Policy;
/**
*
@@ -94,12 +95,17 @@
public ResourceRef[] getResourceRefs( Definition def )
{
+ return getResourceRefs( def, Policy.ANY );
+ }
+
+ public ResourceRef[] getResourceRefs( Definition def, int mode )
+ {
ArrayList list = new ArrayList();
- getResourceRefs( def, list );
+ getResourceRefs( def, list, mode );
return (ResourceRef[]) list.toArray( new ResourceRef[0] );
}
- private void getResourceRefs( Definition def, List list )
+ private void getResourceRefs( Definition def, List list, int mode )
{
ResourceRef[] refs = def.getResourceRefs();
for( int i=0; i<refs.length; i++ )
@@ -107,7 +113,11 @@
ResourceRef ref = refs[i];
if( !list.contains( ref ) )
{
- list.add( ref );
+ Policy policy = ref.getPolicy();
+ if( policy.matches( mode ) )
+ {
+ list.add( ref );
+ }
}
}
@@ -117,9 +127,13 @@
ProjectRef ref = projects[i];
if( !list.contains( ref ) )
{
- Definition defintion = m_home.getDefinition( ref );
- getResourceRefs( defintion, list );
- list.add( ref );
+ Policy policy = ref.getPolicy();
+ if( policy.matches( mode ) )
+ {
+ Definition defintion = m_home.getDefinition( ref );
+ getResourceRefs( defintion, list, mode );
+ list.add( ref );
+ }
}
}
}
Modified: avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/project/Policy.java
==============================================================================
--- avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/project/Policy.java (original)
+++ avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/project/Policy.java Tue Jun 8 07:10:09 2004
@@ -26,6 +26,11 @@
*/
public class Policy
{
+ public static final int ANY = -1;
+ public static final int BUILD = 0;
+ public static final int TEST = 1;
+ public static final int RUNTIME = 2;
+
public static final boolean ENABLED = true;
public static final boolean DISABLED = false;
@@ -58,6 +63,26 @@
public boolean isRuntimeEnabled()
{
return m_runtime;
+ }
+
+ public boolean matches( int mode )
+ {
+ if( mode == BUILD )
+ {
+ return isBuildEnabled();
+ }
+ else if( mode == TEST )
+ {
+ return isTestEnabled();
+ }
+ else if( mode == RUNTIME )
+ {
+ return isRuntimeEnabled();
+ }
+ else
+ {
+ return true;
+ }
}
public boolean equals( Object other )
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 07:10:09 2004
@@ -233,7 +233,8 @@
private ResourceRef[] getRuntimeRefs( final Definition def )
{
ArrayList list = new ArrayList();
- ResourceRef[] resources = getHome().getRepository().getResourceRefs( def );
+ ResourceRef[] resources =
+ getHome().getRepository().getResourceRefs( def, Policy.RUNTIME );
for( int i=0; i<resources.length; i++ )
{
ResourceRef ref = resources[i];
Modified: avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/util/ElementHelper.java
==============================================================================
--- avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/util/ElementHelper.java (original)
+++ avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/util/ElementHelper.java Tue Jun 8 07:10:09 2004
@@ -171,7 +171,7 @@
if( value.equals( "true" ) ) return true;
if( value.equals( "false" ) ) return false;
final String error =
- "Boolean argument [" + value + "] not regiconized.";
+ "Boolean argument [" + value + "] not recognized.";
throw new BuildException( error );
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org