-
Notifications
You must be signed in to change notification settings - Fork 199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug 580015: add support for multiple bin parsers #75
Conversation
Added ability to return a list of binary parser IDs, rather than a single ID. This supports build configurations that have multiple binaries with for example cross toolchains. Change-Id: I1b7e47bf6a86bbd9f1c6b9646d008bac9479417d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is migrated from https://git.eclipse.org/r/c/cdt/org.eclipse.cdt/+/194075 - so the comments from it are migrated to it.
core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/build/ICBuildConfiguration.java
Outdated
Show resolved
Hide resolved
Update since tags to 8.0. Remove api filter. Fix other since tags after removing of api filter. Remove interface defaults. Add default implementations where necessary. Update tests - TBC.
Hi @jonahgraham , |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't look at tests, other than the location of them. Let me know if you need a suggestion of where they should go. It may also be appropriate to leave them there if there isn't anywhere better already.
core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/build/ICBuildConfiguration.java
Outdated
Show resolved
Hide resolved
core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/build/IToolChain.java
Outdated
Show resolved
Hide resolved
@betamaxbandit Will you have time to look at this this week? It would be ideal to get this done in time for M3 which is 14 Nov. |
Hi Jonah, Yes, I'll try. Thanks for the reminder. |
There is a compilation failure now BTW: Error: Failed to execute goal org.eclipse.tycho:tycho-compiler-plugin:2.7.5:compile (default-compile) on project org.eclipse.cdt.docker.launcher: Compilation failure: Compilation failure:
Error: /home/runner/work/cdt/cdt/launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ui/launchbar/ContainerGCCToolChain.java:[70]
Error: public class ContainerGCCToolChain extends PlatformObject implements IToolChain, IToolChain2 {
Error: ^^^^^^^^^^^^^^^^^^^^^
Error: The type ContainerGCCToolChain must implement the inherited abstract method IToolChain.getBinaryParserIds()
Error: [ERROR] 1 problem (1 error)
Error: -> [Help 1] |
Hi @jonahgraham , |
Removed ICBuildConfiguration.getBinaryParserId() and IToolChain.getBinaryParserId(). Replaced with methods that return a list of IDs. Updated API changes doc. Rearranged tests so that the test for IToolChain is in a new gcc test plugin.
Added remaining project metadata for new gcc test plugin.
Fixed build props of new test plugin. Fixed test, cleanup project afterwards.
Don't worry about the code cleanliness checks fails - there is a proposal to automate this in #166 |
Hi Jonah, ok, I won't. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks fine, just needs a N&N entry about the improved API.
In https://github.com/eclipse-cdt/cdt/blob/main/NewAndNoteworthy/CDT-11.0.md below Binary Parser code uses AutoCloseable
section
## Core Build tool chains can now return multiple binary parsers
The `ICBuildConfiguration` and `IToolChain` interfaces now have a method, `getBinaryParserIds` that allows a build configuration or tool chain to return multiple binary parsers.
See https://github.com/eclipse-cdt/cdt/pull/75
Please mark this as ready for review when you are happy with it. |
Update API and News documentation.
Ready for review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - needs the code cleanliness sorted out. I would like to use this PR to test #166 if I can get that done.
Oh ok. I don't really understand the actual cleanliness error. It says the following files are missing, but those file don't exist for me locally - only org.eclipse.jdt.core.prefs. Am I expected to generate them?
Do you want me to do anything for #166 ? |
Removed ICBuildConfiguration.getBinaryParserId() and IToolChain.getBinaryParserId(). Replaced with methods that return a list of IDs. Updated API changes doc. Rearranged tests so that the test for IToolChain is in a new gcc test plugin.
Added remaining project metadata for new gcc test plugin.
Fixed build props of new test plugin. Fixed test, cleanup project afterwards.
Update API and News documentation.
I discussed with @betamaxbandit and we agreed to decouple this from #166. So I manually fixed up the code cleanliness issue and pushed it. PS I accidentally "rebased and merged" instead of "squashed and merged" so I ended up with a dumb commit message c4761cf - sorry about that. |
Thanks for merging @jonahgraham |
Added ability to return a list of binary parser IDs, rather than a single ID. This supports build configurations that have multiple binaries with for example cross toolchains.
Change-Id: I1b7e47bf6a86bbd9f1c6b9646d008bac9479417d