Subversion Repositories bacoAlunos

Rev

Rev 1827 | Rev 1833 | 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.libs.common.home}">
                <include name="*.jar"/>
            </fileset>
            <fileset dir="${tomcat.libs.ant.home}">
                <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"/>
        <antcall target="generateJsonJspsFile"/>
        <antcall target="generateJsonSoaServicesFile"/>
    </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}"/>
            <include name="${jsp.interfaces.web.json.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}/jfreechart1019">
                <include name="**/*.jar"/>
                <exclude name="servlet.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"/>
                <exclude name="genson-0.97.jar"/>
                <!--<exclude name="genson-1.4.jar"/>-->
            </fileset>
            <fileset dir="${common.lib.dir}/jsoup">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="${common.lib.dir}/simplexml">
                <include name="**/*.jar"/>
            </fileset>

            <fileset dir="${common.lib.dir}/poi">
                <include name="**/*.jar"/>
            </fileset>

            <fileset dir="${common.lib.dir}/reflections">
                <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"/>
                <include name="**/*.json"/>
            </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="**/*.json"/>
        </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="${ldap.properties.build}" file="${ldap.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.wsjson.service.course.report.quest.result.api@" value="${system.wsjson.service.course.report.quest.result.api}"/>
            <replacefilter token="@system.wsjson.service.course.units.reports.api@" value="${system.wsjson.service.course.units.reports.api}"/>
            <replacefilter token="@system.wsjson.service.course.units.dtp.stats.api@" value="${system.wsjson.service.course.units.dtp.stats.api}"/>


            <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="${ldap.properties.build}/ldap.properties">
            <replacefilter token="@ldap.queries.login@" value="${ldap.queries.login}"/>
            <replacefilter token="@ldap.queries.password@" value="${ldap.queries.password}"/>
        </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>

    <!--
   Esta tarefa compila todas as classes necessarias para que os enhanced types seja bem gerados
   Para que tudo corra bem é necessario que os pacotes pt.estgp.estgweb.utils jomm.utils e pt.estgp.estgweb.domain.gentypes sejam 100% coesos
   com zero referências ao exterior. Esta modificação foi feita na versão 1812
   Classes que necessitem de serviços ou outros tipos que ainda não foram compilados
   os seus enhanced's devem usar o meta atributo no mapeamento do hibernate
   exemplo
   <property name="repositoryFileProxy"
                 type="pt.estgp.estgweb.domain.typegenservices.repositorydocuments.EnhancedRepositoryFileProxy">
           <meta attribute="property-type">pt.estgp.estgweb.domain.typegenservices.repositorydocuments.RepositoryFileProxy</meta>
           <column name="repositoryStream" sql-type="VARCHAR(255)"/>
       </property>

   -->
    <target name="compileUtils" depends="initDirs">
        <javac encoding="UTF-8" source="1.6" target="1.6" destdir="${build.dir.classes}" debug="true" optimize="true" failonerror="true" nowarn="true">
            <src path="${src.dir}/pt/estgp/estgweb/utils"/>
            <src path="${src.dir}/jomm/utils"/>
            <classpath refid="pathToToolsLib"/>
        </javac>
    </target>

    <target name="compileEnhancedTypes" depends="compileUtils">
        <javac encoding="UTF-8" source="1.6" target="1.6" destdir="${build.dir.classes}" debug="true" optimize="true" failonerror="true" nowarn="true">
            <src path="${src.dir}/pt/estgp/estgweb/domain/typesgen"/>
            <classpath refid="pathToToolsLib"/>
        </javac>
    </target>


    <target name="generateHibernateDomainObjects" >
        <!--<echo message="SE NAO COMPILOU AS ENHANCED CLASSES COMPILE PRIMEIRO POR FAVOR"></echo>
       <sleep milliseconds="5000">
       </sleep>-->
        <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>

    <!--
   ==========================================================================================
   GENERATE A LIST OF ALL JSP's FILES IN JSON
   ==========================================================================================
   -->
    <target name="generateJsonJspsFile" >

        <java classname="${jsp.interfaces.web.json.class}" classpath="${build.dir.classes}" classpathref="pathToToolsLib">
            <arg value="${build.dir.classes}"/>
            <arg value="${src.web}"/>
            <arg value="/user;/admin;/public"/>
        </java>
    </target>

    <target name="generateJsonSoaServicesFile" >

        <java fork="true" classname="${soa.services.json.class}" classpath="${build.dir.classes}" classpathref="pathToToolsLib">
            <arg value="${build.dir.classes}"/>
            <arg value="${basedir}/${src.dir}/"/>
        </java>
    </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>