Rev 336 |
Rev 347 |
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>
</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-->
<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/**/*.*"/>
<include name="**/*.java"/>
</fileset>
</delete>
<!--Give time to delete all files-->
<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"/>
<!--
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.5" target="1.5" destdir="${build.dir.classes}" debug="true" optimize="true" fork="true" deprecation="true" verbose="true" failonerror="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="**/*.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" description="copy only jsps to war distribution">
<copy todir="${build.dir.war}" overwrite="false">
<fileset dir="src/web">
<include name="**/*"/>
</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"/>
</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}/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>
</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="**/*.exe"/>
<include name="**/*.xsl"/>
<include name="**/*.xsd"/>
</fileset>
</copy>
<copy todir="${build.dir.war}" overwrite="true">
<fileset dir="src/web">
<include name="**/*"/>
</fileset>
</copy>
<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="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>
<!--
==========================================================================================
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="${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="${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="${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}"/>
<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="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>
<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="${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="${app.properties.build}/app.properties">
<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}"/>
<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}"/>
</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>
</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}"/>
</java>
<antcall target="replaceFiltersConfigurationFiles"/>
</target>
<target name="dbInit">
<!--<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"/>
</fileset>
</schemaexport>
</target>
<target name="generateHibernateDomainObjects">
<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>
</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>
<!--
Run Deamon
-->
<!--<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>
</project>