[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [p2-dev] How to locally change/patch an official plugin/feature?
|
Hello Pascal,
the p2 director installs the patch feature without any errors,
but also ignores the contained patched plugin:
...
Starting application: 13547
Installing org.eclipse.jst.jsp.core.derivepatch.feature.jar 1.0.0.
Operation completed in 11797 ms.
So the director's behavior seems to be the same like the eclipse
installer does,
unfortunately without any hints why the plugin is not installed.
I try to outline shortly what I did to create the patch feature:
1. In the PDE perspective, I right-clicked on the WTP plugin
org.eclipse.jst.jsp.core and choose "import as->source project".
2. Within this project I fixed the bug, debugged and verified my fix.
3. I created a feature patch project: org.eclipse.jst.jsp.core.derivepatch
In the creation wizard I specified the original feature which contains
the plugin we are going to patch:
org.eclipse.jst.enterprise_ui.feature
4. In the "Plug-ins" tab of the feature.xml dialog, I added the
patched plugin, org.eclipse.jst.jsp.core.
5. I exported the feature patch project using Export... and then
selecting the "Deployable features" option.
Did I miss something?
And some additional questions:
- Why is the installable unit called
"org.eclipse.jst.jsp.core.derivepatch.feature.jar" while my patch
feature id is
"org.eclipse.jst.jsp.core.derivepatch"?
- is a patch feature an installable unit? If not what's the relation
between a IU and a feature?
Thank you and best regards,
Patric
Quoting Pascal Rapicault <pascal@xxxxxxxxxxxx>:
Patch is definitely the right construct to use since you just can't
change everything in the dependency hierarchy chain (consumers of
wst).
The best way to debug this is to actually use the p2 director app to
install your patch:
eclipse -application org.eclipse.equinox.p2.director -installIU
MyPatch -repository ....
This will provide you a detailed explanation message as to why it
can not be happening. You are not getting the same error message
because the p2 UI does not "force" the install of a patch in the
exact same way the director app does.
There are several possibilities as to why the patch does not apply
- The plugin is included by another feature
- Some dependency ranges are preventing your patched version of the
plugin to install
- The patch does not patch the right version of the feature (the
patch cerated in the UI needs to match the specific version (to the
qualifier) of the feature, note that you can also tweak the metadata
by hand to support ranges in there)
One final thing, when it comes to put this in production, know that
a patch can actually be included in another feature making its
installation transparent.
And, don't forget to open a bug against WTP to attach your change.
On 2011-03-15, at 8:56 AM, Patric Rufflar wrote:
Hello everyone,
I'd like to fix a bug in an official eclipse plugin
(org.eclipse.jsdt.jsp.core, part of the WTP).
I locally changed the source code and debugged it - everything works fine.
Now I'd like to propagate this change to my eclipse installation,
but I am facing problems.
To achieve this I created and installed a feature patch.
The feature patch has been installed successfully but
-unfortunately - not the included patched plugin.
The original/unpatched version of the plugin is still installed and
active according to the "Eclipse Installation Details".
When looking at the plugins folder I cannot see the jar of the
patched plugin.
I'd like to know:
- Why? what I am doing wrong?
- Does this something have to do with signing of the official plugins?
- Is there a log to see why the patched plugin has not been installed?
- Is a feature patch the best way to locally modify an official
eclipse plugin/feature?
I really appreciate your help.
Thank you and best regards,
Patric
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev