Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 323877 - [build] reconsider generating interfaces for API
Summary: [build] reconsider generating interfaces for API
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Mylyn (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 enhancement (vote)
Target Milestone: 0.7   Edit
Assignee: Steffen Pingel CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 325152
Blocks:
  Show dependency tree
 
Reported: 2010-08-28 00:20 EDT by Steffen Pingel CLA
Modified: 2011-09-27 07:51 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Steffen Pingel CLA 2010-08-28 00:20:02 EDT
In the original API design of the builds framework interfaces were created manually instead of being generated from the model. The reasoning was to maintain fine-grained control over the exposed methods and to support read-only and editable data objects. It is unclear though whether this provides any benefit or if the same results could be achieved by generating the API.

The biggest impact would be a change to the package structure of the code since the internal package would need to move:

* org.eclipse.mylyn.builds.core - model interfaces
* org.eclipse.mylyn.builds.core.spi - abstract spi implementations (not generated)
* org.eclipse.mylyn.builds.internal.core - model implementations
Comment 1 Steffen Pingel CLA 2010-08-28 02:18:08 EDT
Committed changes. The API interfaces are now generated and expose all properties. I have tagged CVS as bug-323877-modeling-api-before and bug-323877-modeling-api-after in case changes need to be rolled back.

Eike, could you take a quick look if that design makes more sense to you? The one thing that I am not happy about is the generated JavaDoc on the API classes. If possible I would like to get rid of all generated comments since they are not helpful. I also need to add @noimplement and @noextend tags to all interfaces but did not find any obvious way to do that in the generator.

Can you recommend something? Dynamic templates?
Comment 2 Steffen Pingel CLA 2011-09-27 07:51:45 EDT
This was fixed for the initial release.