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


>
> 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

Reply via email to