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

Reply via email to