| Summary: | [metadata] Move concrete metadata classes to an internal package | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | Ian Bull <irbull> | ||||||
| Component: | p2 | Assignee: | John Arthorne <john.arthorne> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | aniefer, curtis.windatt.public, dj.houghton, john.arthorne | ||||||
| Version: | unspecified | ||||||||
| Target Milestone: | 3.5 M6 | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows XP | ||||||||
| Whiteboard: | |||||||||
| Bug Depends on: | 262109 | ||||||||
| Bug Blocks: | |||||||||
| Attachments: |
|
||||||||
|
Description
Ian Bull
I noticed there are a couple of references in PDE Build to RequiredCapability and RequirementChange. We'll need to get either Andrew or Chris A to fix these before moving. Another missing piece is that License, Copyright and RequirementChange still have public constructors, and no factory method on MetadataFactory. We need to add those factory methods so clients constructing them can stop using the concrete class constructors. I think once these changes are made the move should be trivial and we won't even need to carefully coordinate it. Most of the concrete classes are only referenced now in MetadataFactory, so the code change here is quite tiny. These references are PDE/UI and will need Chris or Curtis. Right, I was fooled by the "build" in the package name. Curtis, the references are in: org.eclipse.pde.internal.ui.build.RuntimeInstallJob.createInstallableUnitPatch(String, Version, Version, IProfile, IProgressMonitor) Since there are series of coordinated changes needed here, I have released a factory method for constructing a requirement change. This will allow PDE UI to move away from the concrete class, which will then allow the move to occur. Factory methods are still needed for Copyright and License. Created attachment 122575 [details]
Patch to PDE UI
The PDE UI patch has been applied. I opened Bug 262109 for adding the factory methods for Copyright and License. Created attachment 123485 [details]
Moves classes to an internal package
This patch updates references to RequirementChange (they now use the factory) and it moves the classes to an internal package.
I'll take this. The patch was out of date but applying the refactorings myself was just as easy. Fixed in HEAD. Thanks John. |