Bug 128219 - Builder participants should create their own marker types
Summary: Builder participants should create their own marker types
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.2 M6   Edit
Assignee: Jerome Lanneluc CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-16 10:37 EST by Philipe Mulet CLA
Modified: 2006-03-28 03:00 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipe Mulet CLA 2006-02-16 10:37:32 EST
Version: 3.2.0
Build id: I20060215-0010

Looking at API for build participant, there doesn't seem to be a way for participants to create their own markers. Participants are creating their own categorizedProblem, which are persisted by the builder.

Currently, problems are persisted as Java problem markers, i.e. the marker type specified on categorized problem is ignored. 

Now, if using the categorizedProblem#getMarkerType(), new issues arise.

When incrementally building, the Java builder deletes old markers, and replaces them with fresh new ones. How does a builder participant achieve the same effect ? The current story holds as all markers being created are true Java problem markers, and thus the builder management is just fine.
I believe this would also require the participant to tell about its managed marker types, for the Java builder to find out the markers to flush before creating new ones.
Comment 1 Philipe Mulet CLA 2006-02-16 10:41:08 EST
Also, the format of the marker generated is reusing the Java problem template, i.e. clients cannot add more attributes if they want. CategorizedProblem defines some minimal contract, and certainly current attributes are ok, but clients should be allowed to create more.


Comment 2 Philipe Mulet CLA 2006-02-16 10:41:22 EST
For M5, ensured that API side is in place. Implementation will honour these during M6.

* Added API CategorizedProblem#getExtraMarkerAttributeNames() and getExtraMarkerAttributeValues() to allow to specify extra attributes in problem markers.
* Added 'managedMarker' sequence on 'compilationParticipant' extension point to declare marker types that are persisted by the Java builder.
Comment 3 Jerome Lanneluc CLA 2006-03-01 05:00:44 EST
Changed JavaModelManager.CompilationParticipants to take the 'managedMarker' sequence into account. Also changed AbstractImageBuilder to create markers only if the corresponding categorized problem has a managed marker type. Finally changed JavaBuilder to delete all managed markers for a given resource.

Updated APT plugin.xml and APT tests to reflect this change.
Comment 4 Maxime Daniel CLA 2006-03-28 03:00:53 EST
Verified for 3.2M6 using build I20060327-0010.