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 <[email protected]> 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 <[email protected]> wrote:
>
>>
>>
>> On Tue, Mar 20, 2012 at 10:56 AM, Thilini Ishaka <[email protected]>wrote:
>>
>>>
>>>
>>> On Tue, Mar 20, 2012 at 10:50 AM, Chintana Wilamuna 
>>> <[email protected]>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 <[email protected]> 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 <
>>>>> [email protected]> 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 <[email protected]> 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 <[email protected]>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 
>>>>>>>> <[email protected]>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 <[email protected]>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: **[email protected]* <[email protected]>* 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: **[email protected]* <[email protected]>* 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: **[email protected]* <[email protected]>* 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
>>>>>>> [email protected]
>>>>>>> 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: **[email protected]* <[email protected]>* 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
>>> [email protected]
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>> Supun Malinga,
>>
>> Software Engineer,
>> WSO2 Inc.
>> http://wso2.com
>> http://wso2.org
>> email - [email protected] <[email protected]>
>> mobile - 071 56 91 321
>>
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> 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: **[email protected]* <[email protected]>* 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: **[email protected]* <[email protected]>* 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
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to