In una web app con una serie di file jrxml creati con Groovy ecco uno script per la compilazione dei jrxml in modo da avere sempre i .jasper aggiornati.
I report sono stati creati con groovy, nel caso in cui fossero stati realizzati con Java standard allora si averebbe nella jrc come compiler la classe net.sf.jasperreports.engine.design.JRJdtCompiler invece della net.sf.jasperreports.compilers.JRGroovyCompiler.
I jrxml si trovano all'interno di una web app , sotto la directory reports.
I report sono stati creati con groovy, nel caso in cui fossero stati realizzati con Java standard allora si averebbe nella jrc come compiler la classe net.sf.jasperreports.engine.design.JRJdtCompiler invece della net.sf.jasperreports.compilers.JRGroovyCompiler.
I jrxml si trovano all'interno di una web app , sotto la directory reports.
<project name="myProject" basedir="../" >
<property file="ant/build.properties"/>
<target name="COMPILE-JASPER">
<echo>Clean file jasper</echo>
<delete verbose= "true" >
<fileset dir="${webapp.target}/questionario" includes="*.jasper"/>
</delete>
<taskdef name="jrc" classname="net.sf.jasperreports.ant.JRAntCompileTask">
<classpath refid="compile.classpath"/>
</taskdef>
<jrc srcdir ="${webapp.target}/questionario"
destdir="${webapp.target}/questionario"
keepjava="false"
xmlvalidation="true"
excludes="**/test/*.java,**/Test*.java,*.bak"
compiler="net.sf.jasperreports.compilers.JRGroovyCompiler">
<classpath refid="compile.classpath"/>
</jrc>
</target>
Lo script iniziale prevede la definizione di un file di properties build.properties dove sono definiti i valori del classpath e delle variabili a cui ci si riferisce nello script.
<?xml version="1.0" encoding="UTF-8"?>
<project>
<property name="build.dir" value="${basedir}/build" />
<property name="doc.dir" value="${basedir}/doc" />
<property name="src" value="${basedir}/src" />
<property name="test" value="${basedir}/test" />
<property name="webapp.target" value="${basedir}/WebContent" />
<property name="webapp.conf" value="${webapp.target}/conf" />
<property name="webinf.dir" value="${webapp.target}/WEB-INF" />
<property name="web.lib" value="${webinf.dir}/lib" />
<property name="lib.lib" value="${basedir}/libProperties" />
<property name="javac.debug" value="true" />
<property name="compile.deprecation" value="true" />
<property name="build.compiler" value="modern" />
<property name="junit.fork" value="yes" />
<property name="junit.showoutput" value="true" />
<property environment="env" />
<property name="env.COMPUTERNAME" value="${env.HOSTNAME}" />
<property name="tomcat.home" value="${env.CATALINA_HOME}" />
<property name="webapp.name" value="gianos-pro" />
<property name="webapp.war" value="${webapp.name}.war" />
<property name="webapp.ear" value="${webapp.name}.ear" />
<property name="compile.jvm" value="1.6" />
<property name="compile.debug" value="true" />
<property name="compile.deprecation" value="false" />
<property name="compile.optimize" value="false" />
<path id="compile.classpath">
.... altri jar utili al progetto .....
<pathelement location="${web.lib}/jasperreports-4.7.0.jar"/>
<pathelement location="${web.lib}/groovy-all-1.7.5.jar"/>
<pathelement location="${web.lib}/jdt-compiler-3.1.1.jar"/>
<pathelement location="${build.dir}/classes"/>
</path>
</project>
Nessun commento:
Posta un commento