<?xml version="1.0"?>

<!-- Build configuration file for Turbine -->

<project name="tr-props-maker" default="tr-props" basedir=".">

  <!-- Give user a chance to override without editing this file
      (and without typing -D each time it compiles it -->
  <property file="${user.home}/build.properties" />
  <property file="build.properties" />

  <property name="master.home" value="./master"/>
  <property name="conf.home" value="."/>
  <property name="target.dir" value="."/>

  <property file="${conf.home}/master/meta.properties"/>
  <property file="${conf.home}/view/${view.type}"/>

  <property name="master" value="${master.home}/TurbineResources.master"/>
  <property name="copy" value="${target.dir}/TurbineResources.properties"/>

  <property name="fulcrum.master" value="${master.home}/Fulcrum.master"/>
  <property name="fulcrum.copy" value="${target.dir}/Fulcrum.properties"/>

  <!-- =================================================================== -->
  <!-- T R   P R O P S                                                     -->
  <!-- =================================================================== -->
  <!-- Target used to generate TR.props.                                   -->
  <!-- =================================================================== -->

  <target name="tr-props" depends="configure"
          description="==> generate the properties files">

    <echo message="Creating TurbineResources ..."/>
    <delete file="${copy}"/>
    <delete file="${fulcrum.copy}"/>

    <copy file="${master}" tofile="${copy}" filtering="on"/>
    <copy file="${fulcrum.master}" tofile="${fulcrum.copy}" filtering="on"/>

  </target>

  <!-- =================================================================== -->
  <!-- C O N F I G U R E  S T A N D A R D  P R O P E R T I E S             -->
  <!-- =================================================================== -->
  <!-- Target used to set the standard values of properties in             -->
  <!-- TR.props file.                                                      -->
  <!-- =================================================================== -->

  <target name="configure">

    <filter token="TURBINE_LOG" value="${turbine.log}"/>

    <filter token="MAIL_SERVER" value="${mail.server}"/>
    <filter token="MAIL_SMTP_FROM" value="${mail.smtp.from}"/>

    <filter token="MODULE_CACHE" value="${module.cache}"/>
    <filter token="MODULE_PACKAGES" value="${module.packages}"/>

    <filter token="TEMPLATE_HOMEPAGE" value="${template.hompage}"/>
    <filter token="TEMPLATE_LOGIN" value="${template.login}"/>

    <filter token="SCREEN_HOMEPAGE" value="${screen.homepage}"/>
    <filter token="SCREEN_LOGIN" value="${screen.login}"/>
    <filter token="SCREEN_ERROR" value="${screen.error}"/>
    <filter token="SCREEN_INVALID_STATE" value="${screen.invalidstate}"/>

    <filter token="ACTION_LOGIN" value="${action.login}"/>
    <filter token="ACTION_LOGOUT" value="${action.logout}"/>
    <filter token="ACTION_SESSION_VALIDATOR" value="${action.sessionvalidator}"/>
    <filter token="ACTION_ACCESS_CONTROLLER" value="${action.accesscontroller}"/>

    <filter token="LAYOUT_DEFAULT" value="${layout.default}"/>
    <filter token="PAGE_DEFAULT" value="${page.default}"/>

    <filter token="TEMPLATE_SERVICE" value="${template.service}"/>
    <filter token="TEMPLATE_SERVICE_NAME" value="${template.service.name}"/>

    <filter token="TEMPLATE_ERROR" value="${template.error}"/>
    <filter token="TEMPLATE_EXTENSION" value="${template.default.extension}"/>
    <filter token="TEMPLATE_PATH" value="${template.path}"/>
    <filter token="TEMPLATE_DEFAULT_NAVIGATION" value="${template.default.navigation}"/>
    <filter token="TEMPLATE_DEFAULT_SCREEN" value="${template.default.screen}"/>
    <filter token="TEMPLATE_DEFAULT_LAYOUT" value="${template.default.layout}"/>

    <filter token="LOCALE_DEFAULT_BUNDLE" value="${locale.default.bundle}"/>
    <filter token="LOCALE_DEFAULT_LANGUAGE" value="${locale.default.language}"/>
    <filter token="LOCALE_DEFAULT_COUNTRY" value="${locale.default.country}"/>

    <filter token="INCLUDE_FILE" value="${include.file}"/>
  </target>
</project>
