Hi Marc, Thanks for clarifying.
Yes, so I can agree that Arquillian is built around an older JaCoCo version (I think originally from 0.5.x). However, I think what you're saying is that we should depend on the JaCoCo Agent RT JAR instead of the core JAR. Is that correct? https://github.com/jacoco/jacoco/blob/master/org.jacoco.agent.rt/pom.xml#L44 John On Sunday, November 2, 2014 6:08:19 PM UTC-5, Marc R. Hoffmann wrote: > > Hi John, > > sorry, my bad. I thought "core JAR" refers to Arquillian. > > I took a look at the source code and noticed that you implemented a > "offline instrumentation" aproach. Since JaCoCo 0.6.2 this is available out > of the box. Some pointers: > > - The implementation for instrumentation is called > org.jacoco.core.runtime.OfflineInstrumentationAccessGenerator > - jacocoagent.jar can directly be used as the JaCoCo offline runtime. It > already contains a shaded version of ASM5. > - To collect coverage information within the container the runtime offers > a public API in package org.jacoco.agent.rt ( > http://www.eclemma.org/jacoco/trunk/doc/api/org/jacoco/agent/rt/package-summary.html > ). > > I'm a litle reluctant to distribute a shaded version of ASM with JaCoCo > core. As I said ASM is used in the JaCoCo core API (not just used > internally). I don't want anybody to depend "our" version of ASM APIs. > > Cheers, > -marc > > > On 02.11.14 16:54, John D. Ament wrote: > > Hi, > > No, JaCoCo isn't inside the app server. The jacoco core library ends up > inside the app server to trigger test reads. I guess you guys would be the > best to explain what the core JAR does in respect to JaCoCo? > > Perhaps looking at the source code would help you? > https://github.com/arquillian/arquillian-extension-jacoco - it's pretty > straight forward on how it integrates w/ JaCoCo. > > > John > > On Sunday, November 2, 2014 10:22:36 AM UTC-5, Marc R. Hoffmann wrote: >> >> Hi John, >> >> sorry for asking, but I'm not familiar with the Arquillian arhitecture: >> >> - I understand that the JaCoCo agent whichs runs on the app server is not >> the problem, right? >> - The problem is with the "core JAR". What is the purpose of the core JAR >> in respect to JaCoCo? >> - Is there some repo or architecture outline I can study? >> >> Cheers, >> -marc >> >> >> On 02.11.14 14:32, John D. Ament wrote: >> >> Hi, >> >> Actually what Arquillian is doing is creating its own shaded JAR (at >> runtime) that contains the JaCoCo and ASM libraries in it, along with the >> Arquillian extension. This is the core JAR. the agent runs separately to >> receive data from the app server. >> >> The key thing to my request is the relocation of the classes. The ASM >> 3.1 JAR that ships gets activated by application that use it - e.g. CXF in >> your runtime. >> >> This is a classified shaded JAR, not a replacement shaded JAR. I >> wouldn't want to break anyone who might be using the old one. >> >> John >> >> On Sunday, November 2, 2014 5:46:41 AM UTC-5, Mirko Friedenhagen wrote: >>> >>> Just guessing: Arquilian builds an agent of it's own based on >>> jacoco-core which is deployed to/running as part of Wildfire >>> formerly-known-as-jboss. WF uses asm4. To ease building the >>> arquilian-jacoco-agent a shaded jar could be helpful. Drawback: it has a >>> similar but distinct API. >>> >>> Regards >>> Mirko >>> -- >>> Sent from my mobile >>> On Nov 2, 2014 9:31 AM, "Marc R. Hoffmann" <[email protected]> >>> wrote: >>> >>>> Hi John, >>>> >>>> ASM5 is required for Java 8 support. >>>> >>>> We already deliver two artifacts with shaded ASM5 included: >>>> >>>> 1) The JaCoCo agent itself (here even jacoco itself is relocated to a >>>> random package name to allow running JaCoCo on JaCoCo) >>>> 2) The jacocoant.jar which is part of the all-in-download distribution >>>> >>>> I don't think we can shade ASM for org.jacoco.core as ASM is part of >>>> the API here (more API to come once we have filtering). My assumption is >>>> that we should only apply shading for "stand alone tools" which do not >>>> provide a Java API. >>>> >>>> John, what is the specific situation where you run in trouble? Runtime? >>>> Analysis/Report generation time? I'm not familiar with the Arquillian >>>> architecture. >>>> >>>> Cheers, >>>> -marc >>>> >>>> >>>> On 02.11.14 01:15, John D. Ament wrote: >>>> >>>> So, I wanted to run this idea by the JaCoCo folks. >>>> >>>> I'm somewhat affiliated with Arquillian. Today I ran into an issue >>>> when someone upgraded the Arquillian JaCoCo extension to 0.7.1 and Java 8 >>>> support. While a great idea, looks like you did this by upgrading to ASM >>>> 5 >>>> as well. >>>> >>>> The problem is that ASM 5 isn't compatible w/ WildFly 8.1 (at least >>>> not yet) due to some JAX-WS dependencies. I'm able to work around this >>>> issue in Arquillian by creating a shaded JAR based on JaCoCo and ASM 5, >>>> where ASM 5 gets relocated to a different package. However before that >>>> goes in, I have to ask - would you be willing to distribute a shaded JAR >>>> w/ >>>> a relocation of ASM 5 to avoid this upgrade compatibility issue? >>>> >>>> I did a quick POC locally and it did work just as well. You can see >>>> the changes here: >>>> https://github.com/johnament/jacoco/commit/8bc85be663005ab490dadbdb76dfee0a13f4033d >>>> >>>> If you're interested in the additional distribution, I can raise a PR >>>> to merge my code into JaCoCo to create the shaded JAR. >>>> >>>> Let me know. >>>> >>>> John >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "JaCoCo and EclEmma Users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "JaCoCo and EclEmma Users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "JaCoCo and EclEmma Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> >> > -- You received this message because you are subscribed to the Google Groups "JaCoCo and EclEmma Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
