rajeshkumar created the topic: Ant Example code for Emma Instrumentation and reports
In-place instrument a certain subset of already compiled classes using overwrite mode and several coverage filters:
[code language=”css”]
<emma enabled=”${emma.enabled}” >
<instr instrpathref=”${out.dir}/classes”
mode=”overwrite”
>
<!– always exclude every class with a “Test” in the name: –>
<filter excludes=”*Test*” />
<!– don’t instrument everything in “${out.dir}/classes”,
only the stuff I am working on now: –>
<filter file=”myincludes.txt” />
<!– additional ANT command line hook: –>
<filter value=”${emma.filter}” />
</instr>
</emma>
[/code]
Don’t overwrite compiled classes that later need to go into official release jars (stay in copy mode). However, use incremental instrumentation for fast personal testing:
[code language=”css”]
<emma enabled=”${emma.enabled}” >
<instr instrpathref=”${out.dir}/classes”
outdir=”${out.dir}/classes-instrumented”
merge=”yes”
filter=”${emma.filter}”
/>
</emma>
[/code]
Take all jars already produced by the product build and make test (coverage-enabled) copies of them:
[code language=”css”]
<emma enabled=”${emma.enabled}” >
<instr mode=”fullcopy”
outdir=”${out.instr.dir}”
merge=”no”
filter=”${emma.filter}”
>
<instrpath>
<fileset dir=”${out.dir}” includes=”**/*.jar” />
</instrpath>
</instr>
</emma>
[/code]
[code language=”css”]
<copy todir=”${dist}”>
<fileset dir=”${src}”
includes=”**/images/*”
excludes=”**/*.gif”
/>
</copy>
[/code]
[code language=”css”]
<copy todir=”${dist}”>
<fileset dir=”${src}”>
<include name=”**/images/*”/>
<exclude name=”**/*.gif”/>
</fileset>
</copy>
[/code]
Groups all files in directory ${server.src} that are Java source files and don’t have the text Test in their name.
[code language=”css”]
<fileset dir=”${server.src}” casesensitive=”yes”>
<include name=”**/*.java”/>
<exclude name=”**/*Test*”/>
</fileset>
[/code]
Groups the same files as the above example, but also establishes a PatternSet that can be referenced in other
[code language=”css”]
<fileset dir=”${server.src}” casesensitive=”yes”>
<patternset id=”non.test.sources”>
<include name=”**/*.java”/>
<exclude name=”**/*Test*”/>
</patternset>
</fileset>
[/code]
Groups all files in directory ${client.src}, using the same patterns as the above example.
[code language=”css”]
<fileset dir=”${client.src}” >
<patternset refid=”non.test.sources”/>
</fileset>
[/code]
Groups the same files as the top example, but using the
[code language=”css”]
<fileset dir=”${server.src}” casesensitive=”yes”>
<filename name=”**/*.java”/>
<filename name=”**/*Test*” negate=”true”/>
</fileset>
[/code]
Groups the same files as the previous example using a combination of the
[code language=”css”]
<fileset dir=”${server.src}” casesensitive=”yes”>
<filename name=”**/*.java”/>
<not>
<filename name=”**/*Test*”/>
</not>
</fileset>
[/code]
Selects all files in src/main
[code language=”css”]
<fileset dir=”src” includes=”main/” />
<emma enabled=”${emma.enabled}” >
<instr mode=”overwrite”
instrpath=”${jar.location}”
destdir=”${inst.jar.location}”
metadatafile=”${inst.jar.location}/metadata.emma”
merge=”no” >
<instrpath>
<fileset dir=”${jar.location}” includes=”elance-services.jar,web-classes.jar,applet.jar,application-ejb.jar” />
</instrpath>
</instr>
</emma>
<emma enabled=”${emma.enabled}” >
<instr mode=”fullcopy”
instrpath=”${jar.location}”
outdir=”${inst.jar.location}”
metadatafile=”${inst.jar.location}/metadata.emma”
merge=”no” >
<instrpath>
<fileset dir=”${jar.location}” includes=”elance-services.jar,web-classes.jar,applet.jar,application-ejb.jar” />
</instrpath>
</instr>
</emma>
[/code]
Regards,
Rajesh Kumar
Twitt me @ twitter.com/RajeshKumarIn
I’m Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms.
I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies at Wizbrand.
Find Trusted Cardiac Hospitals
Compare heart hospitals by city and services — all in one place.
Explore Hospitals