| Summary: | The pde and ant bridges should be contributed by fragments... | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Philippe Ombredanne <pombredanne> | ||||||||
| Component: | Mylyn | Assignee: | Mik Kersten <mik.kersten> | ||||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||||
| Severity: | enhancement | ||||||||||
| Priority: | P1 | CC: | jkrause, mknauer, spam | ||||||||
| Version: | 2.0 M2 | ||||||||||
| Target Milestone: | 2.0 | ||||||||||
| Hardware: | PC | ||||||||||
| OS: | Windows XP | ||||||||||
| Whiteboard: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
Philippe Ombredanne
Note that the report as bug action should be aslo in a fragment with its dep on pde.runtime Philippe, patches are always welcomed. I was waiting for someone to point this out. The only reason it has not been done yet is to keep the number of bundles/projects minimal. Technically they could also be broken up into core/ui bundles as well. I'm not sure how easy it is to create a patch for a non-existing project. I think we should iterate on a proposal, then I can make any new projects needed and then take patches. Why fragments and not plug-ins? Creating a ptach on a new project is fairly straight forward. Just cretae your changes, then apply them to a fresh checkout made on the module above. Plugins or fragments, whatever works. I was thinking that there could be protected packages dependencies, but plugin should work fine, if they are none. Fragments just merge their classpath with their host, so are relatively worry free in such a plugin refactoring context. You'll get a patch by the end of the week, focusing for now on pde and ant at first.Now name wise, o.e.mylar.ide contains ant and pde stuffs, shoudl they become o.e.myor lar.ant and o.e.mylar.pde ? (to stay consistent with o.e.mylar.java) or : o.e.mylar.ide.ant and o.e.mylar.ide.pde (in which the o.e.mylar.java should may be renamed to o.e.mylar.ide.java ? ) Created attachment 63990 [details]
zip containing o.e.mylar.ant adn o.e.mylar.pde
CVS patches cannot contains binaries sounds like.
So the two plugins are as zip
Created attachment 63991 [details]
Patch for the remaining impact on other plugins
The patch affects o.e.mylar.java o.e.mylar.java.tests and o.e.mylar.ide , that later now stripped down from pde and ant deps.
Not tha ll the test passed by the way, I am not sure if this is OK, or if you have some failing when using 33M6 Not sure what I typed above... :-\ I meant: All the test DID NOT pass, and I am not sure if this is OK, or if you have some failing when using 33M6 Let me rephrase : all the tests that passed before the patch, still pass after the patch. There are some failures in jjava.test on 3.3, but they pre-date the patch. Sorry for slowness on this, it is related to other upcoming plug-in changes. I still plan to incorporate this by 2.0M3 (May 11th). No problem, the patch is no rocket science, but it may go stale quick. Unfortunately this will have to wait until after 2.0M3 goes out because we had to postpone other related plug-in refactoring to batch the changes. *** Bug 187199 has been marked as a duplicate of this bug. *** What's the status of this bug?
EPP: I was able to build a Java package with Mylar including the following features:
id="org.eclipse.mylar_feature" version="2.0.0.v20070514-1800"
id="org.eclipse.mylar.ide_feature" version="2.0.0.v20070514-1800"
id="org.eclipse.mylar.bugzilla_feature" version="2.0.0.v20070514-1800"
The package doesn't contain PDE and it seems to work. So I suspect that this bug is fixed? Can you confirm this?
Perhaps it is just failing gracefully? The org.eclipse.mylar.ide plug-in (include in ..mylar.ide_feature) does depend on PDE. I will pull this out into it's own feature. The thing I'm confused about is where to stick the Ant dependency that we have: 1) With PDE (then a pure Java environment won't have it) 2) In it's own plug-in/feature (overhead for users and additional complexity) 3) Leave it in IDE I'm tempted to do the latter. The best driver that we currently have for this is EPP so please comment today if possible since I'm about to make these changes. I'm also happy to make Ant a separate plug-in to delay the feature decision. EPP is using update manager functionality - that said: If there are any errors in the feature.xml's, then we will get these dependency problems in our builds. I need to look deeper into that problem, but for now I found this here:
org.eclipse.mylar.ide_feature/feature.xml
<requires>
<import feature="org.eclipse.mylar_feature"...
</requires>
<plugin
id="org.eclipse.mylar.ide"...
I had a look into org.eclipse.mylar.ide and it requires PDE, but from the information in its declaring feature org.eclipse.mylar.ide_feature there is no 'requires' path to PDE. I think there are some features missing in the 'requires' section above - that's why the EPP build could include Mylar without PDE.
But now to your questions: I cannot foresee the consequences of the three mentioned possibilities. From the EPP point of view I would say that all Ant related plugins are included in the org.eclipse.platform and in the org.eclipse.jdt features. Both of them are included in all packages with Mylar (exception is the C/C++ package). That said I would vote for option 3) as it seems to be the easiest way to go.
Do you have any dependencies to org.eclipse.ant.ui? I am asking because this would prevent us from adding Mylar to the C/C++ package in the future.
Yes, the Ant stuff does depend on org.eclipse.ant.ui. So I will make that a separate plug-in, then we can figure out the best thing to do for CDT. We should discuss this further on bug 187154, but I'm not sure if the CDT package should include more than tasks because we do not have a structure bridge for C++. Done. PDE ant Ant have been split out into separate plug-ins, and the features are now organized as follows: * ..mylyn.ide-feature (modified): common IDE features from SDK * ..mylyn.pde-feature (new): coupled to PDE UI * ..mylyn.java-feature (new): coupled to JDT UI and Ant See the plug-ins lists on the features for details. Please ask any questions or further requests either here or on bug 187514. Created attachment 70755 [details]
mylar/context/zip
Mik, do we really needed those features? Mylar isn't going to distribute plugins separately. Also, Eclipse Ant plugins don't need JDT, so your JDT UI + Ant feature is somehow weird. Our Ant structure bridge does need ..jdt.ui because that's a dependency of ..ant.ui. The features do not necessarily need to be in our common distribution and I have always tried to keep the number of features minimal because they add complexity for users on download. So we might still make a special feature for all the SDK stuff and just have that on the download site. But we need the java/ide split for Europa, and the PDE split out for EPP (this bug). |