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/17 02:14:01 UTC
svn commit: rev 21368 - in avalon/trunk: central/system runtime/merlin/cli/etc/test runtime/merlin/cli/src/test/org/apache/avalon/merlin/cli/test runtime/merlin/impl runtime/test/playground runtime/test/playground/etc runtime/test/playground/etc/deliverables runtime/test/playground/etc/deliverables/blocks runtime/test/playground/etc/main runtime/test/playground/etc/main/BLOCK-INF tools/magic/src/main/org/apache/avalon/tools/home tools/magic/src/main/org/apache/avalon/tools/tasks
Author: mcconnell
Date: Wed Jun 16 17:14:00 2004
New Revision: 21368
Added:
avalon/trunk/runtime/test/playground/etc/
avalon/trunk/runtime/test/playground/etc/deliverables/
avalon/trunk/runtime/test/playground/etc/deliverables/blocks/
avalon/trunk/runtime/test/playground/etc/deliverables/blocks/avalon-test-playground.block (contents, props changed)
avalon/trunk/runtime/test/playground/etc/main/
avalon/trunk/runtime/test/playground/etc/main/BLOCK-INF/
avalon/trunk/runtime/test/playground/etc/main/BLOCK-INF/block.xml
Modified:
avalon/trunk/central/system/index.xml
avalon/trunk/runtime/merlin/cli/etc/test/merlin.properties
avalon/trunk/runtime/merlin/cli/src/test/org/apache/avalon/merlin/cli/test/MerlinCLITestCase.java
avalon/trunk/runtime/merlin/impl/build.xml
avalon/trunk/runtime/test/playground/build.xml
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/home/Context.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JavadocTask.java
Log:
updates following tests with Alex
Modified: avalon/trunk/central/system/index.xml
==============================================================================
--- avalon/trunk/central/system/index.xml (original)
+++ avalon/trunk/central/system/index.xml Wed Jun 16 17:14:00 2004
@@ -140,8 +140,8 @@
<version>4.2.1</version>
</info>
<dependencies>
- <include key="avalon-framework-api"/>
- <include key="avalon-framework-legacy" runtime="false" />
+ <include key="avalon-framework-api" tag="api"/>
+ <include key="avalon-framework-legacy" />
</dependencies>
</project>
Modified: avalon/trunk/runtime/merlin/cli/etc/test/merlin.properties
==============================================================================
--- avalon/trunk/runtime/merlin/cli/etc/test/merlin.properties (original)
+++ avalon/trunk/runtime/merlin/cli/etc/test/merlin.properties Wed Jun 16 17:14:00 2004
@@ -1,29 +1,12 @@
-#----------------------------------------------------------------------
-# static defaults for the merlin platform
-#----------------------------------------------------------------------
-
-#
-# The default avalon repository root directory.
-#
-avalon.home = ${user.home}/.avalon
-
-#
-# merlin system implementation
-merlin.implementation = @MERLIN_IMPLEMENTATION@
-
-#
-# logging implementation
-merlin.logging.implementation = @LOGGING_IMPLEMENTATION@
-
-#
-# runtime implementation
-merlin.runtime.implementation = @STANDARD_RUNTIME@
-
#
# server mode
-merlin.server = true
-
+merlin.server = true
+
+#
+#
+merlin.deployment = artifact:block:avalon/test/avalon-test-playground
+
#
# EOF
#
Modified: avalon/trunk/runtime/merlin/cli/src/test/org/apache/avalon/merlin/cli/test/MerlinCLITestCase.java
==============================================================================
--- avalon/trunk/runtime/merlin/cli/src/test/org/apache/avalon/merlin/cli/test/MerlinCLITestCase.java (original)
+++ avalon/trunk/runtime/merlin/cli/src/test/org/apache/avalon/merlin/cli/test/MerlinCLITestCase.java Wed Jun 16 17:14:00 2004
@@ -61,8 +61,9 @@
String[] args =
new String[]
{
- "-execute",
- "hello.block",
+ "-execute",
+ "-repository",
+ system,
"-home",
basedir,
"-system",
Modified: avalon/trunk/runtime/merlin/impl/build.xml
==============================================================================
--- avalon/trunk/runtime/merlin/impl/build.xml (original)
+++ avalon/trunk/runtime/merlin/impl/build.xml Wed Jun 16 17:14:00 2004
@@ -17,7 +17,7 @@
<target name="package" depends="standard.package">
<x:artifact/>
- <!--<x:javadoc/>-->
+ <x:javadoc/>
</target>
</project>
Modified: avalon/trunk/runtime/test/playground/build.xml
==============================================================================
--- avalon/trunk/runtime/test/playground/build.xml (original)
+++ avalon/trunk/runtime/test/playground/build.xml Wed Jun 16 17:14:00 2004
@@ -7,6 +7,13 @@
<property file="build.properties"/>
<import file="${project.home}/build/standard.xml"/>
+ <target name="init" depends="standard.init">
+ <x:filter key="avalon-framework-impl" feature="uri"
+ token="FRAMEWORK-IMPL-SPEC"/>
+ <x:filter key="avalon-test-playground" feature="uri"
+ token="PLAYGROUND-SPEC"/>
+ </target>
+
<target name="build" depends="standard.build">
<m:meta destDir="${basedir}/target/classes">
<fileset dir="${basedir}/src/main">
Added: avalon/trunk/runtime/test/playground/etc/deliverables/blocks/avalon-test-playground.block
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/test/playground/etc/deliverables/blocks/avalon-test-playground.block Wed Jun 16 17:14:00 2004
@@ -0,0 +1,59 @@
+
+<!--
+Example block deployment descriptor.
+-->
+
+<container name="playground">
+
+ <categories priority="INFO"/>
+
+ <classloader>
+ <classpath>
+ <artifact>@PLAYGROUND-SPEC@</artifact>
+ <artifact>@FRAMEWORK-IMPL-SPEC@</artifact>
+ </classpath>
+ </classloader>
+
+ <services>
+ <service type="org.apache.avalon.test.playground.basic.BasicService" version="1.1"/>
+ </services>
+
+ <container name="subsidiary">
+
+ <component name="complex"
+ class="org.apache.avalon.test.playground.ComplexComponent">
+ <categories priority="INFO"/>
+ </component>
+
+ <container name="test">
+ <component name="simple" class="org.apache.avalon.test.playground.SimpleComponent"/>
+ </container>
+
+ </container>
+
+ <!--
+ Commenting the following out to validate demand-driven discovery in
+ combination with automated assembly and export resolution.
+ -->
+ <!--
+ <component name="demo"
+ class="org.apache.avalon.test.playground.DemoManager"/>
+
+ <component name="exploitation"
+ class="org.apache.avalon.test.playground.ExploitationManager"/>
+
+ <component name="basic"
+ class="org.apache.avalon.test.playground.basic.BasicComponent"
+ activation="startup">
+ <context class="org.apache.avalon.test.playground.basic.BasicContextImp">
+ <entry key="location">
+ <constructor>My Place</constructor>
+ </entry>
+ <entry key="home">
+ <import key="urn:avalon:home"/>
+ </entry>
+ </context>
+ </component>
+ -->
+
+</container>
Added: avalon/trunk/runtime/test/playground/etc/main/BLOCK-INF/block.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/runtime/test/playground/etc/main/BLOCK-INF/block.xml Wed Jun 16 17:14:00 2004
@@ -0,0 +1,59 @@
+
+<!--
+Example block deployment descriptor.
+-->
+
+<container name="playground">
+
+ <categories priority="INFO"/>
+
+ <classloader>
+ <classpath>
+ <artifact>artifact:jar:avalon/test/avalon-test-playground</artifact>
+ <artifact>@FRAMEWORK-IMPL-SPEC@</artifact>
+ </classpath>
+ </classloader>
+
+ <services>
+ <service type="org.apache.avalon.test.playground.basic.BasicService" version="1.1"/>
+ </services>
+
+ <container name="subsidiary">
+
+ <component name="complex"
+ class="org.apache.avalon.test.playground.ComplexComponent">
+ <categories priority="INFO"/>
+ </component>
+
+ <container name="test">
+ <component name="simple" class="org.apache.avalon.test.playground.SimpleComponent"/>
+ </container>
+
+ </container>
+
+ <!--
+ Commenting the following out to validate demand-driven discovery in
+ combination with automated assembly and export resolution.
+ -->
+ <!--
+ <component name="demo"
+ class="org.apache.avalon.test.playground.DemoManager"/>
+
+ <component name="exploitation"
+ class="org.apache.avalon.test.playground.ExploitationManager"/>
+
+ <component name="basic"
+ class="org.apache.avalon.test.playground.basic.BasicComponent"
+ activation="startup">
+ <context class="org.apache.avalon.test.playground.basic.BasicContextImp">
+ <entry key="location">
+ <constructor>My Place</constructor>
+ </entry>
+ <entry key="home">
+ <import key="urn:avalon:home"/>
+ </entry>
+ </context>
+ </component>
+ -->
+
+</container>
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/home/Context.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/home/Context.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/home/Context.java Wed Jun 16 17:14:00 2004
@@ -18,6 +18,7 @@
package org.apache.avalon.tools.home;
import java.io.File;
+import java.io.IOException;
import java.util.Hashtable;
import java.util.Map;
import java.text.SimpleDateFormat;
@@ -308,13 +309,26 @@
throw new NullPointerException( "path" );
}
File file = new File( path );
- if( file.isAbsolute() ) return file;
+ if( file.isAbsolute() ) return getCanonicalFile( file );
if( null == root )
{
throw new NullPointerException( "root" );
}
- return new File( root, path );
+ return getCanonicalFile( new File( root, path ) );
}
+
+ public static File getCanonicalFile( File file ) throws BuildException
+ {
+ try
+ {
+ return file.getCanonicalFile();
+ }
+ catch( IOException ioe )
+ {
+ throw new BuildException( ioe );
+ }
+ }
+
public static String getSignature()
{
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JavadocTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JavadocTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JavadocTask.java Wed Jun 16 17:14:00 2004
@@ -34,6 +34,7 @@
import org.apache.avalon.tools.project.Definition;
import org.apache.avalon.tools.project.ResourceRef;
import org.apache.avalon.tools.project.Resource;
+import org.apache.avalon.tools.project.Policy;
/**
* Build the javadoc for a project.
@@ -48,19 +49,41 @@
public static final String SPI = "spi";
public static final String IMPL = "impl";
+ private String m_root = "{docRoot}";
+
+ public void setRoot( String root )
+ {
+ if( root.endsWith( "/" ) )
+ {
+ m_root = root.substring( 0, root.length() - 1 );
+ }
+ else
+ {
+ m_root = root;
+ }
+ }
+
public void execute() throws BuildException
{
Definition def = getHome().getDefinition( getKey() );
File root = getJavadocRootDirectory( def );
+ Path classpath = def.getPath( getProject(), Policy.RUNTIME );
ArrayList visited = new ArrayList();
- execute( def, visited, ResourceRef.API, "api", root );
- execute( def, visited, ResourceRef.SPI, "spi", root );
- execute( def, visited, ResourceRef.IMPL, "impl", root );
+ File api = setup(
+ def, classpath, visited, ResourceRef.API,
+ "api", root, null, null, false );
+ File spi = setup(
+ def, classpath, visited, ResourceRef.SPI,
+ "spi", root, api, m_root + "/../api/", false );
+ setup(
+ def, classpath, visited, ResourceRef.IMPL,
+ "impl", root, spi, m_root + "/../spi/", true );
}
- private void execute(
- Definition def, List visited, int category, String branch, File root )
+ private File setup(
+ Definition def, Path classpath, List visited, int category, String branch,
+ File root, File parent, String href, boolean flag )
{
File base = new File( root, branch );
ResourceRef[] refs = def.getQualifiedRefs( visited, category );
@@ -70,19 +93,22 @@
"Javadoc preparation for category: "
+ branch + ", "
+ refs.length );
- generate( def, refs, base );
+ generate( def, classpath, refs, base, parent, href, flag );
}
+ return base;
}
private void generate(
- Definition definition, ResourceRef[] refs, File root )
+ Definition definition, Path classpath, ResourceRef[] refs,
+ File root, File parent, String href, boolean flag )
{
Javadoc javadoc = (Javadoc) getProject().createTask( "javadoc" );
javadoc.init();
javadoc.setDestdir( root );
Path source = javadoc.createSourcepath();
- Path classpath = javadoc.createClasspath();
+ javadoc.createClasspath().add( classpath );
+
for( int i=0; i<refs.length; i++ )
{
ResourceRef ref = refs[i];
@@ -91,30 +117,41 @@
{
Definition def = (Definition) resource;
File base = def.getBasedir();
- File src = new File( base, "target/build/main" );
+ File src = Context.getFile( base, "target/build/main" );
if( src.exists() )
{
+ log( "Adding src path: " + src );
source.createPathElement().setLocation( src );
DirSet packages = new DirSet();
packages.setDir( src );
packages.setIncludes( "**/**" );
javadoc.addPackageset( packages );
}
+ else
+ {
+ log( "Ignoring src path: " + src );
+ }
}
- else
- {
- File artifact = resource.getArtifact( getProject() );
- classpath.createPathElement().setLocation( artifact );
- }
}
- File basedir = definition.getBasedir();
- File local = new File( basedir, "target/build/main" );
- if( local.exists() )
+ if( null != href )
+ {
+ Javadoc.LinkArgument link = javadoc.createLink();
+ link.setOffline( true );
+ link.setPackagelistLoc( parent );
+ link.setHref( href );
+ }
+
+ if( flag )
{
- source.createPathElement().setLocation( local );
- javadoc.execute();
+ File basedir = definition.getBasedir();
+ File local = new File( basedir, "target/build/main" );
+ if( local.exists() )
+ {
+ source.createPathElement().setLocation( local );
+ }
}
+ javadoc.execute();
}
private File getJavadocRootDirectory( Definition def )
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org