{"id":2611,"date":"2017-12-09T08:06:17","date_gmt":"2017-12-09T08:06:17","guid":{"rendered":"http:\/\/www.scmgalaxy.com\/tutorials\/?p=2611"},"modified":"2020-01-09T07:44:27","modified_gmt":"2020-01-09T07:44:27","slug":"ant-script-with-emma-code-coverage","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/ant-script-with-emma-code-coverage\/","title":{"rendered":"Ant script with EMMA code-coverage"},"content":{"rendered":"<p><strong>scmuser created the topic: Ant script with EMMA code-coverage<\/strong><\/p>\n<p>Ant script with EMMA code-coverage so it can find runtime coverage data?<\/p>\n<p>[code language=&#8221;css&#8221;]<br \/>\n&lt;taskdef resource=&#8221;emma_ant.properties&#8221;&gt;<br \/>\n&lt;classpath&gt;<br \/>\n&lt;pathelement location=&#8221;lib\/emma.jar&#8221; \/&gt;<br \/>\n&lt;pathelement location=&#8221;lib\/emma_ant.jar&#8221; \/&gt;<br \/>\n&lt;\/classpath&gt;<br \/>\n&lt;\/taskdef&gt;<\/p>\n<p>&lt;target name=&#8221;compile&#8221;&gt;<br \/>\n&lt;mkdir dir=&#8221;build&#8221;\/&gt; &lt;!&#8211; vytvori adresar build &#8211;&gt;<br \/>\n&lt;mkdir dir=&#8221;build\/classes&#8221;\/&gt;<br \/>\n&lt;mkdir dir=&#8221;build\/test&#8221;\/&gt;<br \/>\n&lt;javac destdir=&#8221;build\/classes&#8221; srcdir=&#8221;src&#8221; debug=&#8221;true&#8221; \/&gt; &lt;!&#8211; prelozi zdrojove kody &#8211;&gt;<br \/>\n&lt;javac destdir=&#8221;build\/test&#8221; srcdir=&#8221;test&#8221;&gt; &lt;!&#8211; prelozi testy &#8211;&gt;<br \/>\n&lt;classpath&gt; &lt;!&#8211; pro prelozeni testu je potreba junit a prelozena aplikace &#8211;&gt;<br \/>\n&lt;pathelement location=&#8221;lib\/junit-4.5.jar&#8221; \/&gt;<br \/>\n&lt;pathelement location=&#8221;build\/classes&#8221; \/&gt;<br \/>\n&lt;\/classpath&gt;<br \/>\n&lt;\/javac&gt;<br \/>\n&lt;\/target&gt;<\/p>\n<p>&lt;target name=&#8221;build&#8221; depends=&#8221;compile&#8221;&gt;<br \/>\n&lt;jar destfile=&#8221;tetris.jar&#8221; basedir=&#8221;build\/classes&#8221;&gt; &lt;!&#8211; zabali aplikaci do jaru &#8211;&gt;<br \/>\n&lt;manifest&gt;<br \/>\n&lt;attribute name=&#8221;Main-Class&#8221; value=&#8221;tetris.Main&#8221;\/&gt;<br \/>\n&lt;attribute name=&#8221;Class-Path&#8221; value=&#8221;lib\/mysql-connector-java-5.1.6-bin.jar lib\/derbyclient.jar&#8221;\/&gt;<br \/>\n&lt;\/manifest&gt;<br \/>\n&lt;\/jar&gt;<br \/>\n&lt;\/target&gt;<\/p>\n<p>&lt;target name=&#8221;jar&#8221; depends=&#8221;build&#8221;&gt;&lt;\/target&gt;<\/p>\n<p>&lt;target name=&#8221;run&#8221; depends=&#8221;compile&#8221;&gt;<br \/>\n&lt;java classname=&#8221;tetris.Main&#8221; classpath=&#8221;build\/classes&#8221;&gt;  &lt;!&#8211; spusti aplikaci &#8211;&gt;<br \/>\n&lt;classpath&gt;<br \/>\n&lt;pathelement location=&#8221;lib\/mysql-connector-java-5.1.6-bin.jar&#8221; \/&gt;<br \/>\n&lt;pathelement location=&#8221;lib\/derbyclient.jar&#8221; \/&gt;<br \/>\n&lt;\/classpath&gt;<br \/>\n&lt;\/java&gt;<br \/>\n&lt;\/target&gt;<\/p>\n<p>&lt;target name=&#8221;instrument&#8221; depends=&#8221;compile&#8221;&gt;<br \/>\n&lt;mkdir dir=&#8221;build\/instrumented&#8221;\/&gt;<\/p>\n<p>&lt;emma verbosity=&#8221;verbose&#8221;&gt; &lt;!&#8211; vytvori tridy upravene pro sledovani coverage &#8211;&gt;<br \/>\n&lt;instr instrpath=&#8221;build\/classes&#8221;<br \/>\ndestdir=&#8221;build\/instrumented&#8221;<br \/>\nmetadatafile=&#8221;build\/metadata.emma&#8221;<br \/>\nmerge=&#8221;true&#8221; \/&gt;<br \/>\n&lt;\/emma&gt;<br \/>\n&lt;\/target&gt;<\/p>\n<p>&lt;target name=&#8221;test&#8221; depends=&#8221;instrument&#8221;&gt;<br \/>\n&lt;mkdir dir=&#8221;reports&#8221; \/&gt;<br \/>\n&lt;mkdir dir=&#8221;reports\/junit&#8221; \/&gt;<\/p>\n<p>&lt;junit printsummary=&#8221;yes&#8221; haltonfailure=&#8221;no&#8221; fork=&#8221;true&#8221;&gt; &lt;!&#8211; pusti JUnit testy &#8211;&gt;<br \/>\n&lt;classpath&gt;<br \/>\n&lt;pathelement location=&#8221;build\/test&#8221; \/&gt;<br \/>\n&lt;pathelement location=&#8221;build\/classes&#8221; \/&gt;<br \/>\n&lt;pathelement location=&#8221;build\/instrumented&#8221; \/&gt;<br \/>\n&lt;pathelement location=&#8221;lib\/junit-4.5.jar&#8221; \/&gt;<br \/>\n&lt;pathelement location=&#8221;lib\/emma.jar&#8221; \/&gt;<br \/>\n&lt;pathelement location=&#8221;lib\/emma_ant.jar&#8221; \/&gt;<br \/>\n&lt;\/classpath&gt;<\/p>\n<p>&lt;formatter usefile=&#8221;false&#8221; type=&#8221;brief&#8221; \/&gt;<br \/>\n&lt;formatter type=&#8221;plain&#8221;\/&gt;<\/p>\n<p>&lt;batchtest fork=&#8221;yes&#8221; todir=&#8221;reports\/junit&#8221;&gt; &lt;!&#8211; reporty budou v adresari reports\/junit &#8211;&gt;<br \/>\n&lt;fileset dir=&#8221;test&#8221;&gt;<br \/>\n&lt;include name=&#8221;**\/TetrisSuite.java&#8221;\/&gt;<br \/>\n&lt;\/fileset&gt;<br \/>\n&lt;\/batchtest&gt;<br \/>\n&lt;jvmarg value=&#8221;-Demma.coverage.out.file=build\/coverage.emma&#8221;\/&gt;<br \/>\n&lt;jvmarg value=&#8221;-Demma.coverage.out.merge=true&#8221; \/&gt;<br \/>\n&lt;\/junit&gt;<\/p>\n<p>&lt;emma enabled=&#8221;true&#8221; verbosity=&#8221;verbose&#8221;&gt; &lt;!&#8211; vygeneruje report emmy &#8211;&gt;<br \/>\n&lt;report sourcepath=&#8221;src&#8221;&gt;<br \/>\n&lt;fileset dir=&#8221;build&#8221; includes=&#8221;*.emma&#8221; \/&gt;<\/p>\n<p>&lt;html outfile=&#8221;reports\/coverage.html&#8221; \/&gt;<br \/>\n&lt;\/report&gt;<br \/>\n&lt;\/emma&gt;<br \/>\n&lt;\/target&gt;<\/p>\n<p>&lt;target name=&#8221;clean&#8221;&gt;<br \/>\n&lt;delete dir=&#8221;build&#8221;\/&gt; &lt;!&#8211; smaze adresar build &#8211;&gt;<br \/>\n&lt;delete dir=&#8221;reports&#8221;\/&gt;<br \/>\n&lt;delete file=&#8221;tetris.jar&#8221;\/&gt;<br \/>\n&lt;\/target&gt;<br \/>\n[\/code]<\/p>\n<p>processing input file [&#8230;NetBeansProjects\/Tetris3\/build\/metadata.emma] &#8230;<br \/>\nloaded 25 metadata entries<br \/>\n1 file(s) read and merged in 5 ms<br \/>\nnothing to do: no runtime coverage data found in any of the data files<\/p>\n","protected":false},"excerpt":{"rendered":"<p>scmuser created the topic: Ant script with EMMA code-coverage Ant script with EMMA code-coverage so it can find runtime coverage data? [code language=&#8221;css&#8221;] &lt;taskdef resource=&#8221;emma_ant.properties&#8221;&gt; &lt;classpath&gt; &lt;pathelement location=&#8221;lib\/emma.jar&#8221; \/&gt; &lt;pathelement&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[278],"class_list":["post-2611","post","type-post","status-publish","format-standard","hentry","category-uncategorised","tag-script"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/2611","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=2611"}],"version-history":[{"count":2,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/2611\/revisions"}],"predecessor-version":[{"id":8526,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/2611\/revisions\/8526"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=2611"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=2611"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=2611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}