Hi, The attached patch fixes up antgump so it's usable. It seems that Antgump got left behind when Gump migrated from merge.xsl to Jenny (I don't actually know this history, just deducing..).
Changes: - Updated README - Add a target to compile and jar the jenny classes - Declare all jars in a <path>, list defaults in gump.workspace.properties, and add a 'print-env' target that prints them for debugging. - Add a default.properties containing hardcoded paths (following the Turbine system) The default workspace.master.xml is still very outdated, and I haven't got around to fixing it yet. Btw, what is the status of Antgump? Dead? Superceded by something? If it ever worked as advertised, would it replace the gen.sh system, or does Gump run on systems that don't have Ant? --Jeff
? .timestamp ? antgump.diff ? temp Index: README.txt =================================================================== RCS file: /home/cvspublic/jakarta-alexandria/proposal/antgump/README.txt,v retrieving revision 1.1 diff -u -r1.1 README.txt --- README.txt 1 Apr 2001 05:28:20 -0000 1.1 +++ README.txt 4 May 2002 13:39:31 -0000 @@ -1,39 +1,47 @@ README for AntGump Created by Scott Sanders March 30, 2001 +Updated by Jeff Turner, 4 May, 2002 + +Introduction +------------ The intention that I had with AntGump was to copy Sam Ruby's work with Gump, -and amke it use Ant as much as possible. Sam's work was excellent to start +and make it use Ant as much as possible. Sam's work was excellent to start with, and I did not have to do much of anything to all of his fine work. All of the work that I did was in porting Gump to be Ant-based. -To run AntGump, you simply should have created a workspace file, like Sam's -rubypad.xml or rubix.xml or my athena.xml. This tells AntGump which projects -you would like to build in your very own tinderbox. Once you have defined your -workspace file, simply run build.py, passing the workspace file as an argument. +Prerequisites +------------- -On Unix, this looks like: +In order to use AntGump, the following are software requirements: - ./build.py athena.xml +Ant 1.3 or higher http://jakarta.apache.org/ant/ +CVS http://www.cvshome.org (You probably have it) +JDK http://java.sun.com (I use 1.3 from IBM) +XalanJ 2.0.1 or higher http://xml.apache.org -On Windows, this looks like (from a command shell): - build.py athena.xml +Getting started +--------------- -Or, the easy way on both systems: +To run AntGump, you simply should have created a workspace file, like Sam's +rubypad.xml or rubix.xml or my athena.xml. This tells AntGump which projects +you would like to build in your very own tinderbox. Once you have defined your +workspace file, you pass it in to Ant as follows: - python build.py athena.xml +ant -Dworkspace.master=athena.xml +If workspace.master is unspecified, the default workspace.master.xml file is +used. This workspace file is parametrized, and if you using it, you will need +to customize the values in gump.workspace.properties. -In order to use AntGump, the following are software requirements: +You'll almost certainly need to edit gump.workspace.properties to set the +correct path to the Xalan and other jars. -Ant 1.3 http://jakarta.apache.org -CVS http://www.cvshome.org (You probably have it) -JDK http://java.sun.com (I use 1.3 from IBM) -Python 1.5.2 http://www.python.org (Python 2.0 is fine as well) -XalanJ 2.0.1 http://xml.apache.org -Special Notes: +Special Notes +------------- AntGump differs from Gump in that it always calls the specified target of a projects build file, even if you are singly executing a project's build. The Gump Index: build.xml =================================================================== RCS file: /home/cvspublic/jakarta-alexandria/proposal/antgump/build.xml,v retrieving revision 1.3 diff -u -r1.3 build.xml --- build.xml 21 Apr 2001 17:35:57 -0000 1.3 +++ build.xml 4 May 2002 13:39:32 -0000 @@ -2,25 +2,56 @@ <property file="${user.home}/gump.workspace.properties"/> <property file="gump.workspace.properties"/> + <property file="default.properties"/> - <property name="work.dir" value="${basedir}/temp"/> - <property name="workspace.master" value="workspace.master.xml"/> - <property name="workspace.copy" value="${work.dir}/workspace.xml"/> + <path id="classpath"> + <pathelement location="${jenny.jar}"/> + <pathelement location="${xml-apis.jar}"/> + <pathelement location="${xerces.jar}"/> + <pathelement location="${xalan.jar}"/> + </path> - <target name="clean"> + <target name="clean" description="Cleans workdir"> <delete dir="${work.dir}"/> + <delete dir="${jenny.build.classes}"/> </target> - - <target name="main" depends="clean,workspace"> + <target name="print-env" description="Prints the user's environment"> + <echo message="Using jars:"/> + <echo message=" jenny.jar = ${jenny.jar}"/> + <echo message=" xml-apis.jar = ${xml-apis.jar}"/> + <echo message=" xerces.jar = ${xerces.jar}"/> + <echo message=" xalan.jar = ${xalan.jar}"/> + <echo message=""/> + <echo message="If any of these are incorrect or unset, please fix them in your +gump.workspace.properties file"/> + </target> + + <target name="jenny" description="Compile and jar the Jenny classes"> + <mkdir dir="${jenny.build.classes}"/> + <javac srcdir="${jenny.src.java}" + destdir="${jenny.build.classes}"> + <classpath refid="classpath" /> + </javac> + <jar jarfile="${jenny.jar}" + basedir="${jenny.build.classes}"> + </jar> + </target> + + <target name="main" depends="print-env,clean,workspace,jenny" description="Runs +Gump (default)"> <echo message="Step 1 - Creating working directory - ${work.dir}"/> <mkdir dir="${work.dir}"/> <echo message="Step 2 - Merging projects into workspace"/> + <!-- <style in="${workspace.copy}" out="${work.dir}/merge.xml" style="../gump/stylesheet/merge.xsl" - destdir="${work.dir}"/> + destdir="${work.dir}"/> + --> + <java classname="Jenny" fork="true"> + <classpath refid="classpath"/> + <arg value="${workspace.copy}"/> + </java> <echo message="Step 3 - Sorting projects into dependency order"/> <style in="${work.dir}/merge.xml" @@ -39,7 +70,7 @@ out="${work.dir}/antgumpall.xml" style="xsl/antgump-all.xsl" destdir="${work.dir}"/> - + <echo message="Step 6 - Preparing Sandbox"/> <ant antfile="antgumpall.xml" target="prepare" dir="${work.dir}"/> @@ -54,7 +85,7 @@ </target> - <target name="workspace"> + <target name="workspace" description="Filters and copies the workspace XML file"> <!-- Gump installation properties --> @@ -109,4 +140,4 @@ </target> -</project> \ No newline at end of file +</project> Index: default.properties =================================================================== RCS file: default.properties diff -N default.properties --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ default.properties 4 May 2002 13:39:32 -0000 @@ -0,0 +1,11 @@ +# -------------------------------------------------- +# Hardcoded paths (shouldn't need editing) +# -------------------------------------------------- +jenny.home=../gump +jenny.src.java=${jenny.home}/java +jenny.build.classes=${jenny.home}/classes +jenny.jar=${jenny.home}/jenny.jar + +work.dir=${basedir}/temp +workspace.master=workspace.master.xml +workspace.copy=${work.dir}/workspace.xml Index: gump.workspace.properties =================================================================== RCS file: /home/cvspublic/jakarta-alexandria/proposal/antgump/gump.workspace.properties,v retrieving revision 1.1 diff -u -r1.1 gump.workspace.properties --- gump.workspace.properties 20 Apr 2001 17:56:23 -0000 1.1 +++ gump.workspace.properties 4 May 2002 13:39:32 -0000 @@ -1,15 +1,24 @@ # ----------------------------------------------- # Workspace version # ----------------------------------------------- -workspace.version = 0.2 +workspace.version = 0.3 + +# ----------------------------------------------- +# REQUIRED LIBRARIES +# ----------------------------------------------- +xalan.home=${user.home}/apache/xml/xalan-j_2_2_D9 +xalan.lib=${xalan.home}/bin +xml-apis.jar=${xalan.lib}/xml-apis.jar +xerces.jar=${xalan.lib}/xerces.jar +xalan.jar=${xalan.lib}/xalan.jar # ----------------------------------------------- # Properties for gump installation setup. # ----------------------------------------------- -gump.home = /opt/jakarta/jakarta-alexandria/proposal/gump -gump.base.dir = /home/sanders/antgump -gump.cvs.dir = /home/sanders/antgump-cvs -gump.lib.dir = /home/sanders/java +gump.home = ${user.home}/apache/jakarta/jakarta-alexandria/proposal/gump +gump.base.dir = ${user.home}/antgump +gump.cvs.dir = ${user.home}/antgump-cvs +gump.lib.dir = ${user.home}/java # ----------------------------------------------- # Properties for CVS login. Index: workspace.master.xml =================================================================== RCS file: /home/cvspublic/jakarta-alexandria/proposal/antgump/workspace.master.xml,v retrieving revision 1.1 diff -u -r1.1 workspace.master.xml --- workspace.master.xml 20 Apr 2001 17:56:23 -0000 1.1 +++ workspace.master.xml 4 May 2002 13:39:32 -0000 @@ -11,7 +11,6 @@ <project href="@GUMP_HOME@/project/jakarta-avalon-cornerstone.xml"/> <project href="@GUMP_HOME@/project/jakarta-avalon-logkit.xml"/> <project href="@GUMP_HOME@/project/jakarta-avalon-phoenix.xml"/> - <project href="@GUMP_HOME@/project/jakarta-avalon-testlet.xml"/> <project href="@GUMP_HOME@/project/jakarta-avalon.xml"/> <project href="@GUMP_HOME@/project/jakarta-commons.xml"/> <project href="@GUMP_HOME@/project/jakarta-ecs.xml"/> @@ -27,9 +26,11 @@ <project href="@GUMP_HOME@/project/jakarta-slide.xml"/> <project href="@GUMP_HOME@/project/jakarta-struts.xml"/> <project href="@GUMP_HOME@/project/jakarta-taglibs.xml"/> + <!-- <project href="@GUMP_HOME@/project/jakarta-tomcat-40.xml"/> - <!-- project href="@GUMP_HOME@/project/jakarta-tomcat-41.xml"/ --> + <project href="@GUMP_HOME@/project/jakarta-tomcat-41.xml"/> <project href="@GUMP_HOME@/project/jakarta-tomcat.xml"/> + --> <project href="@GUMP_HOME@/project/jakarta-tools.xml"/> <project href="@GUMP_HOME@/project/jakarta-turbine.xml"/> <project href="@GUMP_HOME@/project/jakarta-velocity.xml"/>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
