hi!
I've been working on a build file that
compiles all avalon projects and then
runs phoenix. I use it with JBuilder and
AntRunner for debugging 'n stuff.
Place the build.xml file in a directory
parallel to your CVS checkouts of the
Avalon code; to use the run target you
also need to put EmbeddedLoader.java in
the appropriate
(org/apache/avalon/phoenix/engine/loader)
directory.
Once I clean up that loader I'll put this
in CVS.
cheers,
Leo
PS: while I'm at it, here's my JBuilder
project file...
<?xml version="1.0"?>
<!--
===============================================================================
=== Avalon project buildfile ===
===============================================================================
=== Authors: ===
=== Leo Simons <[EMAIL PROTECTED]> ===
=== ===
=== Copyright (c) 2001 The Apache Software Foundation. All Rights Reserved. ===
===============================================================================
-->
<project default="main" basedir=".">
<!--
=========================================================================
=== Set all properties ===
=========================================================================
-->
<property name="build.dir" value="../build" />
<property name="classes.dir" value="${build.dir}/classes" />
<property name="dist.dir" value="../dist" />
<property name="lib.dir" value="../lib" />
<property name="docs.dir" value="${dist.dir}/docs" />
<property name="javadocs.dir" value="${docs.dir}/api" />
<property name="jdk.javadocs.dir" value="file:///G:/Programma's/Programming/JBuilder/jdk1.3/docs/api" />
<property name="debug" value="off" />
<property name="optimize" value="off" />
<property name="deprecation" value="off" />
<!-- framework properties -->
<property name="framework.dir" value="../jakarta-avalon" />
<property name="framework.dir" value="../jakarta-avalon" />
<property name="framework.src.dir" value="${framework.dir}/src" />
<property name="framework.java.dir" value="${framework.src.dir}/java" />
<property name="framework.scratchpad.dir" value="${framework.src.dir}/scratchpad" />
<!-- excalibur properties -->
<property name="excalibur.dir" value="../jakarta-avalon" />
<property name="excalibur.src.dir" value="${excalibur.dir}/src" />
<property name="excalibur.java.dir" value="${excalibur.src.dir}/java" />
<property name="excalibur.scratchpad.dir" value="${excalibur.src.dir}/scratchpad" />
<!-- logkit properties -->
<property name="logkit.dir" value="../jakarta-avalon-logkit" />
<property name="logkit.src.dir" value="${logkit.dir}/src" />
<property name="logkit.java.dir" value="${logkit.src.dir}/java" />
<!-- cornerstone properties -->
<property name="cornerstone.dir" value="../jakarta-avalon-cornerstone" />
<property name="cornerstone.src.dir" value="${cornerstone.dir}/src" />
<property name="cornerstone.java.dir" value="${cornerstone.src.dir}/java" />
<!-- phoenix properties -->
<property name="phoenix.dir" value="../jakarta-avalon-phoenix" />
<property name="phoenix.home" value="F:/avalon" />
<property name="phoenix.src.dir" value="${phoenix.dir}/src" />
<property name="phoenix.java.dir" value="${phoenix.src.dir}/java" />
<property name="phoenix.constants.file" value="org/apache/avalon/phoenix/engine/Constants.java"/>
<property name="phoenix.version" value="3.5a" />
<property name="phoenix.name" value="Avalon Phoenix" />
<!-- apps properties -->
<property name="apps.dir" value="../jakarta-avalon-cornerstone" />
<property name="apps.src.dir" value="${apps.dir}/src" />
<property name="apps.java.dir" value="${apps.src.dir}/java" />
<!-- paths -->
<path id="project.class.path">
<pathelement path="${java.class.path}" />
<fileset dir="${lib.dir}">
<include name="*.jar" />
<include name="*.zip" />
</fileset>
<pathelement path="${classes.dir}" />
</path>
<path id="project.src.path">
<pathelement path="${framework.java.dir}" />
<pathelement path="${framework.scratchpad.dir}" />
<pathelement path="${excalibur.java.dir}" />
<pathelement path="${excalibur.scratchpad.dir}" />
<pathelement path="${logkit.java.dir}" />
<pathelement path="${cornerstone.java.dir}" />
<pathelement path="${phoenix.java.dir}" />
</path>
<!--
===========================================================================
=== Project-wide Targets ===
===========================================================================
-->
<!-- compile and then run phoenix; doesn't quite work yet... -->
<target
name="run"
depends="compile">
<java
classname="org.apache.avalon.phoenix.engine.loader.EmbeddedLoader"
fork="yes">
<classpath refid="project.class.path" />
<jvmarg value="-Dphoenix.home=${phoenix.home}" />
</java>
</target>
<!-- default: compile -->
<target
name="main"
depends="compile" />
<!-- compile all projects -->
<target
name="compile"
depends="compile-framework, compile-logkit, compile-excalibur, compile-cornerstone, compile-phoenix, compile-apps" />
<!-- recompile all projects -->
<target
name="recompile"
depends="compile-clean" />
<target
name="compile-clean"
depends="clean, compile" />
<!-- create complete documentation -->
<!-- <target
name="docs"
depends="docs-framework, docs-logkit, docs-excalibur, docs-cornerstone, docs-phoenix, docs-apps" />-->
<!-- create API documentation -->
<target name="javadoc" depends="apidoc" />
<target name="javadocs" depends="apidoc" />
<target name="api" depends="apidoc" />
<target
name="apidoc"
depends="compile">
<copy file="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/Jdbc2Connection.java"
tofile="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/Jdbc2Connection.java.bak"
overwrite="yes" />
<delete file="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/Jdbc2Connection.java" />
<copy file="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/Jdbc3Connection.java"
tofile="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/Jdbc3Connection.java.bak"
overwrite="yes" />
<delete file="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/Jdbc3Connection.java" />
<javadoc
packagenames="org.apache.*"
destdir="${javadocs.dir}">
<classpath refid="project.class.path" />
<sourcepath refid="project.src.path" />
<link href="${jdk.javadocs.dir}" />
<doclet name="com.sun.tools.doclets.standard.Standard">
<param name="-author"/>
<param name="-version"/>
<param name="-use"/>
<param name="-doctitle" value="Avalon Server Framework"/>
<param name="-windowtitle" value="Avalon Server Framework API"/>
<param
name="-bottom"
value=""Copyright © 2001 Apache Jakarta Project. All Rights Reserved.""/>
</doclet>
</javadoc>
<copy file="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/Jdbc2Connection.java.bak"
tofile="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/Jdbc2Connection.java"
overwrite="yes" />
<delete file="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/Jdbc2Connection.java.bak" />
<copy file="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/Jdbc3Connection.java.bak"
tofile="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/Jdbc3Connection.java"
overwrite="yes" />
<delete file="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/Jdbc3Connection.java.bak" />
</target>
<!-- prepare output dir structure -->
<target
name="prepare"
depends="check-environment,jdbc2,jdbc3">
<mkdir dir="${build.dir}" />
<mkdir dir="${classes.dir}" />
<mkdir dir="${dist.dir}" />
<mkdir dir="${docs.dir}" />
<mkdir dir="${api.dir}" />
</target>
<!-- remove ouput dir structure -->
<target
name="clean">
<delete dir="${build.dir}" />
<delete dir="${classes.dir}" />
<delete dir="${dist.dir}" />
<delete dir="${docs.dir}" />
<delete dir="${api.dir}" />
</target>
<!-- check for existing resources -->
<target
name="check-environment">
<available property="jndi.present" classname="javax.naming.Context">
<classpath refid="project.class.path"/>
</available>
<available property="datasource.present" classname="javax.sql.DataSource">
<classpath refid="project.class.path"/>
</available>
<available property="jsse.present" classname="javax.net.ssl.SSLServerSocket">
<classpath refid="project.class.path"/>
</available>
<available
property="servlet.present"
classname="javax.servlet.ServletContext">
<classpath refid="project.class.path" />
</available>
<available
property="avalon-framework.present"
classname="org.apache.avalon.framework.CascadingThrowable">
<classpath refid="project.class.path" />
</available>
<available
property="jdbc3.present"
classname="java.sql.Savepoint">
<classpath refid="project.class.path"/>
</available>
</target>
<target
name="jdbc2"
depends="check-environment"
unless="jdbc3.present">
<copy file="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/Jdbc2Connection.java"
tofile="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/JdbcConnection.java"
overwrite="yes"/>
</target>
<target
name="jdbc3"
depends="check-environment"
if="jdbc3.present">
<copy file="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/Jdbc3Connection.java"
tofile="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/JdbcConnection.java"
overwrite="yes"/>
</target>
<!--
===========================================================================
=== LOGKIT Targets ===
===========================================================================
-->
<target
name="compile-logkit"
depends="prepare-logkit">
<javac srcdir="${logkit.java.dir}"
destdir="${classes.dir}"
debug="${debug}"
optimize="${optimize}"
deprecation="${deprecation}">
<classpath refid="project.class.path"/>
<include name="org/apache/log/**" />
<exclude
name="org/apache/log/output/ServletOutputLogTarget.java"
unless="servlet.present"/>
<exclude
name="org/apache/log/format/AvalonFormatter.java"
unless="avalon-framework.present"/>
</javac>
</target>
<target
name="prepare-logkit"
depends="prepare" />
<!--
===========================================================================
=== FRAMEWORK Targets ===
===========================================================================
-->
<!-- compile Framework classes -->
<target
name="compile-framework"
depends="prepare-framework, compile-logkit">
<javac srcdir="${framework.java.dir}"
destdir="${classes.dir}"
debug="${debug}"
optimize="${optimize}"
deprecation="${deprecation}">
<src path="${framework.scratchpad.dir}" />
<classpath refid="project.class.path"/>
<include name="org/apache/avalon/framework/**" />
</javac>
</target>
<!-- prepare Framework-specific properties and resources -->
<target
name="prepare-framework"
depends="prepare, prepare-logkit" />
<!--
===========================================================================
=== EXCALIBUR Targets ===
===========================================================================
-->
<!-- compile Excalibur classes -->
<target
name="compile-excalibur"
depends="prepare-excalibur, compile-logkit, compile-framework">
<javac srcdir="${excalibur.java.dir}"
destdir="${classes.dir}"
debug="${debug}"
optimize="${optimize}"
deprecation="${deprecation}">
<src path="${excalibur.scratchpad.dir}" />
<classpath refid="project.class.path"/>
<include name="org/apache/avalon/excalibur/**" />
<exclude
name="org/apache/avalon/excalibur/datasource/J2eeDataSource.java"
unless="datasource.present"/>
<exclude name="org/apache/avalon/excalibur/datasource/Jdbc2Connection.java"/>
<exclude name="org/apache/avalon/excalibur/datasource/Jdbc3Connection.java"/>
</javac>
<delete file="${excalibur.java.dir}/org/apache/avalon/excalibur/datasource/JdbcConnection.java"/>
</target>
<!-- prepare Excalibur-specific properties and resources -->
<target
name="prepare-excalibur"
depends="prepare, prepare-logkit, prepare-framework" />
<!--
===========================================================================
=== CORNERSTONE Targets ===
===========================================================================
-->
<!-- compile Cornerstone classes -->
<target
name="compile-cornerstone"
depends="prepare-cornerstone, compile-logkit, compile-framework, compile-excalibur, compile-phoenix">
<javac srcdir="${cornerstone.java.dir}"
destdir="${classes.dir}"
debug="${debug}"
optimize="${optimize}"
deprecation="${deprecation}">
<classpath refid="project.class.path" />
<include name="org/apache/avalon/cornerstone/**" />
<exclude name="org/apache/avalon/cornerstone/blocks/serversocket/TLSServerSocketAcceptor.java"
unless="jsse.present" />
<exclude name="org/apache/avalon/cornerstone/blocks/sockets/TLSServerSocketFactory.java"
unless="jsse.present" />
<exclude name="org/apache/avalon/cornerstone/demos/**" />
</javac>
</target>
<!-- prepare Cornerstone-specific properties and resources -->
<target
name="prepare-cornerstone"
depends="prepare, prepare-logkit, prepare-framework, prepare-excalibur, prepare-phoenix" />
<!--
===========================================================================
=== PHOENIX Targets ===
===========================================================================
-->
<!-- compile Phoenix classes -->
<target
name="compile-phoenix"
depends="prepare-phoenix, compile-logkit, compile-framework, compile-excalibur">
<javac srcdir="${phoenix.java.dir}"
destdir="${classes.dir}"
debug="${debug}"
optimize="${optimize}"
deprecation="${deprecation}">
<classpath refid="project.class.path" />
<exclude name="${phoenix.constants.file}" />
</javac>
<rmic base="${classes.dir}"
classname="org.apache.jmx.adaptor.RMIAdaptorImpl"
stubVersion="1.2">
<classpath refid="project.class.path" />
</rmic>
<copy file="${phoenix.java.dir}/${phoenix.constants.file}.bak"
tofile="${phoenix.java.dir}/${phoenix.constants.file}"
overwrite="yes"/>
<delete file="${phoenix.java.dir}/${phoenix.constants.file}.bak" />
</target>
<!-- prepare Phoenix-specific properties and resources -->
<target
name="prepare-phoenix"
depends="prepare, prepare-logkit, prepare-framework, prepare-excalibur">
<copy file="${phoenix.java.dir}/${phoenix.constants.file}"
tofile="${phoenix.java.dir}$/${phoenix.constants.file}.bak"
overwrite="yes"/>
<replace file="${phoenix.java.dir}/${phoenix.constants.file}" token="@@VERSION@@" value="${phoenix.version}"/>
<replace file="${phoenix.java.dir}/${phoenix.constants.file}" token="@@NAME@@" value="${phoenix.name}"/>
<replace file="${phoenix.java.dir}/${phoenix.constants.file}" token="@@DATE@@" value="${TODAY}"/>
</target>
<!--
===========================================================================
=== APPS Targets ===
===========================================================================
-->
<!-- compile Apps classes -->
<target
name="compile-apps"
depends="prepare-apps, compile-logkit, compile-framework, compile-excalibur, compile-cornerstone, compile-phoenix">
<javac srcdir="${cornerstone.java.dir}"
destdir="${classes.dir}"
debug="${debug}"
optimize="${optimize}"
deprecation="${deprecation}">
<classpath refid="project.class.path" />
<include name="org/apache/avalon/cornerstone/demos/**" />
</javac>
</target>
<!-- prepare Apps-specific properties and resources -->
<target
name="prepare-apps"
depends="prepare, prepare-logkit, prepare-framework, prepare-excalibur, prepare-cornerstone, prepare-phoenix" />
</project>
avalon.jpx
EmbeddedLoader.java
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]