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/24 01:37:15 UTC
svn commit: rev 21614 - in avalon/trunk: . central/site central/site/src/xdocs/central/tools/magic central/site/src/xdocs/central/tools/magic/spells central/system central/system/setup central/system/themes runtime/main tools/magic tools/magic/etc/deliverables/properties tools/magic/src/main/org/apache/avalon/tools/model tools/magic/src/main/org/apache/avalon/tools/tasks
Author: mcconnell
Date: Wed Jun 23 16:37:14 2004
New Revision: 21614
Added:
avalon/trunk/central/site/src/xdocs/central/tools/magic/installation.xml
- copied, changed from rev 21591, avalon/trunk/central/site/src/xdocs/central/tools/magic/spells/installation.xml
avalon/trunk/tools/magic/etc/deliverables/properties/
avalon/trunk/tools/magic/etc/deliverables/properties/magic.properties (contents, props changed)
avalon/trunk/tools/magic/setup.xml
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Magic.java
Removed:
avalon/trunk/central/site/src/xdocs/central/tools/magic/spells/installation.xml
avalon/trunk/central/system/index.properties
avalon/trunk/central/system/setup/
avalon/trunk/central/system/themes/
avalon/trunk/tools/magic/install.xml
Modified:
avalon/trunk/build.properties
avalon/trunk/build.xml
avalon/trunk/central/site/build.xml
avalon/trunk/central/site/src/xdocs/central/tools/magic/navigation.xml
avalon/trunk/central/site/src/xdocs/central/tools/magic/spells/index.xml
avalon/trunk/central/site/src/xdocs/central/tools/magic/spells/navigation.xml
avalon/trunk/central/system/index.xml
avalon/trunk/runtime/main/build.properties
avalon/trunk/tools/magic/bootstrap.xml
avalon/trunk/tools/magic/build.properties
avalon/trunk/tools/magic/build.xml
avalon/trunk/tools/magic/install.properties
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Context.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Home.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Repository.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ContextualTask.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/HomeTask.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/PrepareTask.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/XdocTask.java
Log:
multi-level commit - covers refactoring of magic to enable its operation ourtside of the avalon content, updated to the magic docs, and updates to the root avalon setup target
Modified: avalon/trunk/build.properties
==============================================================================
--- avalon/trunk/build.properties (original)
+++ avalon/trunk/build.properties Wed Jun 23 16:37:14 2004
@@ -1,4 +1,3 @@
-<<<<<<< .mine
#=======================================================================
# __
# / \ Apache
@@ -31,7 +30,7 @@
#======================================================================
-# magic system home directory
+# local index home
project.home = central/system
# Cache directory into which build artifacts are registered.
@@ -44,5 +43,4 @@
# A sequence of remote repositories used to resolve artifacts
# requested as part of the build process.
# project.hosts = ${dpml.net}/;${java.repo}/;${ibiblio.org}/maven/
-
Modified: avalon/trunk/build.xml
==============================================================================
--- avalon/trunk/build.xml (original)
+++ avalon/trunk/build.xml Wed Jun 23 16:37:14 2004
@@ -1,58 +1,42 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<project name="runtime" default="default" basedir="." xmlns:x="antlib:org.apache.avalon.tools">
+<project name="runtime" default="install" basedir="."
+ xmlns:x="antlib:org.apache.avalon.tools">
+ <available property="magic.available" classname="org.apache.avalon.tools.model.Home"/>
+
+ <property name="magic.dir" value="${basedir}/tools/magic"/>
<property file="${basedir}/user.properties"/>
<property file="${basedir}/build.properties"/>
- <property name="system.dir" value="${basedir}/central/system"/>
- <property name="reactor.path" value="${system.dir}/build/reactor.xml"/>
-
- <target name="setup">
- <ant dir="${system.dir}" antfile="setup/setup.xml"/>
- </target>
-
- <target name="verify">
- <ant inheritall="false" dir="${system.dir}/setup" antfile="integrity.xml"/>
- </target>
- <target name="init" depends="verify">
- <ant dir="." antfile="${reactor.path}" target="init"/>
- </target>
+ <property name="reactor.xml"
+ value="${magic.dir}/etc/deliverables/templates/reactor.xml"/>
- <target name="clean" depends="verify">
- <ant dir="." antfile="${reactor.path}" target="clean"/>
+ <target name="setup">
+ <ant dir="." antfile="${magic.dir}/setup.xml"/>
</target>
<target name="clean" depends="verify">
- <ant dir="." antfile="${reactor.path}" target="clean"/>
- </target>
-
- <target name="prepare" depends="verify">
- <ant dir="." antfile="${reactor.path}" target="prepare"/>
- </target>
-
- <target name="build" depends="verify">
- <ant dir="." antfile="${reactor.path}" target="build"/>
- </target>
-
- <target name="package" depends="verify">
- <ant dir="." antfile="${reactor.path}" target="package"/>
- </target>
-
- <target name="test" depends="verify">
- <ant dir="." antfile="${reactor.path}" target="test"/>
- </target>
-
- <target name="site" depends="init">
- <ant dir="." antfile="${reactor.path}" target="site"/>
+ <ant dir="." antfile="${reactor.xml}" target="clean"/>
</target>
<target name="install" depends="verify">
- <ant dir="." antfile="${reactor.path}" target="install"/>
+ <ant dir="." antfile="${reactor.xml}" target="default"/>
</target>
- <target name="default" depends="verify">
- <ant dir="." antfile="${reactor.path}" target="default"/>
+ <target name="verify" unless="magic.available">
+ <echo>
+#--------------------------------------------------------------------------------
+# Please invoke the bootstrap target in order to install prerequisite resources
+# and tools necessary to build avalon.
+#
+# $ ant setup
+#
+# Once the bootstrap resources have been build you can proceed with any of the
+# classic build targets.
+#--------------------------------------------------------------------------------
+ </echo>
+ <fail message="Bootstrap resources not present."/>
</target>
</project>
Modified: avalon/trunk/central/site/build.xml
==============================================================================
--- avalon/trunk/central/site/build.xml (original)
+++ avalon/trunk/central/site/build.xml Wed Jun 23 16:37:14 2004
@@ -4,6 +4,7 @@
xmlns:x="antlib:org.apache.avalon.tools">
<property file="build.properties"/>
+
<import file="${project.home}/build/standard.xml"/>
<target name="init" depends="standard.init">
Copied: avalon/trunk/central/site/src/xdocs/central/tools/magic/installation.xml (from rev 21591, avalon/trunk/central/site/src/xdocs/central/tools/magic/spells/installation.xml)
==============================================================================
--- avalon/trunk/central/site/src/xdocs/central/tools/magic/spells/installation.xml (original)
+++ avalon/trunk/central/site/src/xdocs/central/tools/magic/installation.xml Wed Jun 23 16:37:14 2004
@@ -13,8 +13,9 @@
<p>
Magic runs on top of Ant. Before installing Magic
- you need to build or <a href="http://ant.apache.org/bindownload.cgi">
- download a binary installation of Ant</a> (version 1.6.1 or later).
+ you need to build or download a
+ <a href="http://ant.apache.org/bindownload.cgi">
+ binary installation of Ant</a> (version 1.6.1 or later).
</p>
</subsection>
@@ -22,39 +23,36 @@
<subsection name="Magic Setup">
<p>
+ Using MAGIC_HOME ...
+ </p>
+
+ <p>
Magic registers content in a common repository. If you want to
- share the repository with Merlin you should define the
- AVALON_HOME environment variable with a value pointing to a
- directory within which the repository will be created. If
- undefined, the installation will create a private repository in
- central/system/.cache.
+ share the repository with Merlin or other repository enabled products
+ you should define the MAGIC_HOME environment variable with a value
+ pointing to a directory within which the repository will be created. If
+ undefined, the installation will create the magic installation in
+ ${user.home}/.magic.
</p>
<p>
- From your the root avalon/truck checkout directory...
+ Download <a href="http://svn.apache.org/repos/asf/avalon/trunk/tools/magic/setup.xml">setup.xml</a> from Apache.
+ </p>
+
+ <p>
+ From within the directory that you downloaded setup.xml to ...
</p>
<source>
-$ ant setup
+$ ant -buildfile setup.xml
</source>
<p>
- The above command invokes the ant file central/system/setup/setup.xml
+ The above command invokes the ant
which downloads the magic library and installs this under
${user.home}/.ant/lib. It also checks for the presence of Junit
libraries and will download these if required.
</p>
-
- </subsection>
-
- <subsection name="Building Avalon">
-
- <p>
- From your the root avalon/truck checkout directory...
- </p>
-<source>
-$ ant
-</source>
</subsection>
Modified: avalon/trunk/central/site/src/xdocs/central/tools/magic/navigation.xml
==============================================================================
--- avalon/trunk/central/site/src/xdocs/central/tools/magic/navigation.xml (original)
+++ avalon/trunk/central/site/src/xdocs/central/tools/magic/navigation.xml Wed Jun 23 16:37:14 2004
@@ -23,6 +23,7 @@
<body>
<menu>
+ <item name="Installing" href="installation.html"/>
<item name="Casting Spells" href="spells/index.html"/>
<item name="System Model" href="model/index.html"/>
<item name="Templates" href="templates/index.html"/>
Modified: avalon/trunk/central/site/src/xdocs/central/tools/magic/spells/index.xml
==============================================================================
--- avalon/trunk/central/site/src/xdocs/central/tools/magic/spells/index.xml (original)
+++ avalon/trunk/central/site/src/xdocs/central/tools/magic/spells/index.xml Wed Jun 23 16:37:14 2004
@@ -17,8 +17,8 @@
<p>Using magic means faster and more reliable build processes.</p>
<p>
- This section contains information about <a href="installation.html">
- installing magic</a>, setting up a project <a href="index-creation.html">
+ This section contains information setting up a project
+ <a href="index-creation.html">
index</a>, creating a build file, and <a href="my-first-spell.html">casting
your first spell</a>. By the time you finish reading the material
contained here you will be well on your way to passing your next
Modified: avalon/trunk/central/site/src/xdocs/central/tools/magic/spells/navigation.xml
==============================================================================
--- avalon/trunk/central/site/src/xdocs/central/tools/magic/spells/navigation.xml (original)
+++ avalon/trunk/central/site/src/xdocs/central/tools/magic/spells/navigation.xml Wed Jun 23 16:37:14 2004
@@ -23,7 +23,6 @@
<body>
<menu>
- <item name="Installing Magic" href="installation.html"/>
<item name="Setting up an Index" href="index-creation.html"/>
<item name="My First Spell" href="my-first-spell.html"/>
<item name="Advanced Magic" href="advanced-magic.html"/>
Modified: avalon/trunk/central/system/index.xml
==============================================================================
--- avalon/trunk/central/system/index.xml (original)
+++ avalon/trunk/central/system/index.xml Wed Jun 23 16:37:14 2004
@@ -147,9 +147,9 @@
</dependencies>
</project>
- <!--
- Avalon Framework.
- -->
+ <!--
+ Avalon Framework.
+ -->
<project basedir="../../runtime/framework/api">
<info>
@@ -183,9 +183,9 @@
</dependencies>
</project>
- <!--
- Avalon Utilities.
- -->
+ <!--
+ Avalon Utilities.
+ -->
<project basedir="../../runtime/util/configuration">
<info>
@@ -272,9 +272,9 @@
</dependencies>
</project>
- <!--
- Avalon Meta.
- -->
+ <!--
+ Avalon Meta.
+ -->
<project basedir="../../runtime/meta/api">
<info>
@@ -455,9 +455,9 @@
</plugins>
</project>
- <!--
- Avalon Repository.
- -->
+ <!--
+ Avalon Repository.
+ -->
<project basedir="../../runtime/repository/api">
<info>
@@ -517,7 +517,7 @@
</dependencies>
</project>
- <!-- TODO: update cli scripts to incorporate runtime classpath -->
+ <!-- TODO: update cli scripts to incorporate runtime classpath -->
<project basedir="../../runtime/repository/cli">
<info>
<group>avalon/repository</group>
@@ -543,9 +543,9 @@
</dependencies>
</project>
- <!--
- Avalon Logging.
- -->
+ <!--
+ Avalon Logging.
+ -->
<project basedir="../../runtime/logging/api">
<info>
@@ -672,9 +672,9 @@
</dependencies>
</project>
- <!--
- Avalon Composition.
- -->
+ <!--
+ Avalon Composition.
+ -->
<project basedir="../../runtime/composition/api">
<info>
@@ -722,9 +722,9 @@
</dependencies>
</project>
- <!--
- Avalon Activation.
- -->
+ <!--
+ Avalon Activation.
+ -->
<project basedir="../../runtime/activation/api">
<info>
@@ -758,9 +758,9 @@
</dependencies>
</project>
- <!--
- Avalon Merlin.
- -->
+ <!--
+ Avalon Merlin.
+ -->
<project basedir="../../runtime/merlin/api">
<info>
@@ -866,6 +866,6 @@
<name>avalon-tools-bootstrap</name>
</info>
</project>
- -->
+ -->
</system>
Modified: avalon/trunk/runtime/main/build.properties
==============================================================================
--- avalon/trunk/runtime/main/build.properties (original)
+++ avalon/trunk/runtime/main/build.properties Wed Jun 23 16:37:14 2004
@@ -1,3 +1,2 @@
project.name = avalon-runtime
project.home = ../../central/system
-project.javadoc.enabled = false
\ No newline at end of file
Modified: avalon/trunk/tools/magic/bootstrap.xml
==============================================================================
--- avalon/trunk/tools/magic/bootstrap.xml (original)
+++ avalon/trunk/tools/magic/bootstrap.xml Wed Jun 23 16:37:14 2004
@@ -1,6 +1,7 @@
<project name="avalon-tools-magic" default="install" basedir=".">
<property file="build.properties"/>
+ <property name="project.name" value="avalon-tools-magic"/>
<property name="src" value="src"/>
<property name="src.main" value="main"/>
Modified: avalon/trunk/tools/magic/build.properties
==============================================================================
--- avalon/trunk/tools/magic/build.properties (original)
+++ avalon/trunk/tools/magic/build.properties Wed Jun 23 16:37:14 2004
@@ -1,3 +1,3 @@
-project.name = avalon-tools-magic
-project.home = ../../central/system
+#project.name = avalon-tools-magic
+#project.home = ../../central/system
Modified: avalon/trunk/tools/magic/build.xml
==============================================================================
--- avalon/trunk/tools/magic/build.xml (original)
+++ avalon/trunk/tools/magic/build.xml Wed Jun 23 16:37:14 2004
@@ -3,8 +3,9 @@
<project name="avalon-tools-magic" default="install" basedir="."
xmlns:x="antlib:org.apache.avalon.tools">
- <property file="build.properties"/>
- <import file="${project.home}/build/standard.xml"/>
+ <x:home index="../../central/system"/>
+
+ <import file="${magic.templates}/standard.xml"/>
<target name="package" depends="standard.package">
<x:bar name="avalon-tools.bar"/>
@@ -20,6 +21,25 @@
<mkdir dir="${user.home}/.ant/lib"/>
<copy toDir="${user.home}/.ant/lib"
file="${basedir}/target/deliverables/jars/${project.name}.jar"/>
+ </target>
+
+ <target name="properties" depends="info">
+ <echo>
+magic properties
+----------------
+magic.system: ${magic.home}
+magic.cache: ${magic.cache}
+magic.docs: ${magic.docs}
+magic.templates: ${magic.templates}
+
+project properties
+------------------
+project.key: ${project.key}
+project.home: ${project.home}
+project.index: ${project.index}
+project.group: ${project.group}
+project.name: ${project.name}
+ </echo>
</target>
</project>
Added: avalon/trunk/tools/magic/etc/deliverables/properties/magic.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/tools/magic/etc/deliverables/properties/magic.properties Wed Jun 23 16:37:14 2004
@@ -0,0 +1,21 @@
+
+#------------------------------------------------------------------
+# Proxy settings.
+#------------------------------------------------------------------
+#
+# magic.proxy.host = 127.0.0.l
+# magic.proxy.port = 80
+# magic.proxy.user = username
+# magic.proxy.password = password
+
+
+#------------------------------------------------------------------
+# Remote hosts.
+#------------------------------------------------------------------
+
+dpml.net = http://www.dpml.net
+java.repo = http://www.apache.org/dist/java-repository
+ibiblio.org = http://www.ibiblio.org/maven
+magic.hosts = ${dpml.net};${java.repo};${ibiblio.org}
+
+
Modified: avalon/trunk/tools/magic/install.properties
==============================================================================
--- avalon/trunk/tools/magic/install.properties (original)
+++ avalon/trunk/tools/magic/install.properties Wed Jun 23 16:37:14 2004
@@ -1,10 +1,9 @@
-magic.install.host = http://www.dpml.net
-
-magic.bar = avalon-tools.bar
-magic.bar.dir = avalon/tools/bars
-magic.bar.path = ${magic.bar.dir}/${magic.bar}
-magic.bar.url = ${magic.install.host}/${magic.bar.path}
-
-junit.jar = junit-3.8.1.jar
-junit.jar.url = ${magic.install.host}/junit/jars/${junit.jar}
+# magic.install.host = http://www.dpml.net
+# magic.bar = avalon-tools.bar
+# magic.group = avalon/tools
+# magic.bar.dir = ${magic.group}/bars
+# magic.bar.path = ${magic.bar.dir}/${magic.bar}
+# magic.bar.url = ${magic.install.host}/${magic.bar.path}
+# magic.junit.jar = junit-3.8.1.jar
+# magic.junit.jar.url = ${magic.install.host}/junit/jars/${magic.junit.jar}
Added: avalon/trunk/tools/magic/setup.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/tools/magic/setup.xml Wed Jun 23 16:37:14 2004
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<project name="setup" default="setup" basedir=".">
+
+ <property file="install.properties"/>
+
+ <property name="magic.install.host" value="http://www.dpml.net"/>
+ <property name="magic.bar" value="avalon-tools.bar"/>
+ <property name="magic.group" value="avalon/tools"/>
+ <property name="magic.bar.dir" value="${magic.group}/bars"/>
+ <property name="magic.bar.path" value="${magic.bar.dir}/${magic.bar}"/>
+ <property name="magic.bar.url" value="${magic.install.host}/${magic.bar.path}"/>
+
+ <property name="magic.junit.jar" value="junit-3.8.1.jar"/>
+ <property name="magic.junit.jar.url"
+ value="${magic.install.host}/junit/jars/${magic.junit.jar}"/>
+
+ <property environment="ENV"/>
+
+ <condition property="magic.env.declared" value="false">
+ <isset property="ENV.MAGIC_HOME"/>
+ </condition>
+
+ <available property="magic.junit.available"
+ classname="junit.framework.TestCase"/>
+
+ <target name="setup"
+ depends="check-magic-home,declare-magic-home,create-magic-home,setup-junit">
+ <echo message="Setup complete."/>
+ </target>
+
+ <target name="declare-magic-home" if="magic.env.declared">
+ <property name="magic.home" value="${ENV.MAGIC_HOME}"/>
+ </target>
+
+ <target name="check-magic-home" unless="magic.env.declared">
+ <property name="magic.home" value="${user.home}/.magic"/>
+ </target>
+
+ <target name="create-magic-home"
+ depends="setup-proxy,setup-antlib">
+
+ <echo message="Preparing magic system using ${magic.home}"/>
+ <echo message="Using home directory: ${magic.home}"/>
+ <mkdir dir="${magic.home}"/>
+
+ <!-- Create the artifact cache. -->
+ <property name="magic.home.main" value="${magic.home}/main"/>
+ <mkdir dir="${magic.home.main}"/>
+
+ <!-- Create the docs cache. -->
+ <property name="magic.home.docs" value="${magic.home}/docs"/>
+ <mkdir dir="${magic.home.docs}"/>
+
+ <!-- Create the magic group cache dir. -->
+ <property name="magic.bar.destination"
+ value="${magic.home.main}/${magic.group}"/>
+ <mkdir dir="${magic.bar.destination}/bars"/>
+
+ <!-- Pull down the latest version of magic. -->
+ <get src="${magic.bar.url}" usetimestamp="true"
+ dest="${magic.bar.destination}/bars/${magic.bar}"/>
+
+ <!-- Unpack magic in the artifact cache. -->
+ <property name="magic.bar.file"
+ value="${magic.bar.destination}/bars/${magic.bar}"/>
+ <unzip src="${magic.bar.file}" dest="${magic.bar.destination}">
+ <patternset>
+ <include name="**/*"/>
+ <exclude name="META-INF/**"/>
+ <exclude name="**/bars/**"/>
+ </patternset>
+ </unzip>
+
+ <!-- copy default magic properties to magic home -->
+ <copy todir="${magic.home}"
+ file="${magic.bar.destination}/properties/magic.properties"/>
+
+ <!-- add magic templates -->
+ <mkdir dir="${magic.home}/templates"/>
+ <copy todir="${magic.home}/templates">
+ <fileset dir="${magic.bar.destination}/templates"/>
+ </copy>
+
+ <!-- add magic themes -->
+ <mkdir dir="${magic.home}/themes"/>
+ <copy todir="${magic.home}/themes">
+ <fileset dir="${magic.bar.destination}/themes"/>
+ </copy>
+
+ </target>
+
+ <condition property="magic.proxy.declared" value="false">
+ <isset property="magic.proxy.host"/>
+ </condition>
+
+ <target name="setup-proxy" if="magic.proxy.declared">
+ <setproxy
+ proxyhost="${magic.proxy.host}"
+ proxyport="${magic.proxy.port}"
+ proxyuser="${magic.proxy.user}"
+ proxypassword="${magic.proxy.password}"/>
+ </target>
+
+ <available property="magic.junit.available"
+ classname="junit.framework.TestCase"/>
+
+ <target name="setup-junit" depends="setup-antlib"
+ unless="magic.junit.available">
+ <echo message="Resolving junit..."/>
+ <get src="${magic.junit.jar.url}" usetimestamp="true"
+ dest="${ant.lib}/${magic.junit.jar}"/>
+ </target>
+
+ <target name="setup-antlib">
+ <property name="ant.lib" value="${user.home}/.ant/lib"/>
+ <mkdir dir="${ant.lib}"/>
+ </target>
+
+</project>
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Context.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Context.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Context.java Wed Jun 23 16:37:14 2004
@@ -38,6 +38,9 @@
*/
public class Context extends Task
{
+ public static final String KEY = "project.context";
+ public static final String PROJECT_KEY = "project.key";
+
public static final String TARGET = "target";
public static final String BUILD = "build";
public static final String TEMP = "temp";
@@ -48,7 +51,6 @@
private static final String USER_PROPERTIES = "user.properties";
private static final String BUILD_PROPERTIES = "build.properties";
- public static final String KEY = "project.context";
public static final String SRC_KEY = "project.src";
public static final String SRC_VALUE = "src";
@@ -114,6 +116,10 @@
final Project project = getProject();
setupProperties( project );
+ m_key = resolveKey();
+
+ project.setNewProperty( PROJECT_KEY, getKey() );
+
project.setNewProperty( SRC_KEY, SRC_VALUE );
project.setNewProperty( SRC_MAIN_KEY, SRC_MAIN );
project.setNewProperty( SRC_CONFIG_KEY, SRC_CONFIG );
@@ -136,24 +142,38 @@
m_docs = setBuildPath( DOCS );
project.addReference( KEY, this );
+
}
public String getKey()
{
+ return m_key;
+ }
+
+ public String resolveKey()
+ {
if( null != m_key )
{
return m_key;
}
else
{
- final String name = getProject().getProperty( "project.name" );
- if( null != name )
+ final String key = getProject().getProperty( "project.key" );
+ if( null != key )
{
- return name;
+ return key;
}
else
{
- return getProject().getName();
+ final String name = getProject().getProperty( "project.name" );
+ if( null != name )
+ {
+ return name;
+ }
+ else
+ {
+ return getProject().getName();
+ }
}
}
}
@@ -327,6 +347,17 @@
}
}
+ public static String getCanonicalPath( final File file ) throws BuildException
+ {
+ try
+ {
+ return file.getCanonicalPath();
+ }
+ catch( IOException ioe )
+ {
+ throw new BuildException( ioe );
+ }
+ }
public static String getSignature()
{
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Home.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Home.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Home.java Wed Jun 23 16:37:14 2004
@@ -42,120 +42,61 @@
public static final String KEY = "project.home";
public static final String HOME_KEY = "project.home";
+ public static final String INDEX_KEY = "project.index";
+ public static final String MAGIC_HOME_KEY = "magic.home";
public static final String HOSTS_KEY = "project.hosts";
- public static final String MAIN_CACHE_KEY = "project.main.cache";
- public static final String DOCS_CACHE_KEY = "project.docs.cache";
+ public static final String MAIN_CACHE_KEY = "magic.main.cache";
+ public static final String DOCS_CACHE_KEY = "magic.docs.cache";
+
//-------------------------------------------------------------
- // mutable state
+ // immutable state
//-------------------------------------------------------------
- private boolean m_init = false;
-
- private Home m_home;
- private Repository m_main;
- private Repository m_docs;
- private File m_system;
- private File m_index;
-
+ private final File m_index;
private final Hashtable m_resources = new Hashtable();
- private BuildListener m_listener;
+ private final Magic m_system;
//-------------------------------------------------------------
// constructor
//-------------------------------------------------------------
- public Home( final Project project, final File system, final File index )
+ protected Home( final Project project, Magic system, File index )
{
- setProject( project );
m_index = index;
-
m_system = system;
-
- try
- {
- final String path = getCachePath( project );
- final String hostsPath = project.getProperty( HOSTS_KEY );
- m_main = new Repository( project, m_system, path, hostsPath, this );
-
- final String docs = getDocsCachePath( project );
- m_docs = new Repository( project, m_system, docs, hostsPath, this );
-
- //
- // construct the repository, build the definition of the available
- // resources and projects used within the system and associate a build
- // listener
- //
-
- buildList( m_index, false );
- }
- catch( Throwable e )
- {
- throw new BuildException( e );
- }
-
- log( "cache: " + m_main.getCacheDirectory(), Project.MSG_VERBOSE );
- final String[] hosts = m_main.getHosts();
- log( "Hosts: " + hosts.length, Project.MSG_VERBOSE );
- for( int i=0; i<hosts.length; i++ )
- {
- log( " host: " + hosts[i], Project.MSG_VERBOSE );
- }
- }
-
- private String getCachePath( final Project project ) throws IOException
- {
- final String path = project.getProperty( MAIN_CACHE_KEY );
- if( null != path ) return path;
-
- final Property property = (Property) project.createTask( "property" );
- property.setEnvironment( "env" );
- property.init();
- property.execute();
-
- final String avalonHomePath = project.getProperty( "env.AVALON_HOME" );
- if( null != avalonHomePath )
- {
- final File avalonHomeDirectory = new File( avalonHomePath );
- final File cache = new File( avalonHomeDirectory, "repository" );
- return cache.getCanonicalPath();
- }
- else
- {
- return ".cache";
- }
- }
-
- private String getDocsCachePath( final Project project )
- {
- final String path = project.getProperty( DOCS_CACHE_KEY );
- if( null != path ) return path;
- return ".docs";
+ setProject( project );
+ buildList( index, false );
}
//-------------------------------------------------------------
// implementation
//-------------------------------------------------------------
- public File getHomeDirectory()
+ public File getIndex()
{
- return m_system;
+ return m_index;
}
public long getIndexLastModified()
{
- return getIndexFile().lastModified();
+ return m_index.lastModified();
+ }
+
+ public boolean isaResourceKey( String key )
+ {
+ return ( null != m_resources.get( key ) );
}
public Repository getRepository()
{
- return m_main;
+ return m_system.getRepository();
}
public Repository getDocsRepository()
{
- return m_docs;
+ return m_system.getDocsRepository();
}
public Resource[] getResources()
@@ -256,7 +197,8 @@
buildList( system, elements, remote );
}
- private void buildList( final File system, final Element[] children, final boolean remote )
+ private void buildList(
+ final File system, final Element[] children, final boolean remote )
{
if( null == children ) return;
@@ -289,7 +231,8 @@
}
}
- private Resource createResource( final Element element, final File system, final boolean remote )
+ private Resource createResource(
+ final Element element, final File system, final boolean remote )
{
if( remote )
{
@@ -307,41 +250,6 @@
"resource".equals( tag )
|| "project".equals( tag )
|| "plugin".equals( tag ) );
- }
-
- private File getIndexFile()
- {
- if( null != m_index ) return m_index;
-
- final String path = project.getProperty( KEY );
- if( null != path )
- {
- final File index = Context.getFile( project.getBaseDir(), path );
- if( index.exists() )
- {
- if( index.isDirectory() )
- {
- return new File( index, "index.xml" );
- }
- else
- {
- return index;
- }
- }
- else
- {
- final String error =
- "Property value 'project.home' references a non-existant file: "
- + index;
- throw new BuildException( error );
- }
- }
- else
- {
- final String error =
- "Cannot continue due to missing index attribute.";
- throw new BuildException( error );
- }
}
/*
Added: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Magic.java
==============================================================================
--- (empty file)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Magic.java Wed Jun 23 16:37:14 2004
@@ -0,0 +1,308 @@
+/*
+ * Copyright 2004 Apache Software Foundation
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.
+ *
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.avalon.tools.model;
+
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildListener;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.taskdefs.Property;
+import org.apache.tools.ant.taskdefs.optional.net.SetProxy;
+import org.apache.tools.ant.types.DataType;
+import org.w3c.dom.Element;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.FileNotFoundException;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.StringTokenizer;
+
+/**
+ *
+ * @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
+ * @version $Revision: 1.2 $ $Date: 2004/03/17 10:30:09 $
+ */
+public class Magic extends DataType
+{
+ //-------------------------------------------------------------
+ // static
+ //-------------------------------------------------------------
+
+ public static final String KEY = "magic.home";
+
+ public static final String HOSTS_KEY = "magic.hosts";
+ public static final String MAIN_CACHE_KEY = "magic.cache";
+ public static final String DOCS_CACHE_KEY = "magic.docs";
+ public static final String TEMPLATES_KEY = "magic.templates";
+
+ public static final String PROXY_HOST_KEY = "project.proxy.host";
+ public static final String PROXY_PORT_KEY = "project.proxy.port";
+ public static final String PROXY_USERNAME_KEY = "project.proxy.username";
+ public static final String PROXY_PASSWORD_KEY = "project.proxy.password";
+
+ private static Magic SYSTEM;
+ private static Repository MAIN;
+ private static Repository DOCS;
+
+ public static Magic getSystem( Project project )
+ {
+ if( null == SYSTEM )
+ {
+ SYSTEM = new Magic( project );
+ }
+
+ project.setProperty(
+ KEY, SYSTEM.getSystemDirectory().toString() );
+
+ File main = SYSTEM.getRepository().getCacheDirectory();
+ project.setProperty(
+ MAIN_CACHE_KEY, Context.getCanonicalPath( main ) );
+
+ File docs = SYSTEM.getRepository().getCacheDirectory();
+ project.setProperty(
+ DOCS_CACHE_KEY, Context.getCanonicalPath( docs ) );
+
+ project.setProperty(
+ TEMPLATES_KEY, getTemplatePath( main ) );
+ project.addReference( KEY, SYSTEM );
+ return SYSTEM;
+ }
+
+ private static String getTemplatePath( File cache )
+ {
+ File templates = new File( cache, "avalon/tools/templates" );
+ return Context.getCanonicalPath( templates );
+ }
+
+ //-------------------------------------------------------------
+ // mutable state
+ //-------------------------------------------------------------
+
+ private File m_system;
+ private Repository m_main;
+ private Repository m_docs;
+ private Map m_homes = new Hashtable();
+
+ //-------------------------------------------------------------
+ // constructor
+ //-------------------------------------------------------------
+
+ private Magic( final Project project )
+ {
+ setProject( project );
+
+ m_system = getSystemDirectory( project );
+
+ File user = new File( m_system, "user.properties" );
+ loadProperties( project, user );
+
+ File properties = new File( m_system, "magic.properties" );
+ loadProperties( project, properties );
+
+ final String hostsPath = project.getProperty( HOSTS_KEY );
+ final String[] hosts = getHostsSequence( hostsPath );
+
+ final File main = new File( m_system, "main" );
+ m_main = new Repository( project, main, hosts );
+
+ final File docs = new File( m_system, "docs" );
+ m_docs = new Repository( project, docs, hosts );
+
+ setupProxy( project );
+
+ project.log( "Hosts: " + hosts.length, Project.MSG_VERBOSE );
+ for( int i=0; i<hosts.length; i++ )
+ {
+ project.log( " host: " + hosts[i], Project.MSG_VERBOSE );
+ }
+ project.log(
+ "artifact cache: " + m_main.getCacheDirectory(),
+ Project.MSG_VERBOSE );
+ project.log(
+ "docs cache: " + m_docs.getCacheDirectory(),
+ Project.MSG_VERBOSE );
+ }
+
+ //-------------------------------------------------------------
+ // public
+ //-------------------------------------------------------------
+
+ public File getSystemDirectory()
+ {
+ return m_system;
+ }
+
+ public Repository getRepository()
+ {
+ return m_main;
+ }
+
+ public Repository getDocsRepository()
+ {
+ return m_docs;
+ }
+
+ public Home getHome( Project project, String value )
+ {
+ File index = getIndexFile( project, value );
+ String path = Context.getCanonicalFile( index ).toString();
+ Home home = (Home) m_homes.get( path );
+ if( null == home )
+ {
+ project.log(
+ "Creating home in project: "
+ + project.getName()
+ + " using index ["
+ + index
+ + "].", Project.MSG_VERBOSE );
+
+ home = new Home( project, this, index );
+ }
+ m_homes.put( path, home );
+ return home;
+ }
+
+ private File getIndexFile( Project project, String value )
+ {
+ File basedir = project.getBaseDir();
+ if( null != value )
+ {
+ File index = Context.getFile( basedir, value );
+ return resolve( index );
+ }
+
+ final String path = project.getProperty( Home.KEY );
+ if( null != path )
+ {
+ final File index = Context.getFile( basedir, path ) ;
+ return resolve( index );
+ }
+ else
+ {
+ final String error =
+ "Cannot continue due to missing index attribute.";
+ throw new BuildException( error );
+ }
+ }
+
+ private File resolve( final File index )
+ {
+ if( index.exists() )
+ {
+ if( index.isDirectory() )
+ {
+ return resolve( new File( index, "index.xml" ) );
+ }
+ else
+ {
+ return index;
+ }
+ }
+ else
+ {
+ final FileNotFoundException e =
+ new FileNotFoundException( index.toString() );
+ throw new BuildException( e );
+ }
+ }
+
+ //-------------------------------------------------------------
+ // implementation
+ //-------------------------------------------------------------
+
+ private String[] getHostsSequence( final String path )
+ {
+ if( null == path )
+ {
+ return new String[0];
+ }
+
+ final StringTokenizer tokenizer = new StringTokenizer( path, ";" );
+ final ArrayList list = new ArrayList();
+ while( tokenizer.hasMoreTokens() )
+ {
+ final String host = tokenizer.nextToken();
+ if( host.endsWith( "/" ) )
+ {
+ list.add( host );
+ }
+ else
+ {
+ list.add( host + "/" );
+ }
+ }
+ return (String[]) list.toArray( new String[0] );
+ }
+
+ private void setupProxy( final Project project )
+ {
+ final String host = project.getProperty( PROXY_HOST_KEY );
+ if(( null == host ) || "".equals( host ) )
+ {
+ return;
+ }
+ else
+ {
+ final int port = Integer.decode(
+ project.getProperty( PROXY_PORT_KEY ) ).intValue();
+ final String username =
+ project.getProperty( PROXY_USERNAME_KEY );
+ final String password =
+ project.getProperty( PROXY_PASSWORD_KEY );
+ final SetProxy proxy =
+ (SetProxy) project.createTask( "setproxy" );
+ proxy.init();
+ proxy.setProxyHost( host );
+ proxy.setProxyPort( port );
+ proxy.setProxyUser( username );
+ proxy.setProxyPassword( password );
+ proxy.execute();
+ }
+ }
+
+ private File getSystemDirectory( final Project project )
+ {
+ final Property property = (Property) project.createTask( "property" );
+ property.setEnvironment( "env" );
+ property.init();
+ property.execute();
+
+ final String systemPath = project.getProperty( "env.MAGIC_HOME" );
+ if( null != systemPath )
+ {
+ File system = new File( systemPath );
+ return Context.getCanonicalFile( system );
+ }
+ else
+ {
+ File user = new File( System.getProperty( "user.home" ) );
+ File system = new File( user, ".merlin" );
+ return Context.getCanonicalFile( system );
+ }
+ }
+
+ protected void loadProperties(
+ final Project project, final File file ) throws BuildException
+ {
+ final Property props = (Property) project.createTask( "property" );
+ props.init();
+ props.setFile( file );
+ props.execute();
+ }
+}
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Repository.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Repository.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/model/Repository.java Wed Jun 23 16:37:14 2004
@@ -19,7 +19,6 @@
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.optional.net.SetProxy;
import java.io.File;
import java.io.IOException;
@@ -33,37 +32,18 @@
*/
public class Repository
{
- public final String PROJECT_PROXY_HOST_KEY = "project.proxy.host";
- public final String PROJECT_PROXY_PORT_KEY = "project.proxy.port";
- public final String PROJECT_PROXY_USERNAME_KEY = "project.proxy.username";
- public final String PROJECT_PROXY_PASSWORD_KEY = "project.proxy.password";
-
- private final Home m_home;
- private final File m_root;
private final File m_cache;
private final String[] m_hosts;
public Repository(
- final Project project, final File system, final String path, final String hosts, final Home home )
+ final Project project, final File cache, final String[] hosts )
{
- if( null == system )
- {
- throw new NullPointerException( "system" );
- }
- if( null == path )
+ if( null == cache )
{
- throw new NullPointerException( "path" );
+ throw new NullPointerException( "cache" );
}
- if( null == home )
- {
- throw new NullPointerException( "home" );
- }
- m_home = home;
- m_root = system;
- m_cache = getCanonicalFile( Context.getFile( system, path ) );
- m_hosts = getHostsSequence( hosts );
-
- setupProxy( project );
+ m_cache = cache;
+ m_hosts = hosts;
}
public File getCacheDirectory()
@@ -74,67 +54,5 @@
public String[] getHosts()
{
return m_hosts;
- }
-
- private File getCanonicalFile( final File file ) throws BuildException
- {
- try
- {
- return file.getCanonicalFile();
- }
- catch( IOException ioe )
- {
- throw new BuildException( ioe );
- }
- }
-
- private String[] getHostsSequence( final String path )
- {
- if( null == path )
- {
- return new String[0];
- }
-
- final StringTokenizer tokenizer = new StringTokenizer( path, ";" );
- final ArrayList list = new ArrayList();
- while( tokenizer.hasMoreTokens() )
- {
- final String host = tokenizer.nextToken();
- if( host.endsWith( "/" ) )
- {
- list.add( host );
- }
- else
- {
- list.add( host + "/" );
- }
- }
- return (String[]) list.toArray( new String[0] );
- }
-
- private void setupProxy( final Project project )
- {
- final String host = project.getProperty( PROJECT_PROXY_HOST_KEY );
- if(( null == host ) || "".equals( host ) )
- {
- return;
- }
- else
- {
- final int port = Integer.decode(
- project.getProperty( PROJECT_PROXY_PORT_KEY ) ).intValue();
- final String username =
- project.getProperty( PROJECT_PROXY_USERNAME_KEY );
- final String password =
- project.getProperty( PROJECT_PROXY_PASSWORD_KEY );
- final SetProxy proxy =
- (SetProxy) project.createTask( "setproxy" );
- proxy.init();
- proxy.setProxyHost( host );
- proxy.setProxyPort( port );
- proxy.setProxyUser( username );
- proxy.setProxyPassword( password );
- proxy.execute();
- }
}
}
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ContextualTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ContextualTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/ContextualTask.java Wed Jun 23 16:37:14 2004
@@ -35,18 +35,14 @@
public abstract class ContextualTask extends Task
{
private static final String USER_PROPERTIES = "user.properties";
- private static final String BUILD_PROPERTIES = "build.properties";
+ private static final String PROJECT_PROPERTIES = "project.properties";
private boolean m_init = false;
- private Context m_context;
public void init() throws BuildException
{
if( !isInitialized() )
{
- final Project project = getProject();
- setupProperties( project, project.getBaseDir() );
- m_context = Context.getContext( project );
m_init = true;
}
}
@@ -63,11 +59,19 @@
public Context getContext()
{
- if( null == m_context )
+ final Context context = (Context)
+ getProject().getReference( Context.KEY );
+
+ if( null == context )
+ {
+ final Project project = getProject();
+ setupProperties( project, project.getBaseDir() );
+ return Context.getContext( project );
+ }
+ else
{
- throw new IllegalStateException( "context" );
+ return context;
}
- return m_context;
}
public void mkDir( final File dir )
@@ -92,11 +96,12 @@
private void setupBuildProperties( final Project project, final File dir )
{
- final File build = Context.getFile( dir, BUILD_PROPERTIES );
+ final File build = Context.getFile( dir, PROJECT_PROPERTIES );
loadProperties( project, build );
}
- protected void loadProperties( final Project project, final File file ) throws BuildException
+ protected void loadProperties(
+ final Project project, final File file ) throws BuildException
{
final Property props = (Property) project.createTask( "property" );
props.init();
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/HomeTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/HomeTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/HomeTask.java Wed Jun 23 16:37:14 2004
@@ -18,7 +18,10 @@
package org.apache.avalon.tools.tasks;
import org.apache.avalon.tools.model.Context;
+import org.apache.avalon.tools.model.Definition;
+import org.apache.avalon.tools.model.Info;
import org.apache.avalon.tools.model.Home;
+import org.apache.avalon.tools.model.Magic;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
@@ -33,123 +36,49 @@
*/
public class HomeTask extends ContextualTask
{
- public static final String SYSTEM_KEY = "project.system";
-
- private static final String CACHE_DIR_KEY = "project.home.cache.dir";
- private static final String INDEX_PROPERTIES = "index.properties";
-
- private static Home HOME;
-
private String m_path;
- private boolean m_executed = false;
-
public void setIndex( final String path )
{
- if( null != HOME )
- {
- log(
- "Ignoring path - home is already initialized.",
- Project.MSG_VERBOSE );
- }
- else
- {
- m_path = path;
- }
+ m_path = path;
}
public void execute()
{
- if( !m_executed )
- {
- final Project project = getProject();
- final File index = getIndexFile();
- final File system = getSystemHome( project, index );
- setupProperties( project, system );
- if( null == HOME )
- {
- log( "Building system definition." );
- setupSystemProperties( project, system );
- HOME = new Home( project, system, index );
- }
- project.addReference( Home.KEY, HOME );
-
- getProject().setNewProperty(
- CACHE_DIR_KEY,
- HOME.getRepository().getCacheDirectory().toString() );
+ final Project project = getProject();
- m_executed = true;
- }
- }
+ if( null != getProject().getReference( Home.KEY ) ) return;
- private File getSystemHome( final Project project, final File index )
- {
- final String system = project.getProperty( SYSTEM_KEY );
- if(( null == system ) || "".equals( system ))
- {
- final File systemHome = index.getParentFile();
- return systemHome;
- }
- else
- {
- final File anchor = project.getBaseDir();
- return Context.getFile( anchor, system );
+ Magic system = Magic.getSystem( project );
+ Home home = system.getHome( project, m_path );
+ project.setProperty( Home.HOME_KEY, getHomePath( home ) );
+ project.setProperty( Home.INDEX_KEY, getIndexPath( home ) );
+ project.addReference( Home.KEY, home );
+
+ final String key = getKey();
+ if( home.isaResourceKey( key ) )
+ {
+ final Definition def = home.getDefinition( getKey() );
+ final Info info = def.getInfo();
+ final String name = info.getName();
+ project.setProperty( "project.name", name );
+ final String group = info.getGroup();
+ project.setProperty( "project.group", group );
+ final String version = info.getVersion();
+ if( null != version )
+ {
+ project.setProperty( "project.version", version );
+ }
}
}
- private void setupSystemProperties( final Project project, final File dir )
- {
- final File build = Context.getFile( dir, INDEX_PROPERTIES );
- loadProperties( project, build );
- }
-
- private File getIndexFile()
+ private String getHomePath( Home home )
{
- if( null != m_path )
- {
- final File index = Context.getFile( project.getBaseDir(), m_path );
- return resolve( index );
- }
- else
- {
-
- //
- // try to resolve using ${project.home}
- //
-
- final String path = getProject().getProperty( Home.KEY );
- if( null != path )
- {
- final File root = Context.getFile( project.getBaseDir(), path );
- return resolve( root );
- }
- else
- {
- final String error =
- "Property value 'project.home' is not defined.";
- throw new BuildException( error );
- }
- }
+ return home.getIndex().getParentFile().toString();
}
- private File resolve( final File index )
+ private String getIndexPath( Home home )
{
- if( index.exists() )
- {
- if( index.isDirectory() )
- {
- return resolve( new File( index, "index.xml" ) );
- }
- else
- {
- return index;
- }
- }
- else
- {
- final FileNotFoundException e =
- new FileNotFoundException( index.toString() );
- throw new BuildException( e );
- }
+ return home.getIndex().toString();
}
}
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/PrepareTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/PrepareTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/PrepareTask.java Wed Jun 23 16:37:14 2004
@@ -77,6 +77,7 @@
log( "creating target directory" );
mkDir( target );
}
+
final File src = getContext().getSrcDirectory();
final File etc = getContext().getEtcDirectory();
final File build = getContext().getBuildDirectory();
@@ -84,7 +85,6 @@
if( src.exists() )
{
-
final String main = getSrcMain();
final String config = getSrcConfig();
final String test = getSrcTest();
@@ -154,8 +154,9 @@
return Context.SRC_TEST;
}
-
- private void prepareMain( final File projectSrc, final File targetMain, final String source, final String path )
+ private void prepareMain(
+ final File projectSrc, final File targetMain, final String source,
+ final String path )
{
if( null == projectSrc ) throw new NullPointerException( "projectSrc" );
if( null == targetMain ) throw new NullPointerException( "targetMain" );
@@ -172,7 +173,8 @@
final File dest = new File( targetMain, path );
mkDir( dest );
- final String filters = getProject().getProperty( SRC_FILTERED_INCLUDES_KEY );
+ final String filters =
+ getProject().getProperty( SRC_FILTERED_INCLUDES_KEY );
copy( src, dest, true, filters, "" );
copy( src, dest, false, "**/*.*", filters );
}
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/XdocTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/XdocTask.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/XdocTask.java Wed Jun 23 16:37:14 2004
@@ -108,8 +108,8 @@
private File getThemesDirectory()
{
- final File home = getHome().getHomeDirectory();
- return new File( home, "themes" );
+ final File cache = getHome().getRepository().getCacheDirectory();
+ return new File( cache, "avalon/tools/themes" );
}
private String getOutputFormat()
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org