Subversion Repositories bacoAlunos

Rev

Rev 1605 | Rev 1703 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?xml version="1.0" encoding="UTF-8"?>
<project name="estgweb" basedir="." default="help">


    <!--
   ==========================================================================================
   ANT TASKS
   ==========================================================================================
   -->
    <target name="help">
        <echo>This is the availible Ant Tasks:</echo>
        <echo message="${env.JAVA_HOME}"></echo>
    </target>                  


    <!--
   ==========================================================================================
   Path libs definitions and Properties files
   ==========================================================================================
   -->


    <import file="libs.xml"/>
    <!--<import file="build-web-services.xml"/>-->

    <!--
   ==========================================================================================
   General Task
   ==========================================================================================
   -->
    <!--caso queiramos apagar os pregen hbm delPreGenAppScripts-->
    <!--
   Use by hand only
   <target name="all" depends="clean,initDirs,createConfigurationFiles,generateHibernateDomainObjects,generateHibernateDaoClasses,build,generateHibernateSql,build.war,dbInit"/>
        <target name="allWebNode" depends="clean,initDirs,createConfigurationFiles,generateHibernateDomainObjects,generateHibernateDaoClasses,build.war"/>
        <target name="dataNode" depends="clean,initDirs,createConfigurationFiles,generateHibernateDomainObjects,generateHibernateDaoClasses,build,generateHibernateSql"/>
   -->

    <!--
   ==========================================================================================
   CLEAN TASKS
   ==========================================================================================
   -->
    <!--
   <target name="clean" description="clean *.class and build dir">
       <delete dir="${build.dir}"/>
       <delete dir="${dist.dir}"/>
       <delete>
           <fileset dir="${gen.dir.java}">
               <exclude name="pt/ipportalegre/**/*.*"/>
               <exclude name="pt/estgp/estgweb/services/directories/**/*.*"/>
               <include name="**/*.java"/>
           </fileset>
       </delete>
       <sleep seconds="5"/>
   </target>
   -->



    <!--
    ==========================================================================================
    CREATE-DIRS
    ==========================================================================================
    -->
    <target name="initDirs">
        <mkdir dir="${log.dir}"/>
        <mkdir dir="${data.dir}"/>
        <mkdir dir="${build.dir}"/>
        <mkdir dir="${build.dir.classes}"/>
        <mkdir dir="${build.dir.war}"/>
        <mkdir dir="${build.dir.ws}"/>
        <mkdir dir="${build.dir.scripts}"/>
        <delete dir="${dist.dir}"/>
        <mkdir dir="${dist.dir}"/>
        <mkdir dir="${gen.dir.java}"/>
    </target>



    <!--
   ==========================================================================================
   Tomcat Tasks
   ==========================================================================================
   -->
    <taskdef name="tomcat.reload" classname="org.apache.catalina.ant.ReloadTask" classpathref="pathToToolsLib"/>
    <!--<taskdef name="tomcat.remove" classname="org.apache.catalina.ant.RemoveTask" classpathref="pathToToolsLib"/>-->
    <!--<taskdef name="tomcat.roles" classname="org.apache.catalina.ant.RolesTask" classpathref="pathToToolsLib"/>-->
    <taskdef name="tomcat.start" classname="org.apache.catalina.ant.StartTask" classpathref="pathToToolsLib"/>
    <taskdef name="tomcat.stop" classname="org.apache.catalina.ant.StopTask" classpathref="pathToToolsLib"/>
    <taskdef name="tomcat.undeploy" classname="org.apache.catalina.ant.UndeployTask" classpathref="pathToToolsLib"/>
    <taskdef name="tomcat.deploy" classname="org.apache.catalina.ant.DeployTask" classpathref="pathToToolsLib"/>
    <!--<taskdef name="tomcat.install" classname="org.apache.catalina.ant.InstallTask" classpathref="pathToToolsLib"/>-->
    <taskdef name="tomcat.jasper" classname="org.apache.jasper.JspC">
        <classpath id="jspc.classpath">
            <pathelement location="${env.JAVA_HOME}/lib/tools.jar"/>
            <fileset dir="${tomcat.home}/bin">
                <include name="*.jar"/>
            </fileset>
            <fileset dir="${tomcat.home}/server/lib">
                <include name="*.jar"/>
            </fileset>
            <fileset dir="${tomcat.home}/common/lib">
                <include name="*.jar"/>
            </fileset>
        </classpath>
    </taskdef>


    <!--
       TOMCAT Instalation Tasks
   -->
    <!--<target name="tomcat.deployContext" depends="build.war">
       <echo message="${tomcat.manager}"/>
       <tomcat.install url="${tomcat.manager}" path="${tomcat.context.path.install}"
                       config="file://${basedir}/${dist.dir}/estgweb.xml"
                       username="${tomcat.username}" password="${tomcat.password}" />
   </target>
   <target name="tomcat.deployContextOnly" depends="">
       <echo message="${tomcat.manager}"/>
       <tomcat.install url="${tomcat.manager}" path="${tomcat.context.path.install}"
                       config="file://${basedir}/${dist.dir}/estgweb.xml"
                       username="${tomcat.username}" password="${tomcat.password}" />
   </target>
   <target name="tomcat.redeployContext" depends="tomcat.undeploy,build.war" >
       <echo message="${tomcat.manager}"/>
       <tomcat.install url="${tomcat.manager}" path="${tomcat.context.path.install}"
                       config="file:${basedir}/${dist.dir}/estgweb.xml"
                       username="${tomcat.username}" password="${tomcat.password}" />
   </target>-->
    <target name="tomcat.deploy" depends="war" >
        <echo message="${tomcat.manager} path:${tomcat.context.path.install} warfile:file:${basedir}/${dist.dir}/${tomcat.war.file}"/>
        <tomcat.deploy url="${tomcat.manager}" path="${tomcat.context.path.install}"
                      war="file:${basedir}/${dist.dir}/${tomcat.war.file}"
                      username="${tomcat.username}" password="${tomcat.password}" />
    </target>
    <target name="tomcat.redeploy" depends="tomcat.undeploy,war">
        <echo message="${tomcat.manager} path:${tomcat.context.path.install} warfile:file:${basedir}/${dist.dir}/${tomcat.war.file}"/>
        <tomcat.deploy url="${tomcat.manager}" path="${tomcat.context.path.install}"
                      war="file:${basedir}/${dist.dir}/${tomcat.war.file}"
                      username="${tomcat.username}" password="${tomcat.password}" />
    </target>
    <target name="tomcat.undeploy">
        <echo message="${tomcat.manager}"/>
        <tomcat.undeploy url="${tomcat.manager}" path="${tomcat.context.path.install}"
                        username="${tomcat.username}" password="${tomcat.password}" />
    </target>
    <target name="tomcat.reload">
        <echo message="${tomcat.manager}"/>
        <tomcat.reload url="${tomcat.manager}" path="${tomcat.context.path.install}"
                      username="${tomcat.username}" password="${tomcat.password}" />
    </target>
    <target name="tomcat.start">
        <echo message="${tomcat.manager}"/>
        <tomcat.start url="${tomcat.manager}" path="${tomcat.context.path.install}"
                     username="${tomcat.username}" password="${tomcat.password}" />
    </target>
    <target name="tomcat.stop">
        <echo message="${tomcat.manager}"/>
        <tomcat.stop url="${tomcat.manager}" path="${tomcat.context.path.install}"
                    username="${tomcat.username}" password="${tomcat.password}" />
    </target>

    <!--
   ==========================================================================================
   BUILD TASKS, Have no effect now, no revengstrategy defined....
   ==========================================================================================
   -->
    <target name="build" depends="initDirs" description="Compile All and create conf files">
        <antcall target="compile"/>
        <antcall target="createConfigurationFiles"/>
    </target>

    <target name="compile" depends="initDirs" description="Compile All">
        <javac encoding="UTF-8" source="1.6" target="1.6" destdir="${build.dir.classes}" debug="true" optimize="true" fork="true" failonerror="true" nowarn="true">
            <src path="${src.dir}"/>
            <src path="${gen.dir.java}"/>
            <classpath refid="pathToToolsLib"/>
        </javac>
    </target>
    <target name="compileToolFiles" description="Compile Mappings Builder">
        <javac destdir="${build.dir.classes}" srcdir="${src.dir}" debug="true" optimize="true"  deprecation="true" verbose="true" failonerror="true">
            <include name="${mapping.buider.class.file}"/>
            <include name="${scripts.buider.class.file}"/>
            <classpath refid="pathToToolsLib"/>
        </javac>
    </target>

    <!--
       Build distribution files
   -->
    <target name="dist" depends="build">
        <jar jarfile="${dist.dir}/estgweb.jar">
            <fileset dir="${build.dir.classes}" includes="**/*.class"/>
        </jar>
        <copy overwrite="true" todir="${dist.dir}">
            <fileset dir="${build.dir.classes}" includes="**/*.properties"/>
            <fileset dir="${build.dir.classes}" includes="**/*.xml"/>
            <fileset dir="${build.dir.classes}" includes="**/*.gif"/>
            <fileset dir="${build.dir.classes}" includes="**/*.xsd"/>
            <fileset dir="${build.dir.classes}" includes="**/*.xsl"/>
        </copy>
        <copy overwrite="true" todir="${dist.dir}" file="${conf.dir}/tomcat/estgweb.xml"/>
        <replace file="${dist.dir}/estgweb.xml" value="">
            <replacefilter token="@build.dir.war@" value="${basedir}${file.separator}build${file.separator}ant${file.separator}war${file.separator}"/>
            <replacefilter token="@context.path@" value="${tomcat.context.path}"/>
        </replace>
    </target>

    <target name="copy.jsps.war" depends="createConfigurationFiles" description="copy only jsps to war distribution">
        <copy todir="${build.dir.war}" overwrite="false">
            <fileset dir="src/web">
                <include name="**/*"/>
            </fileset>
        </copy>

        <copy todir="${build.dir.war}/WEB-INF/tags" overwrite="false">
            <fileset dir="${conf.dir}/WEB-INF/tags">
                <include name="**/*"/>
            </fileset>
        </copy>
        <copy todir="${build.dir.war}/WEB-INF/classes" overwrite="false">
            <fileset dir="${build.dir.classes}">
                <include name="**/*.xsl"/>
            </fileset>
        </copy>

        <replace file="${build.dir.war}/css/style.css">
            <replacefilter token="@contextPath@" value="${tomcat.context.path}"/>
        </replace>
        <replace file="${build.dir.war}/css/intranet.css">
            <replacefilter token="@contextPath@" value="${tomcat.context.path}"/>
        </replace>
        <replace file="${build.dir.war}/js/ajax.js">
            <replacefilter token="@contextPath@" value="${tomcat.context.path}"/>
        </replace>
    </target>

    <target name="build.war" depends="dist" description="Make war distribution">
        <mkdir dir="${build.dir.war}"/>
        <mkdir dir="${build.dir.war}/WEB-INF"/>
        <mkdir dir="${build.dir.war}/WEB-INF/lib"/>
        <copy todir="${build.dir.war}/WEB-INF/lib">
            <fileset dir="${common.lib.dir}/log4j">
                <include name="*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/berserk">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/hibernate">
                <include name="**/*.jar"/>
                <exclude name="xerces-2.6.2.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/log4j">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/mysql">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/oracle">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/commons">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/struts">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/ldap">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/mail">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/jfreechart">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/lucene">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/jaxrpc">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/saxon">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/fop">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/itextpdf">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/json">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/simplexml">
                <include name="**/*.jar"/>
            </fileset>
        </copy>
        <copy file="${dist.dir}/estgweb.jar" todir="${build.dir.war}/WEB-INF/lib"/>
        <copy todir="${build.dir.war}/WEB-INF" overwrite="true">
            <fileset dir="${conf.dir}/WEB-INF">
                <include name="**/*.*"/>
            </fileset>
        </copy>
        <mkdir dir="${build.dir.war}/WEB-INF/classes"/>
        <copy todir="${build.dir.war}/WEB-INF/classes" overwrite="true">
            <fileset dir="${build.dir.classes}">
                <include name="**/*.types"/>
                <include name="**/*.properties"/>
                <include name="**/*.txt"/>
                <include name="**/*.xml"/>
                <include name="**/*.gif"/>
                <include name="**/*.png"/>
                <include name="**/*.exe"/>
                <include name="**/*.xsl"/>
                <include name="**/*.xsd"/>
            </fileset>
        </copy>
        <copy todir="${build.dir.war}" overwrite="true">
            <fileset dir="src/web">
                <include name="**/*"/>
            </fileset>

        </copy>
        <mkdir dir="${build.dir.war}/docs"/>

        <!--DOCUMENTOS IMPORTANTES ARQUITETURA EMPRESARIAL TODO REVER LOCALIZAÇÃO DOS MESMOS-->
        <copy todir="${build.dir.war}/docs" overwrite="true" file="src/doc/siges/ModeloDeInformacaoPAE-EmVigor.docx"/>
        <copy todir="${build.dir.war}/docs" overwrite="false" file="src/doc/siges/Modelo_de_Dados_Siges11.zip"/>
        <copy todir="${build.dir.war}/docs" overwrite="true" file="src/doc/BacoV32016/processos/DocumentacaoProcessos.doc"/>

        <replace file="${build.dir.war}/js/ajax.js">
            <replacefilter token="@contextPath@" value="${tomcat.context.path}"/>
        </replace>
        <replace file="${build.dir.war}/css/style.css">
            <replacefilter token="@contextPath@" value="${tomcat.context.path}"/>
        </replace>
        <replace file="${build.dir.war}/css/intranet.css">
            <replacefilter token="@contextPath@" value="${tomcat.context.path}"/>
        </replace>
    </target>

    <target name="jasper" depends="copy.jsps.war">
        <delete dir="${build.dir.jsp}"/>
        <mkdir dir="${build.dir.jsp}"/>
        <tomcat.jasper compilersourcevm="1.6" compilertargetvm="1.6" validateXml="false" uriroot="${build.dir.war}" webXmlFragment="${build.dir.war}/WEB-INF/generated_web.xml" addWebXmlMappings="true" outputDir="${build.dir.jsp}" />
        <javac encoding="UTF-8" source="1.6" target="1.6" destdir="${build.dir.war}/WEB-INF/classes" debug="true" optimize="true" fork="true" failonerror="true" nowarn="true">
            <src path="${build.dir.jsp}"/>
            <src path="${build.dir}/"/>
            <classpath path="${build.dir.classes}"/>
            <classpath refid="pathToToolsLib"/>
        </javac>
        <delete>
            <fileset dir="${build.dir.war}">
                <include name="**/*.jsp"/>
            </fileset>
        </delete>
        <delete>
            <fileset dir="${build.dir.war}/WEB-INF/tags">
                <include name="**/*.jsp"/>
            </fileset>
        </delete>
    </target>

    <target name="war" depends="build.war">
        <delete file="${dist.dir}/${tomcat.war.file}"/>
        <jar destfile="${dist.dir}/${tomcat.war.file}">
            <fileset dir="${build.dir.war}">
                <include name="**/*" />
            </fileset>
        </jar>
    </target>

    <target name="war.jasper" depends="build.war,jasper">
        <delete file="${dist.dir}/${tomcat.war.file}"/>
        <jar destfile="${dist.dir}/${tomcat.war.file}">
            <fileset dir="${build.dir.war}">
                <include name="**/*" />
            </fileset>
        </jar>
    </target>


    <!--
   ==========================================================================================
   Generate Configuration Files TASKS
   ==========================================================================================
   -->
    <target name="createConfigurationFiles" depends="compileToolFiles,copyConfigurationFiles,replaceFiltersConfigurationFiles,generateHibernateCfgXml"/>

    <target name="copyConfigurationFiles">
        <copy overwrite="true" todir="${build.dir.classes}">
            <fileset dir="${hbm.dir}" includes="**/*.hbm.xml"/>
        </copy>
        <mkdir dir="${build.dir.classes}/template/xsd"/>
        <copy todir="${build.dir.classes}/template/xsd" overwrite="true">
            <fileset dir="${src.xsd}">
                <include name="**/*.xsl"/>
                <include name="**/*.xsd"/>
            </fileset>
        </copy>
        <copy overwrite="true" todir="${build.dir.classes}">
            <fileset dir="${src.dir}" includes="**/*.xsl"/>
        </copy>
        <copy overwrite="true" todir="${build.dir.classes}">
            <fileset dir="${src.dir}" includes="**/*.gif"/>
        </copy>
        <copy overwrite="true" todir="${build.dir.classes}">
            <fileset dir="${src.dir}" includes="**/*.png"/>
        </copy>
        <copy overwrite="true" todir="${build.dir.classes}">
            <fileset dir="${src.dir}" includes="**/*.csv"/>
        </copy>
        <copy overwrite="true" todir="${build.dir.classes}">
            <fileset dir="${conf.dir}/berserk" includes="*.*"/>
        </copy>
        <mkdir dir="${email.templates.dir.build}"/>
        <copy overwrite="true" todir="${email.templates.dir.build}">
            <fileset dir="${email.templates.dir.conf}" includes="*.*"/>
        </copy>
        <mkdir dir="${sms.templates.dir.build}"/>
        <copy overwrite="true" todir="${sms.templates.dir.build}">
            <fileset dir="${sms.templates.dir.conf}" includes="*.*"/>
        </copy>
        <mkdir dir="${assignement.templates.dir.build}"/>
        <copy overwrite="true" todir="${assignement.templates.dir.build}">
            <fileset dir="${assignement.templates.dir.conf}" includes="*.*"/>
        </copy>
        <!--<copy overwrite="true" todir="${olap.cfg.xml.build}" file="${olap.cfg.xml}"/>-->
        <copy overwrite="true" todir="${hibernate.cfg.xml.build}" file="${hibernate.cfg.xml}"/>
        <copy overwrite="true" todir="${mime.types.build}" file="${mime.types}"/>
        <copy overwrite="true" todir="${app.properties.build}" file="${app.properties}"/>
        <copy overwrite="true" todir="${jdbc.properties.build}" file="${jdbc.properties}"/>
        <copy overwrite="true" todir="${jdbc.olap.properties.build}" file="${jdbc.olap.properties}"/>
        <copy overwrite="true" todir="${ldap.properties.build}" file="${ldap.properties}"/>
        <copy overwrite="true" todir="${build.dir.classes}" file="${log4j.properties}"/>
        <mkdir dir="${build.dir.intranet.setup.folders.file}"/>
        <copy overwrite="true" todir="${build.dir.intranet.setup.folders.file}" file="${intranet.setup.folders.file.src}"/>

        <mkdir dir="${build.dir.classes}/pt/estgp/estgweb/directories"/>
        <copy overwrite="true" todir="${build.dir.classes}/pt/estgp/estgweb/directories">
            <fileset dir="${conf.dir}/directories" includes="*.*"/>
        </copy>
        <!--<java classname="${scripts.buider.class}" classpath="${build.dir.classes}">-->
            <!--<arg value="${basedir}${file.separator}..${file.separator}common"/>-->
            <!--<arg value="${basedir}${file.separator}build${file.separator}ant${file.separator}classes"/>-->
            <!--<arg value="${build.dir.scripts}"/>-->
            <!--<arg value="${scripts.target.libs.file}"/>-->
        <!--</java>-->
        <!--<copy overwrite="true" todir="${build.dir.scripts}">-->
            <!--<fileset dir="${src.scripts}" includes="*.*"/>-->
        <!--</copy>-->

    </target>

    <target name="copyXslFiles">

        <copy overwrite="true" todir="${build.dir.classes}">
            <fileset dir="${src.dir}" includes="**/*.xsl"/>
        </copy>


    </target>

    <target name="replaceFiltersConfigurationFiles">
        <delete file="${build.dir.classes}/MessageResources.properties"/>
        <!--<concat encoding="ISO-8859-1" destfile="${build.dir.classes}/MessageResources.properties" append="true">
           <fileset dir="${conf.dir}/language">
               <include name="*.properties" />
           </fileset>
       </concat>-->
        <copy todir="${build.dir.classes}">
            <fileset dir="${conf.dir}/language">
                <include name="*.properties" />
            </fileset>
        </copy>
        <replace file="${jdbc.properties.build}/${jdbc.properties.filename}">
            <replacefilter token="@database.username@" value="${database.username}"/>
            <replacefilter token="@database.password@" value="${database.password}"/>
            <replacefilter token="@database.connection.url@" value="${database.connection.url}"/>
        </replace>
        <replace file="${jdbc.olap.properties.build}/${jdbc.olap.properties.filename}">
            <replacefilter token="@database.username@" value="${database.username}"/>
            <replacefilter token="@database.password@" value="${database.password}"/>
            <replacefilter token="@database.connection.url@" value="${database.connection.url}"/>
        </replace>
        <replace file="${hibernate.cfg.xml.build}/${hibernate.cfg.xml.filename}">
            <replacefilter token="@database.username@" value="${database.username}"/>
            <replacefilter token="@database.password@" value="${database.password}"/>
            <replacefilter token="@database.connection.url@" value="${database.connection.url}"/>
            <replacefilter token="@hibernate.show.sql@" value="${hibernate.show.sql}"/>
        </replace>
        <!--
       <replace file="${olap.cfg.xml.build}/${olap.cfg.xml.filename}">
           <replacefilter token="@database.username@" value="${database.username}"/>
           <replacefilter token="@database.password@" value="${database.password}"/>
           <replacefilter token="@database.connection.url@" value="${database.connection.url}"/>
           <replacefilter token="@hibernate.show.sql@" value="${hibernate.show.sql}"/>
       </replace>-->
        <replace file="${app.properties.build}/app.properties">


            <replacefilter token="@google.recaptcha.secret.key@" value="${google.recaptcha.secret.key}"/>

            <replacefilter token="@admin.email.1@" value="${admin.email.1}"/>
            <replacefilter token="@admin.email.2@" value="${admin.email.2}"/>
            <replacefilter token="@tmp.dir@" value="${tmp.dir}"/>
            <replacefilter token="@data.dir@" value="${data.dir}"/>
            <replacefilter token="@out.dir@" value="${out.dir}"/>
            <replacefilter token="@email.templates.dir@" value="${email.templates.dir}"/>
            <replacefilter token="@use.ldap@" value="${use.ldap}"/>
            <replacefilter token="@site.url@" value="${site.url}"/>
            <!-- DONT USE ANY MORE NOW IS IN CONFIGURATION DAO <replacefilter token="@ws.siges.wsdl@" value="${ws.siges.wsdl}"/>-->
            <replacefilter token="@ws.siges.target.namespace@" value="${ws.siges.target.namespace}"/>
            <replacefilter token="@intranet.setup.folders.file@" value="${build.dir.relative.intranet.setup.folders.file}"/>
            <replacefilter token="@intranet.setup.folders.filename@" value="${intranet.setup.folders.filename}"/>

            <replacefilter token="@oracle.siges.url@" value="${oracle.siges.url}"/>
            <replacefilter token="@oracle.siges.username@" value="${oracle.siges.username}"/>
            <replacefilter token="@oracle.siges.password@" value="${oracle.siges.password}"/>

            <!--System instance type specifications-->

            <replacefilter token="@email.password@" value="${email.password}"/>
            <replacefilter token="@email.user.sufix@" value="${email.user.sufix}"/>

            <replacefilter token="@email.user.count@" value="${email.user.count}"/>
            <replacefilter token="@email.use.round.robin@" value="${email.use.round.robin}"/>

            <replacefilter token="@email.use.security@" value="${email.use.security}"/>
            <replacefilter token="@email.user.prefix@" value="${email.user.prefix}"/>
            <replacefilter token="@email.from@" value="${email.from}"/>
            <replacefilter token="@email.server@" value="${email.server}"/>
            <replacefilter token="@test.control.var@" value="${test.control.var}"/>

            <replacefilter token="@mode.pae.enabled@" value="${mode.pae.enabled}"/>
            <replacefilter token="@system.theme@" value="${system.theme}"/>
            <replacefilter token="@authentication.policy.service@" value="${authentication.policy.service}"/>
            <replacefilter token="@authentication.policy.username.msg.key@" value="${authentication.policy.username.msg.key}"/>
            <replacefilter token="@authentication.policy.password.msg.key@" value="${authentication.policy.password.msg.key}"/>
            <replacefilter token="@system.redirections.policy.index.welcome@" value="${system.redirections.policy.index.welcome}"/>
            <replacefilter token="@system.redirections.policy.authentication.action@" value="${system.redirections.policy.authentication.action}"/>
            <replacefilter token="@system.redirections.policy.authentication.logout.action@" value="${system.redirections.policy.authentication.logout.action}"/>
            <replacefilter token="@system.mail.standard.certificated.home.page@" value="${system.mail.standard.certificated.home.page}"/>


            <replacefilter token="@system.intranet.url@" value="${system.intranet.url}"/>
            <replacefilter token="@system.public.url@" value="${system.public.url}"/>

            <replacefilter token="@ionline.user@" value="${ionline.user}"/>
            <replacefilter token="@ionline.pass@" value="${ionline.pass}"/>
        </replace>
        <replace file="${build.dir.classes}/${log4j.properties.filename}">
            <replacefilter token="@log.file@" value="${log.file}"/>
            <replacefilter token="@log.level@" value="${log.level}"/>
        </replace>
        <!--<replace file="${build.dir.scripts}/${scripts.setenv.file}">
           <replacefilter token="@tomcat.home@" value="${tomcat.home}"/>
       </replace>-->
        <replace file="${jdbc.properties.build}/${jdbc.properties.filename}">
            <replacefilter token="@database.username@" value="${database.username}"/>
            <replacefilter token="@database.password@" value="${database.password}"/>
            <replacefilter token="@database.connection.url@" value="${database.connection.url}"/>
        </replace>
        <replace file="${jdbc.olap.properties.build}/${jdbc.olap.properties.filename}">
            <replacefilter token="@database.username@" value="${database.username}"/>
            <replacefilter token="@database.password@" value="${database.password}"/>
            <replacefilter token="@database.connection.url@" value="${database.connection.url}"/>
        </replace>
    </target>
    <target name="generateHibernateCfgXml" depends="compileToolFiles">
        <!--<delete file="${build.dir.classes}/${hibernate.cfg.xml.filename}"/>-->
        <java classname="${mapping.buider.class}" classpath="${build.dir.classes}">
            <arg value="${hibernate.cfg.xml.build}"/>
            <arg value="${hibernate.cfg.xml}"/>
            <arg value="${package.dir}"/>
            <!--<arg value="Olap"/> O Hibernate.cfg serve para tudo no entanto o schema update e feito
               <arg value="false"/> com o jdbc.olap para que estas tabelas fiquem como MyISAM
           -->
        </java>
        <!--<echo message="Starting OLAP"/>
       <java classname="${mapping.buider.class}" classpath="${build.dir.classes}">
           <arg value="${olap.cfg.xml.build}"/>
           <arg value="${olap.cfg.xml}"/>
           <arg value="${package.dir}"/>
           <arg value="Olap"/>
           <arg value="true"/>
       </java>-->
        <antcall target="replaceFiltersConfigurationFiles"/>
    </target>
    <target name="dbInit">
        <!--<delete file="${build.dir.classes}/${olap.cfg.xml.filename}"/>-->
        <!--<delete file="${build.dir.classes}/${hibernate.cfg.xml.filename}"/>-->
        <java classname="pt.estgp.estgweb.examples.DBInit" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>

        <antcall target="replaceFiltersConfigurationFiles"/>
    </target>



    <!--
   Hibernate Tools Task
   -->
    <taskdef name="hibernatetool"
            classname="org.hibernate.tool.ant.HibernateToolTask"
            classpathref="pathToToolsLib" classpath="${build.dir.classes}"/>
    <!--
   ==========================================================================================
   GENERATE SQL SCRIPTS
   ==========================================================================================
   -->
    <taskdef name="schemaexport"
            classname="org.hibernate.tool.hbm2ddl.SchemaExportTask"
            classpathref="pathToToolsLib" classpath="${build.dir.classes}"/>



    <!--
   <target name="generateHibernateSql" depends="build">
       <schemaexport
               properties="${jdbc.properties.build}/${jdbc.properties.filename}"
               quiet="no"
               text="no"
               drop="no"
               delimiter=";"
               output="${build.dir.classes}/app-scripts.sql">
           <fileset dir="${hbm.dir}">
               <include name="**/*.hbm.xml"/>
               <exclude name="**/Olap*.hbm.xml"/>
           </fileset>
       </schemaexport>
        <schemaexport
               properties="${jdbc.olap.properties.build}/${jdbc.olap.properties.filename}"
               quiet="no"
               text="no"
               drop="no"
               delimiter=";"
               output="${build.dir.classes}/app-scripts.sql">
           <fileset dir="${hbm.dir}">
               <include name="**/Olap*.hbm.xml"/>
           </fileset>
       </schemaexport>
   </target>-->

    <target name="generateUpdateHibernateSql" depends="build">
        <!--<taskdef name="schemaupdate"
                classname="org.hibernate.tool.hbm2ddl.SchemaUpdateTask"
                classpathref="pathToToolsLib" classpath="${build.dir.classes}"/>-->
        <taskdef name="schemaupdate"
       classname="jomm.dao.utils.JommSchemaUpdateTask"
       classpathref="pathToToolsLib" classpath="${build.dir.classes}"/>
        <schemaupdate
               properties="${jdbc.properties.build}/${jdbc.properties.filename}"
               quiet="false"
               text="false">
            <fileset dir="${hbm.dir}">
                <include name="**/*.hbm.xml"/>
                <!--<exclude name="**/Olap*.hbm.xml"/>-->
            </fileset>
        </schemaupdate>

        <!--
       <schemaupdate
               properties="${jdbc.olap.properties.build}/${jdbc.olap.properties.filename}"
               quiet="no"
               text="no">
           <fileset dir="${hbm.dir}">
               <include name="**/Olap*.hbm.xml"/>
           </fileset>
       </schemaupdate>-->
    </target>

    <target name="generateHibernateDomainObjects">
        <replace dir="${hbm.dir}" value="">
            <include name="**/*.hbm.xml"/>
            <replacefilter token='&lt;timestamp source="db"' value="&lt;timestamp"/>
        </replace>
        <hibernatetool>
            <configuration>
                <fileset dir="${hbm.dir}">
                    <include name="**/*.hbm.xml"/>
                </fileset>
            </configuration>
            <hbm2java
                   jdk5="true"
                   ejb3="false"
                   destdir="${gen.dir.java}"/>
        </hibernatetool>
        <delete>
            <fileset dir="${gen.dir.java}">
                <include name="**/*Impl.java"/>
            </fileset>
        </delete>
        <replace dir="${hbm.dir}" value="">
            <include name="**/*.hbm.xml"/>
            <replacefilter token='&lt;timestamp' value='&lt;timestamp source="db"'/>
        </replace>
    </target>


    <!--
       ==========================================================================================
       GENERATE DAO IMPLEMENTATION
       ==========================================================================================
       -->
    <target name="generateHibernateDaoClasses">
        <hibernatetool destdir="${gen.dir.java}" >
            <configuration>
                <fileset dir="${hbm.dir}">
                    <include name="**/*.hbm.xml"/>
                </fileset>
            </configuration>
            <hbmtemplate
                   filepattern="{class-name}${dao.file.pattern}.java"
                   templatepath="${dao.template.dir}"
                   template="${dao.impl.template}"
                   destdir="${dao.impl.package.dir}">
                <property key="jdk5" value="true"/>
                <property key="ejb3" value="false"/>
                <property key="dao" value="${dao.file.pattern}"/>
                <property key="daoDomainPackage" value="${domain.package}"/>
                <property key="daoInterfacesPackage" value="${dao.interfaces.package}"/>
                <property key="daoImplPackage" value="${dao.impl.package}"/>
            </hbmtemplate>
        </hibernatetool>
        <delete>
            <fileset dir="${gen.dir.java}">
                <include name="**/*ImplDao.java"/>
            </fileset>
        </delete>
    </target>

    <!--
   ==========================================================================================
   Generate Hibernate UML Diagrams
   ==========================================================================================


   <property name="doc" location="build/ant/diagrams"/>

   <property name="dot.exe" location="/usr/local/bin/dot" />

   <taskdef
           name="hbm2gif"
           classname="com.oy.shared.lm.ant.HBMtoGIFTask"
           classpathref="pathToToolsLib"
           />

   <target name="generateHibernateUmlDiagram" depends="initDirs">
       <mkdir dir="${doc}"/>
       <hbm2gif
               caption="XML file for launching Catalina 5.0.25 applications using Apache Ant."
               colors="cyan, lightcyan, orange, black, black"
               inFile="${hbm.dir}/pt/estgp/estgweb/domain/CourseUnit.hbm.xml"
               dotFile="${doc}/CourseUnit.dot"
               outFile="${doc}/CourseUnit.gif"
               exeFile="${dot.exe}"
               />
   </target>
   -->
    <!--
   ==========================================================================================
   GENERATE WEBSERVICES JAXWS
   ==========================================================================================
   -->


    <target name="ws.generate-siges-client" depends="initDirs">
        <taskdef name="wsimport2" classname="com.sun.tools.ws.ant.WsImport"
                classpathref="pathToToolsLib">
        </taskdef>
        <copy file="${ws.client.binding.dir}/${ws.siges.binding.file}" todir="${build.dir.ws}" overwrite="true"/>
        <replace file="${build.dir.ws}/${ws.siges.binding.file}" encoding="UTF-8">
            <replacefilter token="@wsdl.client@" value="${ws.siges.wsdl}"/>
            <replacefilter token="@target.namespace@" value="${ws.siges.target.namespace}"/>
            <replacefilter token="@ws.package@" value="${ws.siges.package}"/>
        </replace>
        <!--xendorsed="true"-->
        <wsimport2

               debug="${ws.debug}"
               verbose="${ws.verbose}"
               keep="${ws.keep}"
               extension="${ws.extension}"
               destdir="${gen.dir.java}"
               wsdl="${ws.siges.wsdl}">
            <binding dir="${build.dir.ws}" includes="${ws.client.binding.file}"/>
        </wsimport2>
        <delete>
            <fileset dir="${gen.dir.java}">
                <include name="**/*.class"/>
            </fileset>
        </delete>
    </target>


    <!--
   ==========================================================================================
   DIRECTORIES + STUDIES PLANS XSD JAXB
   ==========================================================================================
   -->

    <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask" classpathref="pathToToolsLib">
    </taskdef>

    <target name="directories-gen-jaxb" depends="initDirs">
        <xjc destdir="${gen.dir.java}" package="pt.estgp.estgweb.services.directories.xsd">
            <schema  dir="${conf.dir}/directories" includes="directory.xsd"/>
        </xjc>
        <replace dir="${gen.dir.java}/pt/estgp/estgweb/services/directories/xsd" value="">
            <include name="*.java"/>
            <replacefilter token="public Boolean is" value="public Boolean get"/>
        </replace>
    </target>


    <target name="studies-plan-gen-jaxb" depends="initDirs">
        <xjc destdir="${gen.dir.java}" package="pt.estgp.estgweb.services.courses.xsd">
            <schema  dir="src/xsd" includes="planoestudos.xsd"/>
        </xjc>
        <replace dir="${gen.dir.java}/pt/estgp/estgweb/services/courses/xsd" value="">
            <include name="*.java"/>
            <replacefilter token="public Boolean is" value="public Boolean get"/>
        </replace>
    </target>

    <!--
   ==========================================================================================
   DEAMONS
   ==========================================================================================
   -->

    <!--<target name="run">-->
    <!--<java classname="mitra.oaiharvest.harvest.HarvestEngine" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>-->
    <!--<java classname="mitra.oaiharvest.index.IndexEngine" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>-->
    <!--</target>-->
    <target name="util.task.createRepositoryXML">
        <java classname="pt.estgp.estgweb.services.data.CreateDescriptionsXML" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>
    </target>
    <target name="util.task.reset.urlsstats">
        <java classname="pt.estgp.estgweb.services.urlstat.ResetRelativePathsService" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>
    </target>
    <target name="util.task.reset.urlsstats.digests">
        <java classname="pt.estgp.estgweb.services.urlstat.ResetRelativePathsServiceDigests" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>
    </target>

    <target name="CourseUnitsStatisticsJobService">
        <java classname="pt.estgp.estgweb.services.courses.CourseUnitsStatisticsJobService" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>
    </target>


    <target name="RUNReportQuestionariosGeneratorTest" depends="compile,copyXslFiles">
        <java fork="true" jvmargs="-Dfile.encoding=UTF-8" classname="pt.estgp.estgweb.services.questionarios.pedagogico.reportprocessors.DocenteReportGenerator" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>
    </target>

    <target name="RUNZipFolderAdHoc">
        <java fork="true" jvmargs="-Dfile.encoding=UTF-8" classname="pt.estgp.estgweb.services.questionarios.pedagogico.reportprocessors.utils.ZipFolderForReportDocente" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>
    </target>




    <target name="print-version">
        <echo>Java/JVM version: ${ant.java.version}</echo>
        <echo>Java/JVM detail version: ${java.version}</echo>
    </target>

</project>