Community
Participate
Working Groups
Created attachment 206161 [details] proposed patch Having a *.product file with plugin dependencies which are not in the current target platform (not existing) and load and save it using the WorkspaceProductModel without any change. Every non-existing plugin will be marked with fragment=””. Furthermore it is not possible to add a fragment which is not in the current target platform. There is no setter for the fFragment attribute in ‘org.eclipse.pde.internal.core.product.ProductPlugin’. See the patch attachement.
Created attachment 206162 [details] proposed patch Sorry wrong patch attached in the first try ;)
I have pushed a simpler fix to master. If the stored fragment property is an empty string, we don't write out the fragment attribute. Thanks for reporting this!
Thank you for working on that. The Eclipse Scout project makes huge usage of JDT/PDE also the IProductModel and its implementations. At the point we create a product file (using PDE API) the fragments included in this product are not yet available in the target platform. So the fragment flags would be ignored (at least not anymore empty string) at this point. Before we go and update the target platform (P2). We can not change the sequence of this tasks in order of the long time running update mechanism. Therefore a fix without the getter/setter for the fragment member does not really help us a lot. I also do not see any reason for having getter/setter for the id and version but not for the fragment member. Are there any issues I missed?
Ok, I have committed an additional fix with the getter and setter. It also cleans up the code a bit (storing a boolean over the element string). http://git.eclipse.org/c/pde/eclipse.pde.ui.git/commit/?id=337721074d91e421919b2c26b9c04a6fe0464fc4 Reminder that IProductPlugin is internal (not API). There are no guarantees that the methods won't change in a future release.
Thank you Curtis. The change looks fine for me, well test it with M6.