<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You 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.
-->
<project default="run-webapp" basedir="." name="run-webapp">
  <target name="project.webapp.defined" unless="project.webapp">
    <fail>
      ------------------------------------------------
      Error: $${project.webapp} variable has not been set. This is where the
      webapp will be assembled. Please define it in the calling script.
      ------------------------------------------------
    </fail>
  </target>
<!-- ===============================================================
       Builds a cocoon webapp for local execution.
       Note, this webapp is not suitable for deploying remotely as it
       is configured to allow editing of files in the ${project.home} 
       directory.
       param: location to put generated webapp ${project.webapp}
       =============================================================== -->
  <target name="webapp-local" depends="init, validate, project.webapp.defined, ensure-content, prepare-context,
         load-project-props"
   description="Generates a dynamic servlet-based website (an unpackaged webapp).  Note this webapp is suitable for local execution only, use the 'war' or 'webapp' target if you wish to deploy remotely.">
<!-- this will need revisions in the case of the siteplan
    extra project-custom classes then will need to be warred in as well. -->
<!--  should be already there
    <mkdir dir="${project.webapp}/WEB-INF"/>
    <copy file="${forrest.core.webapp}/WEB-INF/web.xml" filtering="true" 
      todir="${project.webapp}/WEB-INF"/>
-->
<!-- Prepare the Lucene search index -->
    <condition property="use-lucene-indexer">
      <equals arg1="${skinconfig.search.provider}" arg2="lucene"/>
    </condition>
    <antcall target="lucene-index" />
    <available file="${content-dir}/jettyconf.xml" 
      property="custom_jetty_config"/>
    <loadfile  property="webapp-local-generated-message" srcFile="${forrest.core}/var/webapp-local-generated-message.txt">
      <filterchain>
        <expandproperties/>
      </filterchain>
    </loadfile>
    <echo level="info">${webapp-local-generated-message}</echo>
  </target>
<!-- ===============================================================
       Builds a cocoon webapp of your project for remote deployment.
       param: location to put generated webapp ${project.webapp}
       =============================================================== -->
  <target name="run-webapp" depends="webapp-local, copy-xdocs, copy-content"
   description="Generates a dynamic servlet-based website (an unpackaged webapp).">
<!--
     Copy libs
   -->
    <copy toDir="${project.webapp}/WEB-INF/lib" 
      overwrite="true" failonerror="false">
      <fileset dir="${lib-dir}"/>
    </copy>
    <copy toDir="${project.webapp}/WEB-INF/classes" 
      overwrite="true" failonerror="false">
      <fileset dir="${classes-dir}"/>
    </copy>
    <copy todir="${project.webapp}/WEB-INF/lib">
<!-- Note: no overwriting, so user's libs and classes get preference -->
      <fileset dir="${forrest.core.lib-dir}">
        <include name="**.jar"/>
      </fileset>
      <fileset dir="${forrest.optional.lib-dir}">
        <include name="**.jar"/>
      </fileset>
      <fileset dir="${forrest.endorsed.lib-dir}">
        <include name="**.jar"/>
      </fileset>
    </copy>
    <copy todir="${project.webapp}/WEB-INF/lib">
      <fileset dir="${forrest.build.lib-dir}">
        <include name="**.jar"/>
      </fileset>
    </copy>
    <copy toDir="${project.webapp}/WEB-INF/classes">
      <fileset dir="${forrest.core.webapp}/WEB-INF/classes"/>
    </copy>
<!-- Copy XML jars if not running JDK 1.4 (where they're built-in) -->
    <available property="jdk1.4+" classname="java.lang.CharSequence"/>
    <copy todir="${project.webapp}/WEB-INF/lib">
      <fileset dir="${forrest.endorsed.lib-dir}">
        <include name="*jar" unless="jdk1.4+"/>
      </fileset>
    </copy>
<!-- Copy custom plugin jars -->
    <for list="${project.required.plugins}" param="name">
      <sequential>
        <copy file="${forrest.plugins-dir}/lib/@{name}.jar"
	        todir="${project.webapp}/WEB-INF/lib"
	        failonerror="false"/>
      </sequential>
    </for>
<!-- 
    | Copy all non-xdocs content across to the webapp
   -->
    <mkdir dir="${project.webapp}/project"/>
    <copy toDir="${project.webapp}/project" overwrite="true" failonerror="false">
      <fileset dir="${project.home}">
        <include name="forrest.properties"/>
        <include name="forrest.properties.xml"/>
        <include name="${project.status}"/>
        <include name="${project.content-dir}/**"/>
      </fileset>
    </copy>
<!-- Copy the file which contains the build information -->
    <copy toDir="${project.webapp}/project/build/tmp"
      file="${project.temp-dir}/build-info.xml"/>
<!-- Copy the generated locationmap for plugins -->
    <copy toDir="${project.webapp}/project/build/tmp"
      file="${project.temp-dir}/locationmap.xml"/>
<!-- Grab the plugin xmaps as these are no longer in the
         plugins-dir.

         During the build, the plugin information is copied during the
         init-plugins task.  However, those are not sufficient when
         creating a deployable war file.  That is because the
         properties used for "project.webapp", "project.home" etc.
         have different values when being built and when being run as
         a war file.

         The value of "todir" below corresponds to 
         {properties:temp-dir} when running as a web application. -->
    <copy todir="${project.webapp}/project/build/tmp">
      <fileset dir="${project.temp-dir}">
        <include name="*.xmap"/>
      </fileset>
    </copy>
    <loadfile  property="webapp-generated-message" 
      srcFile="${forrest.core}/var/webapp-generated-message.txt">
      <filterchain>
        <expandproperties/>
      </filterchain>
    </loadfile>
    <echo level="info">${webapp-generated-message}</echo>
  </target>
  <target name="copy-xdocs" if="xdocs.present"></target>
  <target name="copy-content" if="raw-content.present"></target>
<!-- ===============================================================
       Builds a cocoon .war for your project based on the siteplan.
       param: location to put generated war ${project.war}
       =============================================================== -->
  <target name="war" depends="run-webapp"
   description="* Generates a dynamic servlet-based website (a packaged .war file)">
    <xslt force="true"
      in="${project.webapp}/WEB-INF/cocoon.xconf"
      out="${project.webapp}/WEB-INF/cocoon.xconf2"
      style="${forrest.core}/var/fixWarXconf.xsl">
      <outputproperty name="indent" value="yes"/>
    </xslt>
<!-- FIXME: The xslt task did not like writing to the same file (Mac OS X?) -->
    <move file="${project.webapp}/WEB-INF/cocoon.xconf2" tofile="${project.webapp}/WEB-INF/cocoon.xconf"/>
   
   <!-- Generate the war.
    We need to copy not only the core libararies but as well any that may come from
    the plugins (cp. FOR-1074) -->
    <war destfile="${project.war}"
      webxml="${project.webapp}/WEB-INF/web.xml">
      <lib dir="${project.webapp}/WEB-INF/lib">
        <include name="*.jar"/>
        <exclude name="servlet*.jar"/>
      </lib>
      <lib dir="${forrest.home}/${build.plugins-dir}/lib">
        <include name="*.jar"/>
        <exclude name="servlet*.jar"/>
      </lib>
      <webinf dir="${project.webapp}/WEB-INF">
        <exclude name="**/web.xml"/>
        <exclude name="**/lib/*"/>
      </webinf>
      <fileset dir="${project.webapp}">
        <exclude name="**/WEB-INF/"/>
      </fileset>
     <fileset dir="${forrest.home}">
        <exclude name="${build.plugins-dir}/**/lib/"/>
        <include name="${build.plugins-dir}/**"/>
      </fileset>
    </war>
   
   <!-- Finishing by echoing the location of the ready to use war -->
    <echo level="info">
---------------------------------
Webapp .war file generated:
${project.war}
---------------------------------
   </echo>
  </target>
</project>
