|
<?xml version="1.0" encoding="UTF-8"?> |
|
<project name="DOE" default="jmeter_run" basedir="."> |
|
<echo message=" INICIALIZA O PROCESSO DE BUILD DO PROJETO DOE" /> |
|
<!-- PARAMETRIZAÇÕES --> |
|
<property name="project" value="C:/INTEGRACAO_CONTINUA/ESCOLHIDAS/projetos" /> |
|
<property name="site" value="C:/Apache/Apache2/htdocs/XPWeb/reports" /> |
|
<property name="cvs.root" value=":pserver:milfont@tomcat-nuadd:/home/cvs/java" /> |
|
<property name="cvs.tag" value="doe_2_0" /> |
|
<property name="cvs.pass" value="cvspass.txt" /> |
|
<property name="nome" value="doe" /> |
|
<property name="projeto" value="doe/projeto/doe" /> |
|
<!-- CONFIGURAÇÕES FIXAS --> |
|
<property name="src" value="src" /> |
|
<property name="build" value="build" /> |
|
<property name="dist" value="dist" /> |
|
<property name="report" value="report" /> |
|
<property name="checkstyle" value="report/checkstyle" /> |
|
<property name="junit" value="report/junit" /> |
|
<property name="javancss" value="report/javancss" /> |
|
<property name="jdepend" value="report/jdepend" /> |
|
<property name="findbugs" value="report/findbugs" /> |
|
<property name="jmeter" value="report/jmeter" /> |
|
<property name="pmd" value="report/pmd" /> |
|
<property name="lib" value="lib" /> |
|
<property name="lib_web" value="lib_web" /> |
|
<property name="xsl" value="xsl" /> |
|
<property name="jmeter.home" value="lib_web/jmeter" /> |
|
<!-- 1 - LIMPA AMBIENTE E CRIA CLASSPATH DO PROJETO --> |
|
<target name="init"> |
|
<echo message="1 - LIMPA AMBIENTE E CRIA CLASSPATH DO PROJETO" /> |
|
<delete dir="${src}" /> |
|
<delete dir="${build}" /> |
|
<delete dir="${dist}" /> |
|
<delete dir="${report}" /> |
|
<delete dir="${lib}" /> |
|
<delete dir="${projeto}" /> |
|
<mkdir dir="${src}" /> |
|
<mkdir dir="${build}" /> |
|
<mkdir dir="${dist}" /> |
|
<mkdir dir="${report}" /> |
|
<mkdir dir="${junit}" /> |
|
<mkdir dir="${checkstyle}" /> |
|
<mkdir dir="${javancss}" /> |
|
<mkdir dir="${jdepend}" /> |
|
<mkdir dir="${jmeter}" /> |
|
<mkdir dir="${findbugs}" /> |
|
<mkdir dir="${pmd}" /> |
|
<mkdir dir="${lib}" /> |
|
</target> |
|
<path id="lib.classpath"> |
|
<fileset dir="${lib}"> |
|
<include name="*.jar" /> |
|
</fileset> |
|
<fileset dir="${lib_web}"> |
|
<include name="*.jar" /> |
|
</fileset> |
|
</path> |
|
<!-- 2 - ACESSA CVS E REALIZA CHECKOUT DO PROJETO --> |
|
<target name="cvs" depends="init"> |
|
<echo message="2 - ACESSA CVS E REALIZA CHECKOUT DO PROJETO" /> |
|
<cvs cvsRoot="${cvs.root}" tag="${cvs.tag}" dest="${project}" package="${projeto}" passfile="${cvs.pass}" /> |
|
<copy todir="${src}"> |
|
<fileset dir="${projeto}/src" /> |
|
</copy> |
|
<copy todir="${lib}"> |
|
<fileset dir="${projeto}/WebRoot/WEB-INF/lib" /> |
|
</copy> |
|
</target> |
|
<!-- 3 - COMPILA APLICAÇÃO --> |
|
<target name="compile" depends="cvs"> |
|
<echo message="3 - COMPILA APLICAÇÃO" /> |
|
<javac srcdir="${src}" destdir="${build}" classpathref="lib.classpath" /> |
|
</target> |
|
<!-- 4 - CRIA ARQUIVO JAR DA APLICAÇÃO --> |
|
<target name="dist" depends="compile"> |
|
<echo message="4 - CRIA ARQUIVO JAR DA APLICAÇÃO" /> |
|
<!-- jar dos pacotes --> |
|
<jar jarfile="${dist}/${nome}.jar" basedir="${build}" /> |
|
</target> |
|
<!-- 5 - REALIZA TESTES DE ACEITAÇÃO E GERA RELATORIO --> |
|
<target name="junit" depends="dist" description="Execute Unit Tests"> |
|
<echo message="5 - REALIZA TESTES DE ACEITAÇÃO E GERA RELATORIO" /> |
|
<junit> |
|
<classpath> |
|
<pathelement path="${lib_web}" /> |
|
<pathelement path="${lib}" /> |
|
<pathelement path="${build}" /> |
|
<fileset dir="lib" /> |
|
</classpath> |
|
<formatter type="xml" /> |
|
<batchtest todir="${junit}"> |
|
<fileset dir="${build}"> |
|
<include name="*/**/AllTests.class" /> |
|
</fileset> |
|
</batchtest> |
|
</junit> |
|
<junitreport todir="${junit}"> |
|
<fileset dir="${junit}"> |
|
<include name="TEST-*.xml" /> |
|
</fileset> |
|
<report format="noframes" styledir="${xsl}" todir="${junit}" /> |
|
</junitreport> |
|
</target> |
|
<!-- |
|
- realizar testes PMD, javaNCSS, CheckStyle, FindBugs e JDepends e gerar relatorios |
|
--> |
|
<!-- - CheckStyle --> |
|
<taskdef resource="checkstyletask.properties" classpath="${lib_web}/checkstyle-all-4.1.jar" /> |
|
<target name="checkstyle" depends="junit"> |
|
<checkstyle config="${xsl}/sun_checks.xml" failOnViolation="false"> |
|
<formatter type="xml" tofile="${checkstyle}/report.xml" /> |
|
<fileset dir="${src}/com/fabricainfo" includes="**/*.java" /> |
|
</checkstyle> |
|
<style in="${checkstyle}/report.xml" out="${checkstyle}/report.html" style="${xsl}/checkstyle-noframes.xsl" /> |
|
</target> |
|
<taskdef name="javancss" classname="javancss.JavancssAntTask" classpath="${lib_web}/javancss.jar" /> |
|
<!-- - JavaNCSS --> |
|
<target name="javancss" depends="checkstyle"> |
|
<javancss srcdir="${src}/com/fabricainfo/" generateReport="true" outputfile="${javancss}/report.xml" format="xml" /> |
|
<style basedir="${javancss}" destdir="${javancss}" extension=".html" style="${xsl}/javancss2html.xsl" /> |
|
</target> |
|
<!-- - JDepends --> |
|
<target name="jdepend" depends="javancss"> |
|
<jdepend outputfile="${jdepend}/report.xml" format="xml"> |
|
<classespath> |
|
<pathelement location="${build}" /> |
|
</classespath> |
|
<classpath location="${build}" /> |
|
</jdepend> |
|
<style basedir="${jdepend}" destdir="${jdepend}" includes="report.xml" style="${xsl}/jdepend.xsl" /> |
|
</target> |
|
<!-- - FindBugs --> |
|
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" /> |
|
<target name="findbugs" depends="jdepend"> |
|
<findbugs home="${lib_web}/findbugs" reportLevel="low" quietErrors="true" output="xml" outputFile="${findbugs}/findbugs.xml"> |
|
<sourcePath path="${src}/com/fabricainfo/" /> |
|
<class location="${dist}/${nome}.jar" /> |
|
</findbugs> |
|
<!-- |
|
|
|
<xslt |
|
in="${findbugs}/findbugs.xml" |
|
out="${findbugs}/default.html" |
|
style="${lib_web}/findbugs/src/xsl/default.xsl"> |
|
</xslt> |
|
<xslt |
|
in="${findbugs}/findbugs.xml" |
|
out="${findbugs}/fancy.html" |
|
style="${lib_web}/findbugs/src/xsl/fancy.xsl"> |
|
</xslt> |
|
<xslt |
|
in="${findbugs}/findbugs.xml" |
|
out="${findbugs}/plain.html" |
|
style="${lib_web}/findbugs/src/xsl/plain.xsl"> |
|
</xslt> |
|
<xslt |
|
in="${findbugs}/findbugs.xml" |
|
out="${findbugs}/summary.html" |
|
style="${lib_web}/findbugs/src/xsl/summary.xsl"> |
|
</xslt> |
|
|
|
--> |
|
<xslt in="${findbugs}/findbugs.xml" out="${findbugs}/report.html" style="${lib_web}/findbugs/src/xsl/summary.xsl" /> |
|
</target> |
|
<!-- - PMD --> |
|
<target name="pmd" depends="findbugs"> |
|
<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" /> |
|
<pmd rulesetfiles="${xsl}/rulesets/favorites.xml" failonerror="false"> |
|
<formatter type="xml" toFile="${pmd}/pmd_basic.xml" /> |
|
<fileset dir="${src}/com/fabricainfo/"> |
|
<include name="**/*.java" /> |
|
</fileset> |
|
</pmd> |
|
<xslt in="${pmd}/pmd_basic.xml" style="${xsl}/wz-pmd-report.xslt" out="${pmd}/report.html" /> |
|
</target> |
|
<!-- - gerar pacote war da aplicacao --> |
|
<target name="warfile" depends="pmd" description="Build the web application archive"> |
|
<!-- copiar o pacote para aplicação --> |
|
<copy todir="${projeto}/WebRoot/WEB-INF/lib"> |
|
<fileset dir="${dist}" /> |
|
</copy> |
|
<war destfile="${dist}/${nome}.war" webxml="${projeto}/WebRoot/WEB-INF/web.xml"> |
|
<fileset dir="${projeto}/WebRoot"> |
|
<include name="**/*.*" /> |
|
<exclude name="WEB-INF/web.xml" /> |
|
</fileset> |
|
</war> |
|
</target> |
|
<!-- deployment no servidor de desenvolvimento --> |
|
<!-- |
|
Configure properties to access the Manager application |
|
--> |
|
<property name="url" value="http://localhost:8080/manager" /> |
|
<property name="username" value="admin" /> |
|
<property name="password" value="112233" /> |
|
<taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask" /> |
|
<taskdef name="list" classname="org.apache.catalina.ant.ListTask" /> |
|
<taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask" /> |
|
<taskdef name="resources" classname="org.apache.catalina.ant.ResourcesTask" /> |
|
<taskdef name="roles" classname="org.apache.catalina.ant.RolesTask" /> |
|
<taskdef name="start" classname="org.apache.catalina.ant.StartTask" /> |
|
<taskdef name="stop" classname="org.apache.catalina.ant.StopTask" /> |
|
<taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask" /> |
|
<target name="undeploy" description="Remove web application" depends="warfile"> |
|
<undeploy url="${url}" username="${username}" password="${password}" path="/${nome}" /> |
|
</target> |
|
<target name="deploy" description="Install web application" depends="undeploy"> |
|
<deploy url="${url}" username="${username}" password="${password}" path="/${nome}" war="${dist}/${nome}.war" /> |
|
</target> |
|
<target name="reload" description="Reload web application" depends="deploy"> |
|
<reload url="${url}" username="${username}" password="${password}" path="/${nome}" /> |
|
</target> |
|
<!-- testes com JMeter --> |
|
<property name="test" value="TestPlan" /> |
|
<!-- Should report include response data for failures? --> |
|
<property name="show-data" value="y" /> |
|
<condition property="funcMode"> |
|
<equals arg1="${show-data}" arg2="y" /> |
|
</condition> |
|
<condition property="funcMode" value="false"> |
|
<not> |
|
<equals arg1="${show-data}" arg2="y" /> |
|
</not> |
|
</condition> |
|
<taskdef name="jmeter" classpath="${jmeter.home}/extras/ant-jmeter.jar" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /> |
|
<target name="jmeter_run" depends="reload"> |
|
<echo>funcMode = ${funcMode}</echo> |
|
<delete file="${jmeter}/${test}.html" /> |
|
<jmeter jmeterhome="${jmeter.home}" testplan="${jmeter.home}/${test}.jmx" resultlog="${jmeter}/${test}.jtl"> |
|
<!-- |
|
|
|
<jvmarg value="-Xincgc"/> |
|
<jvmarg value="-Xmx128m"/> |
|
<jvmarg value="-Dproperty=value"/> |
|
|
|
--> |
|
<!-- Force suitable defaults --> |
|
<property name="jmeter.save.saveservice.output_format" value="xml" /> |
|
<property name="jmeter.save.saveservice.assertion_results" value="all" /> |
|
<property name="file_format.testlog" value="2.0" /> |
|
<property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}" /> |
|
</jmeter> |
|
<xslt force="true" in="${jmeter}/${test}.jtl" out="${jmeter}/report.html" style="${jmeter.home}/extras/jmeter-results-detail-report.xsl"> |
|
<param name="showData" expression="${show-data}" /> |
|
</xslt> |
|
<echo message="Transportar documentação para o portal" /> |
|
<copy todir="${site}"> |
|
<fileset dir="${report}" /> |
|
</copy> |
|
<echo message="PROCESSO DE BUILD COMPLETO" /> |
|
</target> |
|
<!-- deployment no servidor de produção --> |
|
<!-- |
|
**************************************************************************** |
|
********************************************************************************* |
|
********************************************************************************* |
|
<property environment="env"/> |
|
|
|
<property file="ant-oracle.properties"/> |
|
|
|
|
|
<property name="JAVA_HOME" value="C:\jdk1.5.0_06"/> |
|
<property name="ORACLE_HOME" value="${oracle.home}"/> |
|
|
|
<property name="J2EE_HOME" value="${ORACLE_HOME}\j2ee\home"/> |
|
|
|
<path id="common.j2ee.class.path"> |
|
<pathelement location="."/> |
|
<pathelement location="${ORACLE_HOME}/jdbc/lib/ojdbc14dms.jar"/> |
|
<pathelement location="${J2EE_HOME}/oc4j.jar"/> |
|
<pathelement location="${J2EE_HOME}/lib/ejb.jar"/> |
|
<pathelement location="${J2EE_HOME}/lib/servlet.jar"/> |
|
<pathelement location="${J2EE_HOME}/lib/jta.jar"/> |
|
<pathelement location="${J2EE_HOME}/lib/jms.jar"/> |
|
<pathelement location="${J2EE_HOME}/lib/javax88.jar"/> |
|
<pathelement location="${J2EE_HOME}/lib/javax77.jar"/> |
|
<pathelement location="${J2EE_HOME}/lib/jmxri.jar"/> |
|
<pathelement location="${J2EE_HOME}/lib/jmx_remote_api.jar"/> |
|
<pathelement location="./build"/> |
|
</path> |
|
<property name="common.j2ee.class.path" refid="common.j2ee.class.path"/> |
|
|
|
<path id="common.webservices.class.path"> |
|
<pathelement location="${J2EE_HOME}/lib/jax-qname-namespace.jar"/> |
|
<pathelement location="${J2EE_HOME}/lib/activation.jar"/> |
|
<pathelement location="${J2EE_HOME}/lib/mail.jar"/> |
|
<pathelement location="${J2EE_HOME}/lib/http_client.jar"/> |
|
<pathelement location="${ORACLE_HOME}/lib/xmlparserv2.jar"/> |
|
<pathelement location="${ORACLE_HOME}/jlib/ojpwss.jar"/> |
|
<pathelement location="${ORACLE_HOME}/jlib/ojpxml.jar"/> |
|
<pathelement location="${ORACLE_HOME}/jlib/ojpse.jar"/> |
|
<pathelement location="${ORACLE_HOME}/jlib/ojpsaml.jar"/> |
|
<pathelement location="${ORACLE_HOME}/webservices/lib/wsserver.jar"/> |
|
<pathelement location="${ORACLE_HOME}/webservices/lib/wsclient.jar"/> |
|
<pathelement location="${ORACLE_HOME}/webservices/lib/wssecurity.jar"/> |
|
<pathelement location="${ORACLE_HOME}/webservices/lib/dom4j.jar"/> |
|
<pathelement location="${ORACLE_HOME}/webservices/lib/commons-logging.jar"/> |
|
<pathelement location="${ORACLE_HOME}/webservices/lib/jaxrpc-api.jar"/> |
|
<pathelement location="${ORACLE_HOME}/webservices/lib/jaxrpc.jar"/> |
|
<pathelement location="${ORACLE_HOME}/webservices/lib/saaj-api.jar"/> |
|
<pathelement location="${ORACLE_HOME}/webservices/lib/orasaaj.jar"/> |
|
<pathelement location="${ORACLE_HOME}/webservices/lib/xsdlib.jar"/> |
|
</path> |
|
<property name="common.webservices.class.path" refid="common.webservices.class.path"/> |
|
|
|
<path id="common.tasks.class.path"> |
|
<pathelement location="${ORACLE_HOME}/j2ee/utilities/ant-oracle-classes.jar"/> |
|
<pathelement location="${J2EE_HOME}/lib/javax88.jar"/> |
|
<pathelement location="${J2EE_HOME}/admin_client.jar"/> |
|
<pathelement location="${J2EE_HOME}/oc4jclient.jar"/> |
|
<pathelement location="${ORACLE_HOME}/webservices/lib/wsa.jar"/> |
|
<pathelement location="${J2EE_HOME}/lib/bcel.jar"/> |
|
</path> |
|
<property name="common.tasks.class.path" refid="common.tasks.class.path"/> |
|
|
|
<target name="common"> |
|
<echo message="BuildName: ${ant.project.name}"/> |
|
<echo message="BuildHome: ${basedir}"/> |
|
<echo message="BuildFile: ${ant.file}"/> |
|
<echo message="BuildJVM: ${ant.java.version}"/> |
|
<echo message="ORACLE_HOME: ${ORACLE_HOME}"/> |
|
<echo message="J2EE_HOME: ${J2EE_HOME}"/> |
|
<echo message="JAVA_HOME: ${JAVA_HOME}"/> |
|
</target> |
|
|
|
|
|
<property name="app.name" value="doe"/> |
|
<property name="web.name" value="doe"/> |
|
<property name="oc4j.binding.module" value="doe"/> |
|
<property name="oc4j.admin.port" value="23791"/> |
|
<property name="oc4j.admin.user" value="oc4jadmin"/> |
|
<property name="oc4j.http.port" value="8888"/> |
|
<property name="oc4j.admin.password" value="112233"/> |
|
<property name="oc4j.host" value="localhost"/> |
|
|
|
<taskdef resource="oracle/antlib.xml" uri="antlib:oracle" loaderRef="oracle.tasks.loader"> |
|
<classpath> |
|
<pathelement path="${common.tasks.class.path}"/> |
|
</classpath> |
|
</taskdef> |
|
|
|
<target name="bind-web-app" depends="common"> |
|
<oracle:bindWebApp host="${oc4j.host}" port="${oc4j.admin.port}" |
|
userid="${oc4j.admin.user}" |
|
password="${oc4j.admin.password}" |
|
deploymentname="${app.name}" webmodule="${web.name}" |
|
websitename="${oc4j.binding.module}" |
|
contextroot="/${app.name}" |
|
/> |
|
</target> |
|
--> |
|
<!-- 9 - gerar release e disponibilizar no CVS --> |
|
</project> |