Hi Azeez, There is a plugin for bamboo to integrate emma reports with bamboo [1]. Only thing requires in emma report should be on .xml format.
[1] https://studio.plugins.atlassian.com/wiki/display/BCOV/Bamboo+Coverage+Plugin#BambooCoveragePlugin-Setup Thank You, Dharshana. On Tue, Mar 20, 2012 at 11:50 AM, Afkham Azeez <az...@wso2.com> wrote: > We don't need sh/bat scripts. We can do this purely in Java > by programmatically calling emma. > > > On Tue, Mar 20, 2012 at 11:19 AM, Afkham Azeez <az...@wso2.com> wrote: > >> This Ruby script thing is too complicated & we can't expect all the >> people who build our platform to install Ruby & gems and what not. So, >> let's get rid of the Ruby script & replace it with a sh & bat file. I will >> look into the sh file, someone on Windows please look into the bat file. >> >> >> On Tue, Mar 20, 2012 at 11:04 AM, Supun Malinga <sup...@wso2.com> wrote: >> >>> >>> >>> On Tue, Mar 20, 2012 at 10:56 AM, Thilini Ishaka <thil...@wso2.com>wrote: >>> >>>> >>>> >>>> On Tue, Mar 20, 2012 at 10:50 AM, Chintana Wilamuna >>>> <chint...@wso2.com>wrote: >>>> >>>>> Hi, >>>>> >>>>> Try doing a # gem install zip >>>>> >>>> Yes. >>>> sudo apt-get install libzip-ruby1.8 >>>> >>> >>> libzip-ruby1.9.1 is latest it seems. >>> >>> thanks, >>> >>>> >>>> >>>>> >>>>> You need to have rubygems installed - >>>>> http://rubygems.org/pages/download >>>>> >>>>> -Chintana >>>>> >>>>> >>>>> On Tue, Mar 20, 2012 at 5:44 AM, Afkham Azeez <az...@wso2.com> wrote: >>>>> >>>>>> How do you manually run this ruby script? >>>>>> >>>>>> ruby gen_emma_coverage.rb instrument >>>>>> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home >>>>>> >>>>>> Above command did not work on Mac OS X. >>>>>> >>>>>> I got the following error. >>>>>> >>>>>> gen_emma_coverage.rb:3:in `require': no such file to load -- zip/zip >>>>>> (LoadError) >>>>>> from gen_emma_coverage.rb:3 >>>>>> >>>>>> >>>>>> On Tue, Mar 20, 2012 at 9:59 AM, Charitha Kankanamge < >>>>>> chari...@wso2.com> wrote: >>>>>> >>>>>>> *.em file (EMMA meta data holder) has been generated by "instr" >>>>>>> command (xargs -n 1 $JAVA_HOME/jre/bin/java -cp emma.jar emma instr >>>>>>> -m overwrite -cp < jarlist.txt), so this command execution did not >>>>>>> happen >>>>>>> correctly or failed. >>>>>>> >>>>>>> [1] http://emma.sourceforge.net/userguide/ar01s02s03.html >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Tue, Mar 20, 2012 at 9:12 AM, Afkham Azeez <az...@wso2.com>wrote: >>>>>>> >>>>>>>> OK. I got the hang of it. But now it is failing with the following >>>>>>>> error. >>>>>>>> >>>>>>>> Caused by: java.io.FileNotFoundException: Source >>>>>>>> '/Users/azeez/projects/wso2/org/carbon/kernel/trunk/distribution/integration/tests/target/carbontmp1332214836127/wso2carbon-core-4.0.0-SNAPSHOT/coverage.em' >>>>>>>> does not exist >>>>>>>> at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:767) >>>>>>>> at >>>>>>>> org.apache.commons.io.FileUtils.copyFileToDirectory(FileUtils.java:706) >>>>>>>> at >>>>>>>> org.apache.commons.io.FileUtils.copyFileToDirectory(FileUtils.java:670) >>>>>>>> at >>>>>>>> org.wso2.carbon.integration.framework.utils.ServerUtils.instrumentJarsForEmma(ServerUtils.java:232) >>>>>>>> at >>>>>>>> org.wso2.carbon.integration.framework.utils.ServerUtils.startServerUsingCarbonHome(ServerUtils.java:55) >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Mar 20, 2012 at 8:44 AM, Afkham Azeez <az...@wso2.com>wrote: >>>>>>>> >>>>>>>>> Can you please explain how that method works? >>>>>>>>> >>>>>>>>> 1. What does the following block do? >>>>>>>>> >>>>>>>>> for (File file : new File(emmaHome).listFiles()) { >>>>>>>>> if >>>>>>>>> (file.getName().startsWith("org.wso2.carbon.integration.core")) { >>>>>>>>> ArchiveManipulator archiveManipulator = new >>>>>>>>> ArchiveManipulator(); >>>>>>>>> >>>>>>>>> archiveManipulator.extract(file.getAbsolutePath(), emmaHome); >>>>>>>>> } else if (file.getName().startsWith("emma")) { >>>>>>>>> emmaJarName = file.getName(); >>>>>>>>> } >>>>>>>>> } >>>>>>>>> >>>>>>>>> >>>>>>>>> 2. What does the following block do? >>>>>>>>> >>>>>>>>> for (File file : new File[]{new File(carbonHome), emmaOutput}) { >>>>>>>>> FileUtils.copyFileToDirectory(new File(carbonHome >>>>>>>>> + File.separator + "lib" + >>>>>>>>> File.separator + "emma.jar"), file); >>>>>>>>> FileUtils.copyFileToDirectory(new File(emmaHome + >>>>>>>>> "gen_emma_coverage.rb"), file); >>>>>>>>> FileUtils.copyFileToDirectory(new File(jarList), >>>>>>>>> file); >>>>>>>>> } >>>>>>>>> >>>>>>>>> gen_emma_coverage.rb is inside the resources directory in the >>>>>>>>> Maven module. How does it get picked? >>>>>>>>> >>>>>>>>> >>>>>>>>> On Tue, Mar 20, 2012 at 8:28 AM, Thilini Ishaka >>>>>>>>> <thil...@wso2.com>wrote: >>>>>>>>> >>>>>>>>>> If I recall, we initially generated the coverage report manually >>>>>>>>>> by using below set of steps. >>>>>>>>>> Then the ServerUtils is used to handle that. >>>>>>>>>> >>>>>>>>>> 1. Create a jarlist.txt >>>>>>>>>> eg:* find >>>>>>>>>> /home/thilini/Desktop/wso2greg-3.6.0/repository/components/plugins/ >>>>>>>>>> >> >>>>>>>>>> /home/thilini/Desktop/wso2greg-3.6.0/repository/components/plugins/jarlist.txt >>>>>>>>>> * (jarlist.txt should contain absolute paths of jars. Remove >>>>>>>>>> unwanted jars from the list. If not there will be issues when >>>>>>>>>> starting the >>>>>>>>>> server) >>>>>>>>>> >>>>>>>>>> 2. xargs -n 1 $JAVA_HOME/jre/bin/java -cp emma.jar emma instr -m >>>>>>>>>> overwrite -cp < jarlist.txt >>>>>>>>>> 3. ruby dynamicImportsPatcher.rb < jarlist.txt (Before running >>>>>>>>>> this step need to install rubyzip. Use sudo apt-get install >>>>>>>>>> libzip-ruby1.8) >>>>>>>>>> 4. Copy emma.jar to */repository/components/plugins, >>>>>>>>>> /repository/components/lib *and */lib *directories. >>>>>>>>>> 4. Start Carbon Server >>>>>>>>>> 5. Do the test >>>>>>>>>> 6. Shutdown server >>>>>>>>>> 7. cp wso2greg-3.6.0/coverage.ec . >>>>>>>>>> 8. java -cp emma.jar emma report -r html -in coverage.em, >>>>>>>>>> coverage.ec >>>>>>>>>> >>>>>>>>>> <http://coverage.ec/>Thanks >>>>>>>>>> Thilini >>>>>>>>>> >>>>>>>>>> On Tue, Mar 20, 2012 at 8:02 AM, Afkham Azeez <az...@wso2.com>wrote: >>>>>>>>>> >>>>>>>>>>> Emma has been disabled for the past few months, and inevitably, >>>>>>>>>>> the code that does the instrumentation does not work. Can the >>>>>>>>>>> person who >>>>>>>>>>> wrote the following method please explain how it works? >>>>>>>>>>> >>>>>>>>>>> public synchronized static void instrumentJarsForEmma(String >>>>>>>>>>> carbonHome) throws IOException { >>>>>>>>>>> String workingDir = System.getProperty("user.dir"); >>>>>>>>>>> try { >>>>>>>>>>> System.setProperty("user.dir", carbonHome); >>>>>>>>>>> String emmaHome = System.getProperty("emma.home"); >>>>>>>>>>> if (emmaHome == null) { >>>>>>>>>>> return; >>>>>>>>>>> } else if (!emmaHome.endsWith(File.separator)) { >>>>>>>>>>> emmaHome += File.separator; >>>>>>>>>>> } >>>>>>>>>>> File emmaOutput = new >>>>>>>>>>> File(System.getProperty("emma.output")); >>>>>>>>>>> if (!emmaOutput.exists()) { >>>>>>>>>>> FileUtils.forceMkdir(emmaOutput); >>>>>>>>>>> } >>>>>>>>>>> String emmaJarName = null; >>>>>>>>>>> for (File file : new File(emmaHome).listFiles()) { >>>>>>>>>>> if >>>>>>>>>>> (file.getName().startsWith("org.wso2.carbon.integration.core")) { >>>>>>>>>>> ArchiveManipulator archiveManipulator = new >>>>>>>>>>> ArchiveManipulator(); >>>>>>>>>>> >>>>>>>>>>> archiveManipulator.extract(file.getAbsolutePath(), emmaHome); >>>>>>>>>>> } else if (file.getName().startsWith("emma")) { >>>>>>>>>>> emmaJarName = file.getName(); >>>>>>>>>>> } >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> if (emmaJarName == null) { >>>>>>>>>>> return; >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> String jarList = System.getProperty("jar.list"); >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> FileUtils.copyFile(new File(emmaHome + emmaJarName), >>>>>>>>>>> new File(carbonHome + File.separator + >>>>>>>>>>> "repository" + >>>>>>>>>>> File.separator + "components" + >>>>>>>>>>> File.separator + "plugins" + >>>>>>>>>>> File.separator + "emma.jar")); >>>>>>>>>>> FileUtils.copyFile(new File(emmaHome + emmaJarName), >>>>>>>>>>> new File(carbonHome + File.separator + >>>>>>>>>>> "repository" + >>>>>>>>>>> File.separator + "components" + >>>>>>>>>>> File.separator + "lib" + >>>>>>>>>>> File.separator + "emma.jar")); >>>>>>>>>>> FileUtils.copyFile(new File(emmaHome + emmaJarName), >>>>>>>>>>> new File(carbonHome + File.separator + "lib" >>>>>>>>>>> + >>>>>>>>>>> File.separator + "emma.jar")); >>>>>>>>>>> for (File file : new File[]{new File(carbonHome), >>>>>>>>>>> emmaOutput}) { >>>>>>>>>>> FileUtils.copyFileToDirectory(new >>>>>>>>>>> File(carbonHome + File.separator + "lib" + >>>>>>>>>>> File.separator + "emma.jar"), file); >>>>>>>>>>> FileUtils.copyFileToDirectory(new File(emmaHome >>>>>>>>>>> + "gen_emma_coverage.rb"), file); >>>>>>>>>>> FileUtils.copyFileToDirectory(new File(jarList), >>>>>>>>>>> file); >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> String temp; >>>>>>>>>>> Process process = Runtime.getRuntime().exec(new >>>>>>>>>>> String[]{"ruby", >>>>>>>>>>> "gen_emma_coverage.rb", "instrument", >>>>>>>>>>> System.getenv("JAVA_HOME")}, null, >>>>>>>>>>> new File(carbonHome)); >>>>>>>>>>> BufferedReader reader = new BufferedReader( >>>>>>>>>>> new >>>>>>>>>>> InputStreamReader(process.getInputStream())); >>>>>>>>>>> try { >>>>>>>>>>> while ((temp = reader.readLine()) != null) { >>>>>>>>>>> System.out.println(temp); >>>>>>>>>>> } >>>>>>>>>>> } catch (IOException ignored) { >>>>>>>>>>> } >>>>>>>>>>> FileUtils.copyFileToDirectory(new File(carbonHome + >>>>>>>>>>> File.separator + "coverage.em"), >>>>>>>>>>> emmaOutput); >>>>>>>>>>> } finally { >>>>>>>>>>> System.setProperty("user.dir", workingDir); >>>>>>>>>>> } >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> *Afkham Azeez* >>>>>>>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>>>>>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>>>>>>>> * <http://www.apache.org/>** >>>>>>>>>>> email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919 >>>>>>>>>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >>>>>>>>>>> twitter: >>>>>>>>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>>>>>>>>> * >>>>>>>>>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >>>>>>>>>>> * >>>>>>>>>>> * >>>>>>>>>>> *Lean . Enterprise . Middleware* >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> *Regards* >>>>>>>>>> >>>>>>>>>> *Thilini Ishaka* >>>>>>>>>> *WSO2 Inc. http://wso2.com >>>>>>>>>> * >>>>>>>>>> *Mobile: +94 71 840 8171 * >>>>>>>>>> * +94 77 211 8797* >>>>>>>>>> *Bolg: thiliniishaka.blogspot.com* >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> *Afkham Azeez* >>>>>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>>>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>>>>>> * <http://www.apache.org/>** >>>>>>>>> email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919 >>>>>>>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >>>>>>>>> twitter: >>>>>>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>>>>>>> * >>>>>>>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >>>>>>>>> * >>>>>>>>> * >>>>>>>>> *Lean . Enterprise . Middleware* >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *Afkham Azeez* >>>>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>>>>> * <http://www.apache.org/>** >>>>>>>> email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919 >>>>>>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >>>>>>>> twitter: >>>>>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>>>>>> * >>>>>>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >>>>>>>> * >>>>>>>> * >>>>>>>> *Lean . Enterprise . Middleware* >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Dev mailing list >>>>>>>> Dev@wso2.org >>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Afkham Azeez* >>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>>>> Member; Apache Software Foundation; http://www.apache.org/ >>>>>> * <http://www.apache.org/>** >>>>>> email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919 >>>>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >>>>>> twitter: >>>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>>>> * >>>>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >>>>>> * >>>>>> * >>>>>> *Lean . Enterprise . Middleware* >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Chintana Wilamuna >>>>> Associate Technical Lead >>>>> WSO2, Inc.; http://wso2.com >>>>> lean.enterprise.middleware >>>>> >>>>> phone: +94 75 211 1106 >>>>> blog: http://engwar.com/ >>>>> photos: http://flickr.com/photos/chintana >>>>> linkedin: http://www.linkedin.com/in/engwar >>>>> twitter: twitter.com/std_err >>>>> >>>>> >>>> >>>> >>>> -- >>>> *Regards* >>>> >>>> *Thilini Ishaka* >>>> *WSO2 Inc. http://wso2.com >>>> * >>>> *Mobile: +94 71 840 8171 * >>>> * +94 77 211 8797* >>>> *Bolg: thiliniishaka.blogspot.com* >>>> >>>> >>>> _______________________________________________ >>>> Dev mailing list >>>> Dev@wso2.org >>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>> >>>> >>> >>> >>> -- >>> Supun Malinga, >>> >>> Software Engineer, >>> WSO2 Inc. >>> http://wso2.com >>> http://wso2.org >>> email - sup...@wso2.com <sup...@wso2.com> >>> mobile - 071 56 91 321 >>> >>> >>> _______________________________________________ >>> Dev mailing list >>> Dev@wso2.org >>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>> >>> >> >> >> -- >> *Afkham Azeez* >> Director of Architecture; WSO2, Inc.; http://wso2.com >> Member; Apache Software Foundation; http://www.apache.org/ >> * <http://www.apache.org/>** >> email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919 >> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >> twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >> * >> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >> * >> * >> *Lean . Enterprise . Middleware* >> >> > > > -- > *Afkham Azeez* > Director of Architecture; WSO2, Inc.; http://wso2.com > Member; Apache Software Foundation; http://www.apache.org/ > * <http://www.apache.org/>** > email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919 > blog: **http://blog.afkham.org* <http://blog.afkham.org>* > twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> > * > linked-in: **http://lk.linkedin.com/in/afkhamazeez* > * > * > *Lean . Enterprise . Middleware* > > > _______________________________________________ > Dev mailing list > Dev@wso2.org > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- Dharshana Warusavitharana Software Engineer , Test Automation WSO2 Inc. http://wso2.com email : dharsha...@wso2.com <dharsha...@wso2.com> cell : +94772202595 blog : http://dharshanaw.wordpress.com/ <http://isurues.wordpress.com/> lean . enterprise . middleware
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev