-
Suggestion
-
Resolution: Won't Fix
-
None
Create a Service Provider Interface for Clover, which will allow to attach new source code and/or byte code instrumenters. It will allow us to create a pluggable architecture so that new programming languages (e.g. Scala, JRuby, Jython, Closure) could be supported.
Rough idea:
- new language instrumenters can be attached by META-INF/services
- they can provide some callback like canInstrument(File) or canInstrument(InstrumentationSource)
- clover shall pass file/instrumentation source to such instrumenter together with Clover's configuration and an open instrumentation session
- extension instruments on its own calling session.enterXyz()/exitXyz() methods
- extension writes output file on its own
- language instrumenter could work also with an Abstract Syntax Tree (e.g. Groovy or Scala - we may need a different way of attaching here)
- new language renderers can be attached by META-INF/services - move to another issue?
[CLOV-1142] Expose a Service Provider Interface for Clover for handling new languages
Workflow | Original: JAC Suggestion Workflow [ 3342489 ] | New: JAC Suggestion Workflow 3 [ 3584403 ] |
Status | Original: RESOLVED [ 5 ] | New: Closed [ 6 ] |
Epic Link |
Original:
|
Workflow | Original: New Clover Workflow [ 896922 ] | New: JAC Suggestion Workflow [ 3342489 ] |
Issue Type | Original: New Feature [ 2 ] | 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 ] |
Fix Version/s | New: 4.2.0 [ 56395 ] | |
Fix Version/s | Original: 5.0.0 [ 37518 ] |
Rank | New: Ranked higher |
Sprint | Original: 5.0.0 Sprint 4 [ 2623 ] |
Rank | New: Ranked lower |
Sprint | Original: 5.0.0 Sprint 2 [ 2603 ] | New: 5.0.0 Sprint 4 [ 2623 ] |