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
