[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?

Unfortunately, this did not change anything. There are still no error messages:

C:\IDE\eclipse>eclipsec -consoleLog -application org.eclipse.equinox.p2.director
-installIU org.eclipse.jst.jsp.core.derivepatch.feature.group -repository file:
Installing org.eclipse.jst.jsp.core.derivepatch.feature.group 1.0.0.
Operation completed in 11218 ms.

Of course, there are also no updated jar in the plugins directory and no updated plugin version in the "Installation details" dialog.

Quoting Pascal Rapicault <pascal@xxxxxxxxxxxx>:

Short answer: the entity to install is org.eclipse.jst.jsp.core.derivepatch.feature.group.
The IU org.eclipse.jst.jsp.core.derivepatch.feature.jar only deliver the feature.jar

On 2011-03-16, at 6:57 AM, Patric Rufflar wrote:

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:
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
- 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,

_______________________________________________ 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

p2-dev mailing list

_______________________________________________ p2-dev mailing list p2-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/p2-dev