update to older Venice sources to modernize things - revamped the build system

using techniques from newer Dynamo version, allow source to compile and work
using newer versions of J2SDK, Tomcat, BSF, other libraries; bugfixes to get
everything running in a newer environment
This commit is contained in:
Eric J. Bowersox
2004-03-08 05:13:29 +00:00
parent 281df572b8
commit 372f548f7f
38 changed files with 1003 additions and 584 deletions
+112 -37
View File
@@ -8,26 +8,88 @@
WARRANTY OF ANY KIND, either express or implied. See the License for the specific
language governing rights and limitations under the License.
The Original Code is the Venice Web Community System.
The Original Code is the Venice Web Communities System.
The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
Copyright (C) 2001-04 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
Contributor(s):
-->
<project name="Venice" default="compile" basedir=".">
<!-- Adapted from default Ant buildfile - EJB 12/29/Y2K -->
<project name="Venice" default="compile">
<!-- Global property names -->
<property name="app.name" value="venice"/>
<property name="deploy.home" value="/home/erbo/venice"/>
<property name="dist.home" value="${deploy.home}"/>
<property name="dist.src" value="${app.name}.jar"/>
<property name="dist.war" value="${app.name}.war"/>
<!-- ============================================================================
Load build properties
============================================================================ -->
<property file="build.properties"/>
<!-- ============================================================================
Default build properties
============================================================================ -->
<!-- [Compilation control flags] -->
<property name="compile.debug" value="on"/>
<property name="compile.deprecation" value="on"/>
<property name="compile.optimize" value="off"/>
<property name="build.compiler" value="modern"/>
<!-- [Target directories] -->
<property name="deploy.home" value="../venice"/>
<property name="javadoc.home" value="${deploy.home}/javadoc"/>
<!-- Build the base directories that fastupdate requires. -->
<!-- [Location of Servlet API 2.3] -->
<property name="servlet.base" value="../servletapi"/>
<property name="servlet.lib" value="${servlet.base}/lib"/>
<property name="servlet.jarfile" value="servlet.jar"/>
<!-- [Location of Commons Collections Library 2.1] -->
<property name="collections.base" value="../commons-collections"/>
<property name="collections.lib" value="${collections.base}"/>
<property name="collections.jarfile" value="commons-collections.jar"/>
<!-- [Location of Jakarta Regexp Library 1.3] -->
<property name="regexp.base" value="../jakarta-regexp"/>
<property name="regexp.lib" value="${regexp.base}"/>
<property name="regexp.jarfile" value="jakarta-regexp-1.3.jar"/>
<!-- [Location of Log4J 1.2.8] -->
<property name="log4j.base" value="../log4j"/>
<property name="log4j.lib" value="${log4j.base}/dist/lib"/>
<property name="log4j.jarfile" value="log4j-1.2.8.jar"/>
<!-- [Location of Bean Scripting Framework 2.3] -->
<property name="bsf.base" value="../bsf"/>
<property name="bsf.lib" value="${bsf.base}/lib"/>
<property name="bsf.jarfile" value="bsf.jar"/>
<!-- [Location of Jacl 1.3.1] -->
<property name="jacl.base" value="../jacl"/>
<property name="jacl.lib" value="${jacl.base}"/>
<property name="jacl.jarfile" value="jacl.jar"/>
<property name="jacl.tcljarfile" value="tcljava.jar"/>
<!-- [Location of Rhino 1.5R4.1] -->
<property name="rhino.base" value="../rhino"/>
<property name="rhino.lib" value="${rhino.base}"/>
<property name="rhino.jarfile" value="js.jar"/>
<!-- ============================================================================
Path references
============================================================================ -->
<path id="base.build.path">
<fileset dir="${servlet.lib}" includes="${servlet.jarfile}"/>
<fileset dir="${collections.lib}" includes="${collections.jarfile}"/>
<fileset dir="${regexp.lib}" includes="${regexp.jarfile}"/>
<fileset dir="${log4j.lib}" includes="${log4j.jarfile}"/>
<fileset dir="${bsf.lib}" includes="${bsf.jarfile}"/>
</path>
<!-- ============================================================================
"mkbasedirs" - Creates the base directories for "fastupdate"
============================================================================ -->
<target name="mkbasedirs">
<mkdir dir="${deploy.home}"/>
<mkdir dir="${deploy.home}/WEB-INF"/>
@@ -35,7 +97,11 @@
<mkdir dir="${deploy.home}/WEB-INF/rpcscripts"/>
</target>
<!-- Copy everything to the application directory that can be updated without a restart. -->
<!-- ============================================================================
"fastupdate" - Copies everything to the deployment directory that can be
copied without a restart.
============================================================================ -->
<target name="fastupdate" depends="mkbasedirs">
<copy todir="${deploy.home}"> <!-- this copies all the JSP files and stuff -->
<fileset dir="web"/>
@@ -48,7 +114,11 @@
</copy>
</target>
<!-- Prepare directory for build (copy everything that requires a restart to take effect) -->
<!-- ============================================================================
"prepare" - Prepare directory for build (copy everything that requires a
restart to take effect)
============================================================================ -->
<target name="prepare" depends="mkbasedirs">
<copy todir="${deploy.home}/WEB-INF">
<fileset dir="etc">
@@ -60,9 +130,13 @@
<mkdir dir="${deploy.home}/WEB-INF/classes"/>
<mkdir dir="${deploy.home}/WEB-INF/lib"/>
<copy todir="${deploy.home}/WEB-INF/lib">
<fileset dir="lib">
<include name="*.jar"/>
</fileset>
<fileset dir="${collections.lib}" includes="${collections.jarfile}"/>
<fileset dir="${regexp.lib}" includes="${regexp.jarfile}"/>
<fileset dir="${log4j.lib}" includes="${log4j.jarfile}"/>
<fileset dir="${bsf.lib}" includes="${bsf.jarfile}"/>
<!-- <fileset dir="${jacl.lib}" includes="${jacl.jarfile}, ${jacl.tcljarfile}"/> -->
<fileset dir="${rhino.lib}" includes="${rhino.jarfile}"/>
<fileset dir="lib" includes="*.jar"/>
</copy>
<mkdir dir="${deploy.home}/WEB-INF/tlds"/>
<copy todir="${deploy.home}/WEB-INF/tlds">
@@ -74,19 +148,16 @@
<mkdir dir="${javadoc.home}"/>
</target>
<!-- Wipe out the deployment directory -->
<target name="clean">
<delete dir="${deploy.home}"/>
</target>
<!-- ============================================================================
"compile" - Compile all the Java source
============================================================================ -->
<!-- Compile all the Java source -->
<target name="compile" depends="prepare,fastupdate">
<javac srcdir="src" destdir="${deploy.home}/WEB-INF/classes" debug="on" optimize="off" deprecation="on">
<target name="compile" depends="prepare, fastupdate">
<javac srcdir="src" destdir="${deploy.home}/WEB-INF/classes"
debug="${compile.debug}" optimize="${compile.optimize}" deprecation="${compile.deprecation}">
<classpath>
<fileset dir="${deploy.home}/WEB-INF/lib">
<include name="**/*.jar"/>
</fileset>
<pathelement location="${deploy.home}/WEB-INF/classes"/>
<path refid="base.build.path"/>
</classpath>
</javac>
<copy todir="${deploy.home}/WEB-INF/classes">
@@ -94,22 +165,26 @@
</copy>
</target>
<!-- Create Javadocs -->
<!-- ============================================================================
"javadoc" - Create Javadocs
============================================================================ -->
<target name="javadoc" depends="mkbasedirs,prepare">
<javadoc sourcepath="src" packagenames="*" destdir="${javadoc.home}"/>
</target>
<!-- Build it all, man -->
<target name="all" depends="clean,mkbasedirs,prepare,fastupdate,compile,javadoc"/>
<!-- ============================================================================
"clean" - Cleans up all stuff that was built
============================================================================ -->
<!-- Build the distribution .WAR file and JAR up the source code -->
<target name="dist" depends="mkbasedirs,prepare,fastupdate,compile">
<jar jarfile="${dist.home}/${dist.src}" basedir="."/>
<jar jarfile="${dist.home}/${dist.war}" basedir="${deploy.home}"/>
<target name="clean">
<delete dir="${deploy.home}"/>
</target>
<!-- ============================================================================
"all" - Build entire project
============================================================================ -->
<target name="all" depends="clean,mkbasedirs,prepare,fastupdate,compile,javadoc"/>
</project>