Bug 571433 - Make ManagedCommandLineGenerator and API
Summary: Make ManagedCommandLineGenerator and API
Status: RESOLVED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-build-managed (show other bugs)
Version: Next   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 10.2.0   Edit
Assignee: Project Inbox CLA
QA Contact: Jonah Graham CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-02-23 08:15 EST by Torbjörn Svensson CLA
Modified: 2021-03-02 04:14 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Torbjörn Svensson CLA 2021-02-23 08:15:46 EST
Expose these classes in the API to let other vendors extend the command line generator without needing to implement the entire thing.

This topic is extracted from bug 571405 comment 9.
Comment 1 Torbjörn Svensson CLA 2021-02-23 08:17:20 EST
@Jonah: How do I proceed to make these classes part of the public API?
I did not put a target milestone for this ticket as I'm not sure if it can be done in the 10.2 scope.
Comment 2 Jonah Graham CLA 2021-02-23 10:02:56 EST
Short answer is I don't know. I guess easy thing is to just move the files from the internal package to a non-internal one. However that has the side-effect of breaking existing extenders (like embed-cdt) that are using the internal one. One option is to make the entire package non-internal (remove x-internal from manifest) but leave the name as is. Have a look at https://wiki.eclipse.org/Evolving_Java-based_APIs to see if there is anything there.

PS I added the new versions and target milestones to bugzilla if you want to target 10.3.0 (it is probably too late for 10.2.0 if there is anything in the change that risks breaking adopters)
Comment 3 Torbjörn Svensson CLA 2021-02-23 11:08:10 EST
Maybe the clean solution is to create a copy outside the internal package and then just mark the one in the internal package as deprecated and point to the public one?
Then in an upcoming version of CDT, we simply purge the internal copy.
Comment 4 Jonah Graham CLA 2021-02-23 11:08:54 EST
That sounds very reasonable.
Comment 5 Eclipse Genie CLA 2021-02-23 12:14:05 EST
New Gerrit change created: https://git.eclipse.org/r/c/cdt/org.eclipse.cdt/+/176745
Comment 7 Torbjörn Svensson CLA 2021-03-02 04:14:41 EST
Updated the summary as the ManagedCommandLineInfo was not put as API.