-
Notifications
You must be signed in to change notification settings - Fork 45
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
Force qualifier update for p2.core.feature #107
Force qualifier update for p2.core.feature #107
Conversation
As some included bundles have changed with the move away from Orbit to Maven.
@mickaelistria Tycho now supports the inclusion of dependencies in features and thus you might want use an require with version range for non-p2 requirements to avoid such bumps in the future. |
@laeubi can you provide a link to the Release notes or plugin doc that describes that feature? |
See for example eclipse-equinox/equinox#67 I think for every "external" dependency, that is not part of the build, an |
Eclipse p2 repository does set |
This feels dejavu. I think the last time we were here, we ended up losing the source bundles did we not? That was not so many weeks ago. Did something change since then? The Eclipse SDK will not be a good SDK anymore (or even a good platform for that matter) if the source bundles for everything are not available in its p2 update site. |
@merks I have no clue what particular dejavu is referenced here but if one could share a minimal example I can check if something needs to be fixed in Tycho, at least the But even an
|
@laeubi I think the other folks will recall this thread: eclipse-equinox/equinox.framework#41 (comment) I'm not sure I understand what non-source-bundles-sources are. In any case, if we are going to introduce a new problem (missing sources) that can only be fixed by a not-yet-implemented feature along with a feature implemented in a project that is not part of the Eclipse SDK, then I think we'd be best off to avoid introducing the problem of missing sources in the first place. As mentioned in the other thread, a common use case is that folks install an Eclipse SDK and then use the running IDE as their target platform, expecting all the sources to be available because that's what an SDK's purpose is and that expectation has been valid. After all, why install any sources in an IDE? Another common use case is to use the platform's p2 update site to build a target platform and again, missing sources will lead to problems for that use case as well. |
If you have a plain (or maven) project, you can attach any source-jar to a classpath entry. PDE requires that a source-jar is a bundle with a special header, what makes it very unflexible, so Tycho currently generates an extra-jar for maven dependencies or generates a special additional bundle for bundel-projects.
Correct, that does not make much sense, so it would be better if they are not installed like its done with JDT / maven projects :-)
Question is, what are "all" sources, should it really include any external library? Maybe even the sources of the JDK used? Sources of DLLs? So one usually can choose when building an update-site / feature what should be included, and technically a maven dependency is not different from a P2 dependency (actually Tycho don't know the real source in its target) so it seems something in building this SDK stuff is missing something, or generation of the source bundles is disabled in the target location. |
So there is a problem not yet addressed with no actual plans to address it nor people to do the work...
It's what people actually do. And these people are the community that we wish to maintain or even grow.
All is all to the extent that such sources exist. The JDK also comes with sources.
As far as I understand it, inclusion of a bundle in a feature, specifying that Tycho generate a corresponding source feature, and including both those features in the category.xml is what results in the source bundles of all included bundles being included in the p2 update site. That is why I'm concerned that changing includes to imports will result in missing source bundles. (We have discussed before that includes are different from imports when you suggested removing that concept.) Someone can correct me if this is a mistaken understanding and that corresponding source bundles will not go AWOL. |
The best is to provide an integration-test to demonstrate the issue so we can make sure it works (or not) can enhance/fix and make sure it do never break in the future. Basically, the source-feature generator just adds new entries to the XML, so I don't see a reason why we should not be able to do the same for |
As some included bundles have changed with the move away from Orbit to
Maven.