-
Suggestion
-
Resolution: Won't Fix
-
None
Embed clover-runtime.jar into created JAR/WAR/EAR
Problem:
Instrumenting code by Clover is not enough, user has to manually add clover.jar to the runtime classpath. Otherwise it gets "ClassNotFoundException com_cenqua_clover/CoverageRecorder" error. There are over 6'000 views on answers.atlassian.com about this problem (it's #1 on the list)
Solution:
Create a possiblity to automatically or manually embed clover-runtime.jar into produced JAR/WAR/EAR artifacts.
Tasks:
1) Restructure Clover modules and find exact set of runtime classes, create clover-runtime.jar artifact out of it (will be published on Maven Central). Such subset was already found for Clover-for-Android, but it does not have classes for Distributed Coverage feature. See linked issue.
2) Create Ant task like <clover-embed-runtime-jar targetJar="my.jar"/> which will allow to manually put runtime classes into it.
3) Check if it would be possible to intercept all <jar/> calls as well and do it automatically. Add option to disable this automatic integration and/or to specify regular expression pattern which jars shall be enhanced.
4) Create Maven goal like clover2:embed-runtime-jar with <targetJar> property.
5) Check how to automatically embed Clover runtime classes. Possibilities:
- extract clover-runtime.jar into target/classes or target/classes-clover
- scan build reactor, intercept packaging tasks like maven-ear-plugin, maven-jar-plugin, maven-rar-plugin, maven-war-plugin, maven-assembly-plugin
- modify maven project at runtime and add clover:clover-runtime dependency
6) Eclipse integration - we already have -Xbootclasspath for "Run with Clover as..." but it's not enough if user has web application for example. Extract clover-runtime.jar into project's build folder so that other packaging tools could automatically pick these classes. Add pre-build or post-clean event handler to make sure that these classes will be still present after rebuild. Add some option in Window > Preferences or Project > Properties for this.
7) IDEA integration - put these classes into out/production and out/test. Add option in File > Settings > Project Settings or File > Settings > IDE Settings for this.
8) Grails integration - t.b.d.
- relates to
-
CLOV-1123 Restructure Clover modules
-
- Closed
-
-
CLOV-271 Ant task needed to add Clover runtime classes to a jar/war/ear file
- Closed
-
CLOV-563 Make a single minimal Clover runtime jar that only includes classes required by running instrumented applications.
- Closed
-
CLOV-580 Allow expansion of the Clover runtime jar into a project folder to allow for easier deployment of instrumented jars and wars
- Closed
-
CLOV-818 Export clovered builds from Eclipse
- Closed
- mentioned in
-
Page Loading...
[CLOV-1237] as a developer I'd like not to deploy clover.jar to app server
Workflow | Original: JAC Suggestion Workflow [ 3342497 ] | New: JAC Suggestion Workflow 3 [ 3584990 ] |
Status | Original: RESOLVED [ 5 ] | New: Closed [ 6 ] |
Epic Child |
Original:
|
|
Epic Child |
Original:
|
|
Epic Child |
Original:
|
|
Epic Child |
Original:
|
|
Epic Child |
Original:
|
|
Epic Child |
Original:
|
|
Epic Child |
Original:
|
|
Epic Child |
Original:
|
|
Epic Child |
Original:
|
|
Epic Child |
Original:
|
|
Epic Child |
Original:
|
|
Epic Child |
Original:
|
Epic Colour | Original: ghx-label-2 | |
Epic Name | Original: clover-runtime | |
Epic Status | Original: To Do [ 11732 ] | |
Workflow | Original: New Clover Workflow - Restricted [ 1474521 ] | New: JAC Suggestion Workflow [ 3342497 ] |
Issue Type | Original: Epic [ 19 ] | New: Suggestion [ 10000 ] |
Status | Original: Closed [ 6 ] | New: Resolved [ 5 ] |
Resolution | New: Won't Fix [ 2 ] | |
Status | Original: Open [ 1 ] | New: Closed [ 6 ] |
Assignee | Original: Marek Parfianowicz [ mparfianowicz ] |
Epic Colour | New: ghx-label-2 |
Workflow | Original: New Clover Workflow [ 898088 ] | New: New Clover Workflow - Restricted [ 1474521 ] |
Description |
Original:
*Embed clover-runtime.jar into created JAR/WAR/EAR*
*Problem:* Instrumenting code by Clover is not enough, user has to manually add clover.jar to the runtime classpath. Otherwise it gets "ClassNotFoundException com_cenqua_clover/CoverageRecorder" error. There are over 6'000 views on answers.atlassian.com about this problem (it's #1 on the list) *Solution:* Create a possiblity to automatically or manually embed clover-runtime.jar into produced JAR/WAR/EAR artifacts. *Tasks:* 1) Restructure Clover modules and find exact set of runtime classes, create clover-runtime.jar artifact out of it (will be published on Maven Central). Such subset was already found for Clover-for-Android, but it does not have classes for Distributed Coverage feature. See linked issue. 2) Create Ant task like <clover-embed-runtime-jar targetJar="my.jar"/> which will allow to manually put runtime classes into it. 3) Check if it would be possible to intercept all <jar/> calls as well and do it automatically. Add option to disable this automatic integration and/or to specify regular expression pattern which jars shall be enhanced. 4) Create Maven goal like clover2:embed-runtime-jar with <targetJar> property. 5) Check how to automatically embed Clover runtime classes. Possibilities: * extract clover-runtime.jar into target/classes or target/classes-clover * scan build reactor, intercept packaging tasks like maven-ear-plugin, maven-jar-plugin, maven-rar-plugin, maven-war-plugin, maven-assembly-plugin * modify maven project at runtime and add clover:clover-runtime dependency 6) Eclipse integration - we already have -Xbootclasspath for "Run with Clover as..." but it's not enough if user has web application for example. Extract clover-runtime.jar into project's build folder so that other packaging tools could automatically pick these classes. Add pre-build or post-clean event handler to make sure that these classes will be still present after rebuild. Add some option in Window > Preferences or Project > Properties for this. 7) IDEA integration - put these classes into out/production and out/test. Add option in File > Settings > Project Settings or File > Settings > IDE Settings for this. 8) Grails integration - t.b.d. |
New:
*Embed clover-runtime.jar into created JAR/WAR/EAR*
*Problem:* Instrumenting code by Clover is not enough, user has to manually add clover.jar to the runtime classpath. Otherwise it gets "ClassNotFoundException com_cenqua_clover/CoverageRecorder" error. There are over 6'000 views on answers.atlassian.com about this problem (it's #1 on the list) *Solution:* Create a possiblity to automatically or manually embed clover-runtime.jar into produced JAR/WAR/EAR artifacts. *Tasks:* 1) (/) Restructure Clover modules and find exact set of runtime classes, create clover-runtime.jar artifact out of it (will be published on Maven Central). Such subset was already found for Clover-for-Android, but it does not have classes for Distributed Coverage feature. See linked issue. 2) Create Ant task like <clover-embed-runtime-jar targetJar="my.jar"/> which will allow to manually put runtime classes into it. 3) Check if it would be possible to intercept all <jar/> calls as well and do it automatically. Add option to disable this automatic integration and/or to specify regular expression pattern which jars shall be enhanced. 4) Create Maven goal like clover2:embed-runtime-jar with <targetJar> property. 5) Check how to automatically embed Clover runtime classes. Possibilities: * extract clover-runtime.jar into target/classes or target/classes-clover * scan build reactor, intercept packaging tasks like maven-ear-plugin, maven-jar-plugin, maven-rar-plugin, maven-war-plugin, maven-assembly-plugin * modify maven project at runtime and add clover:clover-runtime dependency 6) Eclipse integration - we already have -Xbootclasspath for "Run with Clover as..." but it's not enough if user has web application for example. Extract clover-runtime.jar into project's build folder so that other packaging tools could automatically pick these classes. Add pre-build or post-clean event handler to make sure that these classes will be still present after rebuild. Add some option in Window > Preferences or Project > Properties for this. 7) IDEA integration - put these classes into out/production and out/test. Add option in File > Settings > Project Settings or File > Settings > IDE Settings for this. 8) Grails integration - t.b.d. |
Remote Link | New: This issue links to "Page (Atlassian Documentation)" [ 111481 ] |
Workflow | Original: Clover Workflow [ 896574 ] | New: New Clover Workflow [ 898088 ] |