-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Hi,
So, I haven't got much experience with building eclipse plugins, but that is changing quickly.
For JBoss Tools, I need some additional parts of wtp, which I have been trying to do over the last few days. One problem I'm running into, is that some stuff that I need from there seems to depend on old versions of stuff that we have in fedora, and I don't know what to do in this situation.
Example: I'm trying to build the feature org.eclipse.wst.ws_core.feature, in wtp-webservices. One of the plugins that this feature builds is org.eclipse.wst.wsdl.validation. This plugin depends on org.apache.xerces 2.8.0. In fedora, we've got 2.11.0. Somewhere between these two versions, some things changed, and the plugin is not fully compatible with the new version. See the following error:
[javac] 6. ERROR in /home/grdryn/Downloads/jeetools-HEAD/ws3/plugins/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ValidationController.java (at line 311) [javac] public void reportError(String domain, String key, Object[] arguments, short severity) throws XNIException [javac] ^^^^ [javac] The return type is incompatible with XMLErrorReporter.reportError(String, String, Object[], short)
If I comment org.eclipse.wst.wsdl.validation out of the feature, try to rebuild, there will be new errors, because other plugins depend on different versions of other stuff.
What's the next step here? Here's a few possibilities rolling around my head, I'm not sure if any of them are right:
- - package the older versions of deps for fedora. I'm pretty sure this isn't the answer. - - patch all of the files to fix the errors, and apply those patches in the fedora package. This doesn't feel right either, as there would be quite a large number of patches. - - submit patches upstream, wait until they are accepted, then package for fedora. This sounds the most right I think, but I've no idea if the patches will be accepted (upstream might be sticking to older deps for good reasons, so as not to break other stuff). I'm also under time constraints, as I'm packaging JBoss Tools as part of Google Summer of Code.
Are any of these the right way to go about this, or are there other possibilities?
- -- Gerard Ryan :: galileo@fedoraproject.org :: http://gerard.ryan.lt/blog PGP Fingerprint: AA11 A666 C98E B6D8 231C 11ED 6EDC 7E4A 62BC 4A15
----- Original Message -----
From: "Gerard Ryan" galileo@fedoraproject.org To: java-devel@lists.fedoraproject.org Sent: Thursday, May 31, 2012 10:03:39 PM Subject: [fedora-java] Eclipse plugins questions
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Hi,
So, I haven't got much experience with building eclipse plugins, but that is changing quickly.
For JBoss Tools, I need some additional parts of wtp, which I have been trying to do over the last few days. One problem I'm running into, is that some stuff that I need from there seems to depend on old versions of stuff that we have in fedora, and I don't know what to do in this situation.
Example: I'm trying to build the feature org.eclipse.wst.ws_core.feature, in wtp-webservices. One of the plugins that this feature builds is org.eclipse.wst.wsdl.validation. This plugin depends on org.apache.xerces 2.8.0. In fedora, we've got 2.11.0. Somewhere between these two versions, some things changed, and the plugin is not fully compatible with the new version. See the following error:
[javac] 6. ERROR in
/home/grdryn/Downloads/jeetools-HEAD/ws3/plugins/org.eclipse.wst.wsdl.validation/src/org/eclipse/wst/wsdl/validation/internal/ValidationController.java (at line 311) [javac] public void reportError(String domain, String key, Object[] arguments, short severity) throws XNIException [javac] ^^^^ [javac] The return type is incompatible with XMLErrorReporter.reportError(String, String, Object[], short)
If I comment org.eclipse.wst.wsdl.validation out of the feature, try to rebuild, there will be new errors, because other plugins depend on different versions of other stuff.
What's the next step here? Here's a few possibilities rolling around my head, I'm not sure if any of them are right:
- package the older versions of deps for fedora. I'm pretty sure
this isn't the answer.
- patch all of the files to fix the errors, and apply those patches
in the fedora package. This doesn't feel right either, as there would be quite a large number of patches.
- submit patches upstream, wait until they are accepted, then
package for fedora. This sounds the most right I think, but I've no idea if the patches will be accepted (upstream might be sticking to older deps for good reasons, so as not to break other stuff). I'm also under time constraints, as I'm packaging JBoss Tools as part of Google Summer of Code.
Are any of these the right way to go about this, or are there other possibilities?
The correct answer is 2+3. Patch it to use the version in Fedora, put the package in Fedora and send the patch for inclusion upstream.
Alex
Gerard Ryan :: galileo@fedoraproject.org ::
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
On 05/31/2012 08:29 PM, Aleksandar Kurtakov wrote:
The correct answer is 2+3. Patch it to use the version in Fedora, put the package in Fedora and send the patch for inclusion upstream.
Alex
Sounds good, thanks Aleksandar!
- -- Gerard Ryan :: galileo@fedoraproject.org :: http://gerard.ryan.lt/blog PGP Fingerprint: AA11 A666 C98E B6D8 231C 11ED 6EDC 7E4A 62BC 4A15
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Hi again,
I've now got the org.eclipse.wst.ws_core.feature of eclipse-wtp-webservices working seemingly, and also org.eclipse.jst.enterprise_core.feature of eclipse-wtp-jeetools. There's one plugin in jeetools that I've currently got commented out of the feature.xml, but I feel I'm close to getting it working.
The problem seems to be that in the MANIFEST.MF for this plugin, it requires a couple of plugins from wtp-webservices. These required plugins are built and installed on my system, and are known to pdebuild as dependencies through the -d option (and they exist in the build/SDK/plugins directory); but for some reason, the problematic plugin can't seem to see them.
Things I've tried: - - removing the 'bundle-version' for the unfound required bundles (their versions are different than what is specified) - still not found. - - removing the unfound required bundles from the MANIFEST.MF altogether - it gets to compilation, but fails here this time, because it can't find the stuff it needs from these bundles.
I really don't know where I'm going wrong here, does anybody have any suggestions?
- -- Gerard Ryan :: gerard@ryan.lt :: http://blog.grdryn.me :: @grdryn PGP Fingerprint: AA11 A666 C98E B6D8 231C 11ED 6EDC 7E4A 62BC 4A15
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
<akurtakov> grdryn: hi, do you mind discribing the issue from your email ? <akurtakov> which plugin? what is the exact error? etc.
The plugin that isn't recognising the the ones from webservices is org.eclipse.jst.j2ee.webservice, and as you can see, it's commented out of the working feature.xml file[0]
pdebuild is being invoked like so: eclipse-pdebuild -f org.eclipse.jst.enterprise_core.feature -d "eclipse-wtp-common emf wtp-sourceediting org.eclipse.jst.server_ui.feature wtp-webservices"
and the error that it's throwing out is [1] - note that the 'bundle-version' is removed from the org.eclipse.jst.j2ee.webservice MANIFEST.MF here, otherwise it gives the same error, just with missing required plugins of specific versions, rather than 0.0.0.
Thanks!
[0] http://fpaste.org/2PWF/ [1] http://fpaste.org/wjFi/
- -- Gerard Ryan :: gerard@ryan.lt :: http://blog.grdryn.me :: @grdryn PGP Fingerprint: AA11 A666 C98E B6D8 231C 11ED 6EDC 7E4A 62BC 4A15
- -- Gerard Ryan :: gerard@ryan.lt :: http://blog.grdryn.me :: @grdryn PGP Fingerprint: AA11 A666 C98E B6D8 231C 11ED 6EDC 7E4A 62BC 4A15
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
I think I've gotten as far as I can get with this problem. I've gotten past the problem that I described in the previous message, but I'm getting compiler errors now, that I don't know how to solve. Looking at all the errors, it seems that the first few (import errors), are causing the rest.
Here's a link[1] to the output now (search for 'ERROR in' to see where the errors are). They're all in one file, and are caused by a couple of imports from eclipse-wtp-webservices (now in rawhide), that can't be resolved, even though there doesn't seem to be any reason that they can't be resolved (they're there).
I'd really appreciate any help with this. It's probably something very straightforward, but I can't see it! :/
[1] http://galileo.fedorapeople.org/pdebuild_output_jeetools.txt (8MB)
- -- Gerard Ryan :: gerard@ryan.lt :: http://blog.grdryn.me :: @grdryn PGP Fingerprint: AA11 A666 C98E B6D8 231C 11ED 6EDC 7E4A 62BC 4A15
java-devel@lists.fedoraproject.org