You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2005/06/08 17:52:30 UTC
svn commit: r189597 - /incubator/roller/trunk/build.xml
Author: snoopdave
Date: Wed Jun 8 08:52:28 2005
New Revision: 189597
URL: http://svn.apache.org/viewcvs?rev=189597&view=rev
Log:
initial commit
Added:
incubator/roller/trunk/build.xml
Added: incubator/roller/trunk/build.xml
URL: http://svn.apache.org/viewcvs/incubator/roller/trunk/build.xml?rev=189597&view=auto
==============================================================================
--- incubator/roller/trunk/build.xml (added)
+++ incubator/roller/trunk/build.xml Wed Jun 8 08:52:28 2005
@@ -0,0 +1,922 @@
+<project default="usage" name="roller">
+<!-- ********************************************************************* -->
+<!-- Ant build script for Roller main branch -->
+<!-- Author: David M Johnson -->
+<!-- ********************************************************************* -->
+<target name="usage" description="Print usage for key targets">
+<echo>
+Key Targets:
+ all - Build all: gen code, compile code, stage web directory
+ build - Same as 'all' but no code gen
+ javadoc - Run javadoc against (generated) code
+ clean - Blow away all generated code and all byte code
+ rebuild - Clean and build all
+ usage - Print this help text...
+</echo>
+</target>
+
+<!-- ================================================ -->
+<!-- Meta targets -->
+<!-- ================================================ -->
+<target name="all" depends="generate,stage-web" description="Build all">
+</target>
+<target name="build" depends="stage-web" description="Compile only, no code generation">
+</target>
+<target name="rebuild" depends="clean,all" description="Clean and build all">
+</target>
+<target name="clean" description="Clean out build directory">
+ <delete dir="./build"/>
+</target>
+
+<!-- ================================================ -->
+<!-- Properties and classpaths -->
+<!-- ================================================ -->
+
+<property file="ant.properties"/>
+<property name="build.generated" value="${ro.build}/generated"/>
+<property name="build.compile_beans" value="${ro.build}/compile_beans"/>
+<property name="build.compile_web" value="${ro.build}/compile_web"/>
+<property name="build.stage_web" value="${ro.build}/roller"/>
+<property name="build.tests" value="${ro.build}/tests"/>
+<property name="build.javadoc" value="${ro.build}/javadoc"/>
+<property name="build.velocidoc" value="${ro.build}/velocidoc"/>
+<property name="build.jspc" value="${ro.build}/jspc"/>
+<property name="build.reports" value="${ro.build}/reports"/>
+<property name="tools.struts" value="${ro.tools}/struts-1.1" />
+<property name="tools.hibernate" value="${ro.tools}/hibernate-2.1" />
+<property name="tools.jstl" value="${ro.tools}/standard-1.0.3" />
+<property name="tools.xdoclet" value="${ro.tools}/buildtime/xdoclet-1.2" />
+<property name="tools.tomcat" value="${ro.tools}/buildtime/tomcat-4.1.24" />
+<!--
+If you would like Ant to copy all the jar files that Resin needs
+into the /WEB-INF/lib, uncomment the "resinServer" property below.
+In order to run Roller properly on versions of Resin prior to 2.1.9
+you will need to uncomment the "resinFilters" and "resin.path" elements
+below. In addition, make sure to uncomment the reference to resin.path
+in the "base.path" definition.
+ -->
+<!--property name="resinServer" value="true" /-->
+<!--
+<property name="resinFilters" value="true" />
+<path id="resin.path">
+ <fileset dir="../../resin-2.1.8/lib" >
+ <include name="resin.jar" />
+ </fileset>
+</path>
+-->
+<!--path refid="resin.path" /-->
+<path id="xml.path">
+ <fileset dir="${ro.tools}/buildtime">
+ <include name="xercesImpl-2.3.0.jar"/>
+ <include name="xmlParserAPIs-2.3.0.jar"/>
+ </fileset>
+ <fileset dir="${tools.hibernate}">
+ <include name="lib/jdom.jar"/>
+ <include name="lib/dom4j-1.4.jar"/>
+ </fileset>
+</path>
+
+<!-- Dependencies common to both presentation and business layers -->
+<path id="base.path">
+ <path refid="xml.path"/>
+ <fileset dir="${ro.tools}/lib">
+ <include name="commons-cache.jar" />
+ <include name="concurrent-1.3.2.jar"/>
+ <include name="log4j-1.2.4.jar"/>
+ <include name="activation.jar"/>
+ <include name="mail.jar"/>
+ <include name="jazzy-core.jar" />
+ <include name="commons-betwixt-1.0-beta-1.jar" />
+ <include name="informa.jar"/>
+ <include name="lucene-1.4-final.jar"/>
+ <include name="commons-codec-1.1.jar" />
+ </fileset>
+ <!-- Include Commons jars from Struts -->
+ <fileset dir="${tools.struts}/lib">
+ <include name="commons-*.jar"/>
+ </fileset>
+</path>
+
+<path id="presentation.path">
+ <path refid="base.path"/>
+ <fileset dir="${tools.struts}/lib">
+ <include name="*.jar"/>
+ </fileset>
+ <fileset dir="${tools.tomcat}">
+ <include name="servlet-api.jar"/>
+ </fileset>
+ <fileset dir="${ro.tools}/lib">
+ <include name="atom4j.jar"/>
+ <include name="oscache.jar"/>
+ <include name="velocity-1.3.1.jar"/>
+ <include name="velocity-dep-1.3.1.jar"/>
+ <include name="velocity-tools-1.1-rc1.jar"/>
+ <include name="xmlrpc-1.1.jar"/>
+ </fileset>
+ <fileset dir="${ro.tools}/standard-1.0.3/lib">
+ <include name="jstl.jar"/>
+ <include name="standard.jar"/>
+ </fileset>
+</path>
+
+<path id="business.path">
+ <path refid="base.path"/>
+ <path location="${build.compile_beans}"/>
+ <fileset dir="${tools.hibernate}">
+ <include name="hibernate2.jar"/>
+ </fileset>
+ <fileset dir="${tools.hibernate}/lib">
+ <include name="*.jar"/>
+ </fileset>
+</path>
+
+<path id="javadoc.path">
+ <path refid="base.path"/>
+ <path refid="presentation.path"/>
+ <path refid="business.path"/>
+</path>
+
+<path id="xdoclet.path">
+ <path refid="presentation.path"/>
+ <path refid="business.path"/>
+ <fileset dir="${ro.tools}/buildtime/" includes="ejb-1.1.jar"/>
+ <fileset dir="${tools.xdoclet}/lib" includes="*.jar"/>
+</path>
+
+<path id="webdoclet.path">
+ <path refid="xdoclet.path"/>
+ <path location="${ro.build}/generated/src.presentation"/>
+ <path location="${ro.build}/compile_beans"/>
+ <path location="${ro.build}/compile_web"/>
+</path>
+
+<path id="junit.path">
+ <path refid="presentation.path"/>
+ <path refid="business.path"/>
+ <path location="${build.tests}" />
+ <fileset dir="${ro.tools}/buildtime/" includes="junit-3.8.1.jar"/>
+ <path location="${ro.tools}/buildtime/strutstest-2.0.0.jar"/>
+ <path location="${ro.tools}/buildtime/mockrunner-0.2.6/lib/mockrunner.jar"/>
+ <!--path location="${ro.tools}/buildtime/httpunit.jar"/-->
+</path>
+
+<!-- ********************************************************************* -->
+<!-- XDoclet code generation -->
+<!-- ********************************************************************* -->
+<target name="generate" depends="gen-forms,gen-hibernate,gen-web" >
+</target>
+
+<!-- ============================================== -->
+<!-- generate Struts forms -->
+<target name="gen-forms">
+
+ <!-- Define the XDoclet xdoclet task -->
+ <taskdef name="ejbdoclet" classname="xdoclet.modules.ejb.EjbDocletTask"
+ classpathref="xdoclet.path" />
+ <mkdir dir="${build.generated}/src.presentation"/>
+ <mkdir dir="${build.generated}/src.business"/>
+ <mkdir dir="${build.generated}/META-INF"/>
+ <mkdir dir="${ro.build}/junk"/>
+
+ <!-- Use EJBDoclet to generate Struts forms -->
+ <ejbdoclet destdir="${build.generated}/src" excludedtags="@version,@author">
+ <fileset dir="./src" includes="org/roller/pojos/**, org/roller/business/**" />
+
+ <!-- Generate Struts forms -->
+ <strutsform destdir="${build.generated}/src.presentation"
+ prefixWithPackageStructure="no"
+ templateFile="./metadata/xdoclet/struts_form.xdt">
+
+ <!-- into the org.roller.presentation.forms package -->
+ <packageSubstitution packages="pojos"
+ substituteWith="presentation.forms"/>
+ <packageSubstitution packages="presentation"
+ substituteWith="presentation.forms"/>
+ </strutsform>
+
+ <!-- We are not actually generating data objects, but using the
+ dataobject subtask allows the strutsform subtask to add nice
+ Adds nice constructors and setData methods to Struts forms -->
+ <dataobject destdir="${ro.build}/junk" pattern="{0}" />
+
+ </ejbdoclet>
+
+ <copy todir="./personal/testing">
+ <fileset dir="${build.generated}" includes="mapping.xml"/>
+ </copy>
+
+ <!-- Change Struts form names from *DataForm.java to *Form.java -->
+ <replace dir="${build.generated}/src.presentation/org/roller/presentation/forms"
+ token="DataForm" value="Form"/>
+ <move todir="${build.generated}/src.presentation/org/roller/presentation/forms">
+ <fileset dir="${build.generated}/src.presentation/org/roller/presentation/forms" >
+ <include name="*DataForm.java"/>
+ <include name="*ConfigForm.java" />
+ </fileset>
+ <mapper type="glob" from="*DataForm.java" to="*Form.java"/>
+ </move>
+
+</target>
+
+<!-- ============================================== -->
+<!-- generate Hibernate mappings -->
+<target name="gen-hibernate" >
+
+ <taskdef name="hibernatedoclet"
+ classname="xdoclet.modules.hibernate.HibernateDocletTask"
+ classpathref="xdoclet.path" />
+
+ <!-- generate hibernate files -->
+ <hibernatedoclet
+ destdir="${build.compile_beans}"
+ mergedir="./metadata/xdoclet"
+ excludedtags="@version,@author"
+ addedtags="@xdoclet-generated at ${TODAY}"
+ force="true">
+ <fileset dir="./src"/>
+ <hibernate validatexml="true" version="2.0"/>
+ </hibernatedoclet>
+
+</target>
+
+<!-- ============================================== -->
+<!-- Generate web deployment descriptors -->
+<target name="gen-web" >
+
+ <!-- Define the XDoclet webdoclet task -->
+ <taskdef name="webdoclet" classname="xdoclet.modules.web.WebDocletTask"
+ classpathref="xdoclet.path" />
+
+ <!-- Use WebDoclet to web.xml, struts-config.xml, and TLDs -->
+ <mkdir dir="${build.stage_web}/WEB-INF"/>
+ <mkdir dir="${build.compile_web}/META-INF/tlds"/>
+
+ <webdoclet force="true"
+ destdir="${build.stage_web}/WEB-INF"
+ mergedir="./metadata/xdoclet"
+ excludedtags="@version,@author">
+
+ <fileset dir="./src">
+ <include name="**/**" />
+ <exclude name="**/LinkTag**" />
+ <exclude name="**/LinkParamTag**" />
+ </fileset>
+ <fileset dir="${build.generated}/src.presentation">
+ <include name="**/**" />
+ </fileset>
+
+ <deploymentdescriptor servletspec="2.3"
+ destdir="${build.stage_web}/WEB-INF"
+ sessiontimeout="30"
+ displayname="Roller Weblogger">
+ </deploymentdescriptor>
+
+ <jsptaglib jspversion="1.2" filename="roller.tld" shortname="roller"
+ uri="http://www.rollerweblogger.org/tags"
+ destdir="${build.compile_web}/META-INF/tlds"/>
+
+ <strutsconfigxml destdir="${build.stage_web}/WEB-INF"
+ validatexml="true" mergedir="./metadata/xdoclet" version="1.1" />
+ <strutsvalidationxml/>
+
+ </webdoclet>
+
+</target>
+
+<!-- ********************************************************************* -->
+<!-- Compile and jar Business Tier classes -->
+<!-- ********************************************************************* -->
+<target name="build-beans">
+ <mkdir dir="${ro.build}/lib"/>
+ <mkdir dir="${build.compile_beans}"/>
+
+ <tstamp>
+ <format property="ro.buildTime" pattern="yyyyMMddhhmmss" />
+ </tstamp>
+
+ <echo file="${build.compile_beans}/version.properties">
+ro.version=${ro.version}
+ro.buildTime=${ro.buildTime}
+ro.buildUser=${user.name}
+ </echo>
+
+ <javac debug="${build.debug}" srcdir="./src" destdir="${build.compile_beans}"
+ excludes="org/roller/presentation/**">
+ <classpath>
+ <path refid="business.path"/>
+ </classpath>
+ </javac>
+ <!-- Copy class resources -->
+ <copy todir="${build.compile_beans}/org/roller/model">
+ <fileset dir="${build.generated}/src.business" includes="*.hbm.xml"/>
+ </copy>
+ <!-- Jar up the beans -->
+ <jar basedir="${build.compile_beans}"
+ jarfile="${ro.build}/lib/rollerbeans.jar"/>
+
+</target>
+
+<!-- For versions of Resin before 2.1.9 we have to turn the
+ HttpServletResponseWrapper into a CauchoResponseWrapper. We have
+ to do away with the original or there will be compile errors. -->
+<target name="prepare.resin" if="resinFilters">
+ <echo>Convert HttpServletResponseWrappers to CauchoResponseWrappers</echo>
+ <replace dir="./src"
+ token="extends HttpServletResponseWrapper"
+ value="extends com.caucho.http.filter.CauchoResponseWrapper" />
+ <replace file="${build.stage_web}/WEB-INF/web.xml"
+ token="<!-- RESIN-CACHE -->" >
+ <replacevalue><![CDATA[
+ <init-param>
+ <param-name>handler</param-name>
+ <param-value>CommonsPageCache</param-value>
+ </init-param>
+ ]]></replacevalue>
+ </replace>
+
+</target>
+
+<!-- Now that the compilation is done, undo the damage from prepare.resin -->
+<target name="undo.resin" if="resinFilters">
+ <echo>Convert CauchoResponseWrappers to HttpServletResponseWrappers</echo>
+ <replace dir="./src"
+ value="extends HttpServletResponseWrapper"
+ token="extends com.caucho.http.filter.CauchoResponseWrapper" />
+
+</target>
+
+<!-- ********************************************************************* -->
+<!-- Compile and jar Presentation Tier classes -->
+<!-- ********************************************************************* -->
+<target name="build-web" depends="build-beans" >
+
+ <mkdir dir="${build.compile_web}"/>
+ <antcall target="prepare.resin" />
+ <javac debug="${build.debug}" destdir="${build.compile_web}"
+ includes="org/roller/presentation/**">
+ <src path="./src" />
+ <src path="${build.generated}/src.presentation"/>
+ <classpath>
+ <path refid="presentation.path"/>
+ <path location="${build.compile_beans}"/>
+ </classpath>
+ </javac>
+ <copy todir="${build.compile_web}">
+ <fileset dir="./src">
+ <include name="**/*.properties"/>
+ <include name="**/*.tpl"/>
+ <include name="**/*.vm"/>
+ </fileset>
+ </copy>
+ <!-- Generate and compile JSP files (just as an error checking measure)
+ <mkdir dir="${build.jspc}"/>
+ <path id="jspc.classpath">
+ <path refid="presentation.path"/>
+ <path location="${build.compile_beans}"/>
+ <path location="${build.compile_web}"/>
+ <path location="${ro.tools}/lib/ant-1.5.1.jar"/>
+ <path location="${ro.tools}/lib/ant-optional-1.5.1.jar"/>
+ <path location="${ro.tools}/lib/jasper-compiler.jar"/>
+ <path location="${ro.tools}/lib/jasper-runtime.jar"/>
+ </path>
+ <jspc srcdir="./web" destdir="${build.jspc}"
+ classpathref="jspc.classpath">
+ </jspc>
+ <javac srcdir="${build.jspc}" destdir="${build.jspc}"
+ classpathref="jspc.classpath">
+ </javac> -->
+
+ <antcall target="undo.resin" />
+
+</target>
+
+<!-- ********************************************************************* -->
+<!-- Stage web resources: allows us to work on JSP's without restarts -->
+<!-- ********************************************************************* -->
+<target name="copy-web">
+ <!-- Copy web contents to staging, plus README files. -->
+ <copy todir="${build.stage_web}">
+ <fileset dir="./web">
+ <include name="**/*"/>
+ <exclude name="**/codewright*/**"/>
+ <exclude name="**/CVS/**"/>
+ <exclude name="**/*.bak"/>
+ <exclude name="**/*~"/>
+ <exclude name="**/berkley/**"/> <!-- not ready yet -->
+ </fileset>
+ <fileset dir=".">
+ <include name="README.txt"/>
+ <include name="LICENSE.txt"/>
+ <include name="CHANGES.txt"/>
+ </fileset>
+ </copy>
+</target>
+
+<!-- ********************************************************************* -->
+<!-- Stage web application -->
+<!-- ********************************************************************* -->
+<target name="stage-web" depends="build-web">
+
+ <mkdir dir="${build.stage_web}/resources"/>
+ <mkdir dir="${build.stage_web}/WEB-INF/lib"/>
+ <mkdir dir="${build.stage_web}/WEB-INF/tlds"/>
+
+ <!-- Jar up web classes -->
+ <jar jarfile="${build.stage_web}/WEB-INF/lib/rollerweb.jar">
+ <fileset dir="${build.compile_web}" excludes="**/tomcat/**"/>
+ </jar>
+
+ <!-- Copy web contents to staging, plus README files. -->
+ <antcall target="copy-web" />
+
+ <!-- Copy database configs to classpath in staging -->
+ <copy todir="${build.stage_web}/WEB-INF/classes">
+ <fileset dir="./metadata/database/hibernate" includes="hibernate.properties"/>
+ <fileset dir="${ro.tools}/lib" includes="oscache.properties"/>
+ </copy>
+
+ <!-- Copy WEB-INF contents to staging -->
+ <copy todir="${build.stage_web}/WEB-INF">
+ <fileset dir="${build.generated}" includes="mapping.xml"/>
+ <fileset dir="${tools.struts}/lib" includes="validator-rules.xml"/>
+ </copy>
+
+ <!-- Copy other jars -->
+ <copy todir="${build.stage_web}/WEB-INF/lib">
+ <fileset dir="${ro.build}/lib" includes="rollerbeans.jar"/>
+ <fileset dir="${tools.hibernate}">
+ <include name="hibernate2.jar"/>
+ </fileset>
+ <fileset dir="${tools.hibernate}/lib">
+ <include name="*.jar"/>
+ </fileset>
+
+ <fileset dir="${ro.tools}/lib">
+ <include name="commons-betwixt-1.0-beta-1.jar"/>
+ <include name="commons-cache.jar"/>
+ <include name="commons-codec-1.1.jar"/>
+ <include name="display.jar"/>
+ <include name="informa.jar"/>
+ <include name="jazzy-core.jar"/>
+ <include name="JSPWiki.jar" />
+ <include name="log4j-1.2.4.jar"/>
+ <include name="textile4j-1.10.jar" />
+ <include name="velocity-1.3.1.jar"/>
+ <include name="velocity-dep-1.3.1.jar"/>
+ <include name="velocity-tools-1.1-rc1.jar"/>
+ <include name="xmlrpc-1.1.jar"/>
+ <include name="taglibs-string.jar" />
+ <include name="lucene-1.4-final.jar" />
+ <include name="concurrent-1.3.2.jar"/>
+ <include name="oscache.jar"/>
+ <include name="mail.jar" />
+ <include name="activation.jar" />
+ <!-- <include name="radeox.jar" /> -->
+ <!-- <include name="jython.jar" /> -->
+ <include name="atom4j.jar"/>
+ <!-- <include name="jta-spec1_0_1.jar"/> -->
+
+ <!-- Jars that are only used in the Resin version -->
+ <include name="mm.mysql-2.0.14-bin.jar" if="resinServer"/>
+ </fileset>
+ <fileset dir="${ro.tools}/buildtime">
+ <include name="xercesImpl-2.3.0.jar" if="resinServer"/>
+ <include name="xmlParserAPIs-2.3.0.jar" if="resinServer"/>
+ </fileset>
+ <fileset dir="${ro.tools}/standard-1.0.3/lib">
+ <include name="jstl.jar"/>
+ <include name="standard.jar"/>
+ </fileset>
+ <!-- Copy Struts last so Struts jars win over same jars provided by other tools -->
+ <fileset dir="${tools.struts}/lib">
+ <include name="struts.jar"/>
+ <include name="commons-beanutils.jar"/>
+ <include name="commons-collections.jar"/>
+ <include name="commons-digester.jar"/>
+ <include name="commons-fileupload.jar"/>
+ <include name="commons-lang.jar"/>
+ <include name="commons-logging.jar"/>
+ <include name="commons-validator.jar"/>
+ <include name="jakarta-oro.jar"/>
+ </fileset>
+
+ </copy>
+ <!-- Copy DTDs and TLDs -->
+ <copy todir="${build.stage_web}/WEB-INF/tlds">
+ <fileset dir="${ro.tools}/lib" includes="*.tld"/>
+ </copy>
+ <!-- Copy applet jars to root of servlet context -->
+ <copy todir="${build.stage_web}">
+ <fileset dir="${ro.tools}/lib">
+ <include name="ekitapplet.jar"/>
+ </fileset>
+ </copy>
+ <!-- copy database related files -->
+ <antcall target="stage-dbscripts" />
+
+ <ant dir="contrib" />
+
+</target>
+
+<!-- ********************************************************************* -->
+<!-- Create different versions of database setup script -->
+<!-- With this approach we won't have to expand the script all the time. -->
+<!-- ********************************************************************* -->
+<target name="stage-dbscripts">
+ <property name="dbscripts" value="${build.stage_web}/WEB-INF/dbscripts"/>
+
+ <!-- Create database creation script directory -->
+ <mkdir dir="${dbscripts}"/>
+ <copy todir="${dbscripts}">
+ <fileset dir="./metadata/database" includes="droptables.sql"/>
+ </copy>
+
+ <copy
+ file="./web/WEB-INF/database.xml"
+ tofile="${build.stage_web}/WEB-INF/database.xml" />
+
+ <!-- MYSQL -->
+ <copy toDir="${dbscripts}/mysql">
+ <fileset dir="./metadata/database">
+ <include name="*.sql" />
+ <exclude name="droptables.sql" />
+ </fileset>
+ <filterset>
+ <filtersfile file="./metadata/database/db_mysql.properties"/>
+ </filterset>
+ <mapper type="glob" from="*-raw.sql" to="*.sql" />
+ </copy>
+
+ <!-- POSTGRESQL -->
+ <copy toDir="${dbscripts}/postgresql">
+ <fileset dir="./metadata/database">
+ <include name="*.sql" />
+ <exclude name="droptables.sql" />
+ </fileset>
+ <filterset>
+ <filtersfile file="./metadata/database/db_postgresql.properties"/>
+ </filterset>
+ <mapper type="glob" from="*-raw.sql" to="*.sql" />
+ </copy>
+
+ <!-- HSQL -->
+ <copy toDir="${dbscripts}/hsql">
+ <fileset dir="./metadata/database">
+ <include name="*.sql" />
+ <exclude name="droptables.sql" />
+ </fileset>
+ <filterset>
+ <filtersfile file="./metadata/database/db_hsql.properties"/>
+ </filterset>
+ <mapper type="glob" from="*-raw.sql" to="*.sql" />
+ </copy>
+
+</target>
+
+<!-- ********************************************************************* -->
+<!-- Build extras -->
+<!-- ********************************************************************* -->
+<target name="contrib" depends="stage-web">
+ <ant dir="contrib" />
+</target>
+
+<!-- ********************************************************************* -->
+<!-- Generate Javadocs -->
+<!-- ********************************************************************* -->
+<target name="javadoc">
+ <mkdir dir="${build.javadoc}"/>
+ <javadoc
+ bottom="Copyright (C) David M Johnson"
+ classpathref="javadoc.path"
+ destdir="${build.javadoc}"
+ doctitle="Javadocs: Roller Weblogger ${ro.version}"
+ private="false"
+ version="false"
+ windowtitle="Javadocs: Roller Weblogger ${ro.version}">
+ <sourcepath>
+ <pathelement path="./src"/>
+ <pathelement path="${ro.build}/generated/src.business"/>
+ <pathelement path="${ro.build}/generated/src.presentation"/>
+ </sourcepath>
+ <packageset dir="src" defaultexcludes="yes">
+ <include name="org/roller/**" />
+ <exclude name="org/roller/business/prevayler/**" />
+ </packageset>
+ <link href="http://java.sun.com/j2se/1.4/docs/api/"/>
+ <link href="http://java.sun.com/products/servlet/2.3/javadoc/"/>
+ <link href="http://jakarta.apache.org/struts/doc-1.0.2/api"/>
+ <link href="http://hibernate.bluemars.net/hib_docs/api/"/>
+ </javadoc>
+
+ <antcall target="velocidoc" />
+</target>
+<target name="velocidoc">
+ <mkdir dir="${build.velocidoc}"/>
+ <java jar="${ro.tools}/lib/velocidoc-app.jar">
+ <arg line="-s ${ro.build}/roller/WEB-INF/classes -d ${build.velocidoc}"/>
+ </java>
+</target>
+
+<!-- ********************************************************************* -->
+<!-- Create Binary Release -->
+<!-- ********************************************************************* -->
+
+<target name="full-release" depends="binary-release">
+</target>
+
+<target name="binary-release" depends="source-release">
+ <!-- Substitute in resource ref for deployment for standard container -->
+ <replace file="${build.stage_web}/WEB-INF/web.xml"
+ token="<!-- TOMCAT_RESOURCE_REF -->">
+ <replacevalue><![CDATA[
+ <resource-ref>
+ <res-ref-name>jdbc/rollerdb</res-ref-name>
+ <res-type>javax.sql.DataSource</res-type>
+ <res-auth>Container</res-auth>
+ </resource-ref>
+ ]]></replacevalue>
+ </replace>
+ <fixcrlf srcdir="${build.stage_web}/WEB-INF" eol="lf" includes="**/*.xml" />
+ <!-- Tar and GZip the webapp -->
+ <tar tarfile="${ro.build}/roller-${ro.version}.tar"
+ basedir="${ro.build}"
+ includes="roller/**"
+ excludes="roller/article/**,**/*.bak,**/*~" />
+ <gzip zipfile="${ro.build}/roller-${ro.version}.tar.gz"
+ src="${ro.build}/roller-${ro.version}.tar" />
+ <delete>
+ <fileset dir="${ro.build}" includes="*.tar"/>
+ </delete>
+
+</target>
+
+<!-- ********************************************************************* -->
+<!-- Create Source Release -->
+<!-- ********************************************************************* -->
+<target name="source-release" depends="contrib">
+ <!-- <antcall target="rebuild"/> -->
+ <!-- Tar and GZip the sources -->
+ <tar tarfile="${ro.build}/roller-src-${ro.version}.tar">
+ <tarfileset dir="./src/../..">
+ <include name="roller/metadata/**" />
+ <include name="roller/personal/eclipse/**" />
+ <include name="roller/personal/sample.build.xml" />
+ <include name="roller/src/**" />
+ <include name="roller/tests/**" />
+ <include name="roller/web/**" />
+ <include name="roller/docs/**" />
+ <exclude name="roller/docs/installguide/old/**"/>
+ <exclude name="roller/docs/userguide/old/**"/>
+ <include name="roller/ant.properties" />
+ <include name="roller/build.bat" />
+ <include name="roller/build.sh" />
+ <include name="roller/build.xml" />
+ <include name="roller/CHANGES.txt" />
+ <include name="roller/LICENSE.txt" />
+ <include name="roller/README.txt" />
+ <exclude name="**/codewright*/**"/>
+ <exclude name="**/CVS/**"/>
+ <exclude name="**/*.bak"/>
+ <exclude name="**/*-hide"/>
+ <exclude name="**/*.diff"/>
+ <exclude name="**/*.patch"/>
+ <exclude name="**/*~"/>
+ <exclude name="**/*.#*"/>
+ <exclude name="**/WS_FTP.LOG"/>
+ <exclude name="**/.nbattrs"/>
+ </tarfileset>
+ </tar>
+ <gzip zipfile="${ro.build}/roller-src-${ro.version}.tar.gz"
+ src="${ro.build}/roller-src-${ro.version}.tar" />
+ <!-- Tar and GZip the tools -->
+ <tar tarfile="${ro.build}/roller-tools-${ro.version}.tar"
+ basedir="./src/../.."
+ includes="roller/tools/**"
+ excludes="**/*.bak,**/*~" />
+ <gzip zipfile="${ro.build}/roller-tools-${ro.version}.tar.gz"
+ src="${ro.build}/roller-tools-${ro.version}.tar" />
+ <delete>
+ <fileset dir="${ro.build}" includes="*.tar"/>
+ </delete>
+
+</target>
+
+<!-- ********************************************************************* -->
+<!-- TEST targets -->
+<!-- ********************************************************************* -->
+<target name="build-test" depends="build">
+
+ <mkdir dir="${build.tests}" />
+ <javac
+ srcdir="${basedir}/tests"
+ destdir="${build.tests}"
+ includeantruntime="false"
+ debug="true"
+ optimize="false"
+ verbose="false"
+ deprecation="false">
+ <classpath>
+ <path location="${ro.build}/compile_beans" />
+ <path location="${ro.build}/compile_web" />
+ <path location="${ro.build}/compile_contrib" />
+ <path refid="junit.path"/>
+ </classpath>
+ <include name="org/roller/business/**" />
+ <include name="org/roller/presentation/**" />
+ <include name="org/roller/util/**" />
+ <exclude name="**/prevayler/**.java" />
+ </javac>
+
+</target>
+
+<target name="tests" depends="build" >
+ <antcall target="test-hibernate"/>
+</target>
+
+<target name="test-servlets" depends="build-test" >
+ <copy file="${basedir}/tests/bookmarks.opml"
+ tofile="${ro.build}/bookmarks2.opml" />
+ <copy file="./personal/testing/hibernate.properties"
+ tofile="${ro.build}/compile_beans/hibernate.properties" />
+ <copy file="${basedir}/web/WEB-INF/classes/log4j.properties"
+ tofile="${ro.build}/compile_beans/log4j.properties" />
+ <copy file="${basedir}/web/WEB-INF/velocity.properties"
+ tofile="${ro.build}/compile_beans/velocity.properties" />
+ <mkdir dir="${build.reports}/servlets/xml"/>
+ <mkdir dir="${build.reports}/servlets/html"/>
+ <junit fork="true">
+ <batchtest toDir="${build.reports}/servlets/xml">
+ <fileset dir="${build.tests}">
+ <include name="org/roller/presentation/**/*Test.class"/>
+ </fileset>
+ </batchtest>
+ <!--arg value="org.roller.presentation.velocity.ExportRssTest"/-->
+ <jvmarg value="-DrollerImpl=hibernate"/>
+ <formatter type="xml"/>
+ <classpath>
+ <path refid="junit.path"/>
+ <path location="${build.stage_web}" />
+ <path location="${build.stage_web}/WEB-INF/classes/" />
+ <path>
+ <fileset dir="${build.stage_web}/WEB-INF/lib">
+ <include name="*.jar"/>
+ </fileset>
+ </path>
+ <path location="${ro.tools}/lib/mm.mysql-2.0.14-bin.jar"/>
+ <path location="${ro.tools}/lib/servlet-2.3.jar"/>
+ </classpath>
+ </junit>
+ <junitreport>
+ <fileset dir="${build.reports}/servlets/xml">
+ <include name="TEST-*.xml"/>
+ </fileset>
+ <report format="noframes" toDir="${build.reports}/servlets/html"/>
+ </junitreport>
+ <delete file="bookmarks2.opml" />
+</target>
+
+<target name="test-hibernate" depends="build-test" >
+ <copy file="${basedir}/tests/bookmarks.opml"
+ tofile="${ro.build}/compile_beans/bookmarks2.opml" />
+ <copy file="./personal/testing/hibernate.properties"
+ tofile="${ro.build}/compile_beans/hibernate.properties" />
+ <copy file="${basedir}/web/WEB-INF/classes/log4j.properties"
+ tofile="${ro.build}/compile_beans/log4j.properties" />
+ <copy file="${basedir}/web/WEB-INF/velocity.properties"
+ tofile="${ro.build}/compile_beans/velocity.properties" />
+ <mkdir dir="${build.reports}/hibernate/xml"/>
+ <mkdir dir="${build.reports}/hibernate/html"/>
+ <junit fork="true">
+ <classpath>
+ <path refid="xml.path"/>
+ <path refid="junit.path"/>
+ <path refid="business.path"/>
+ <path location="${ro.build}/compile_web" />
+ <path location="${ro.build}/compile_beans" />
+ <path location="${ro.tools}/lib/mm.mysql-2.0.14-bin.jar"/>
+ </classpath>
+ <formatter type="xml"/>
+ <batchtest toDir="${build.reports}/hibernate/xml">
+ <fileset dir="${build.tests}">
+ <include name="org/roller/business/*Test.class"/>
+ </fileset>
+ </batchtest>
+ </junit>
+ <junitreport>
+ <fileset dir="${build.reports}/hibernate/xml">
+ <include name="TEST-*.xml"/>
+ </fileset>
+ <report format="noframes" toDir="${build.reports}/hibernate/html"/>
+ </junitreport>
+ <!-- I would recommend running this. But since it has a warning...
+ <antcall target="consistency-check">
+ <param name="delete" value="1"/>
+ </antcall>
+ -->
+ <echo>Suggested: Run "ant consistency-check".</echo>
+</target>
+
+<!-- You can specify testClass using -DtestClass=foo -->
+<property name="testClass" value="org.roller.presentation.velocity.plugins.smileys.SmileysTest"/>
+<target name="test-one" depends="build-test">
+ <copy file="${basedir}/tests/bookmarks.opml"
+ tofile="${ro.build}/compile_beans/bookmarks2.opml" />
+ <copy file="./personal/testing/hibernate.properties"
+ tofile="${ro.build}/compile_beans/hibernate.properties" />
+ <copy file="${basedir}/web/WEB-INF/classes/log4j.properties"
+ tofile="${ro.build}/compile_beans/log4j.properties" />
+ <copy file="${basedir}/web/WEB-INF/velocity.properties"
+ tofile="${ro.build}/compile_beans/velocity.properties" />
+
+ <java classname="junit.textui.TestRunner" fork="yes" failonerror="false">
+ <arg value="${testClass}"/>
+ <classpath>
+ <path refid="junit.path"/>
+ <path location="${build.stage_web}" />
+ <path location="${build.stage_web}/WEB-INF/classes/" />
+ <path>
+ <fileset dir="${build.stage_web}/WEB-INF/lib">
+ <include name="*.jar"/>
+ </fileset>
+ </path>
+ <path location="${ro.tools}/lib/mm.mysql-2.0.14-bin.jar"/>
+ <path location="${ro.tools}/lib/servlet-2.3.jar"/>
+ </classpath>
+ </java>
+</target>
+
+<!-- ********************************************************************* -->
+<!-- EXAMPLE targets -->
+<!-- ********************************************************************* -->
+<target name="deploy-tomcat" depends="stage-web" >
+ <ant dir="./personal" target="deploy-tomcat" />
+</target>
+<target name="deploy-resin" depends="stage-web" >
+ <ant dir="./personal" target="deploy-resin" />
+</target>
+<target name="deploy-isp" depends="stage-web" >
+ <ant dir="./personal" target="deploy-isp" />
+</target>
+<target name="clean-isp">
+ <ant dir="./personal" target="clean-isp" />
+</target>
+
+<!-- ********************************************************************* -->
+<!-- EXPERIMENTAL targets -->
+<!-- ********************************************************************* -->
+<!-- EXPERIMENTAL: Run ConsistencyCheck. -->
+<target name="consistency-check">
+<echo>Use -Ddelete=1 to delete all orphans.
+Use -Dverbose=1 to get verbose output.
+'delete' and 'verbose' are exclusive, 'delete' wins.
+</echo>
+ <condition property="command" value="-v">
+ <isset property="verbose" />
+ </condition>
+ <condition property="command" value="-d">
+ <isset property="delete" />
+ </condition>
+ <java classname="org.roller.business.utils.ConsistencyCheck" fork="yes">
+ <arg value="${command}"/>
+ <jvmarg value="-Dusername=roller"/>
+ <jvmarg value="-Dpassword=tiger"/>
+ <classpath>
+ <path refid="base.path"/>
+ <path location="${ro.build}/lib/rollerbeans.jar"/>
+ <path location="${ro.tools}/lib/mm.mysql-2.0.14-bin.jar"/>
+ </classpath>
+ </java>
+</target>
+
+<!-- =================================================================== -->
+<!-- Compiles JSPs (verifies that they will compile when deployed -->
+<!-- =================================================================== -->
+<target name="compile-jsps" depends="stage-web">
+ <path id="jasper.path">
+ <path location="${build.stage_web}/WEB-INF/classes" />
+ <fileset dir="${build.stage_web}/WEB-INF/lib">
+ <include name="**/*.jar"/>
+ </fileset>
+ <fileset dir="${ro.tools}/tomcat-4.1.24">
+ <include name="*.jar"/>
+ </fileset>
+ <fileset dir="${ro.tools}/lib">
+ <include name="servlet-*.jar"/>
+ <include name="ant-*.jar"/>
+ </fileset>
+ </path>
+ <mkdir dir="${ro.build}/jspc"/>
+ <jspc srcdir="${build.stage_web}" destdir="${ro.build}/jspc"
+ package="test" verbose="9">
+ <include name="**/*.jsp" />
+ <classpath refid="jasper.path"/>
+ </jspc>
+ <mkdir dir="${ro.build}/jspc.classes"/>
+ <javac source="1.4" debug="true" srcdir="${ro.build}/jspc"
+ destdir="${ro.build}/jspc.classes" fork="true">
+ <classpath refid="jasper.path"/>
+ </javac>
+
+</target>
+
+</project>