Overview
This article outlines a process to resolve Liferay Portal patch collisions with custom portal plugins
Background
The Liferay Patching Tool can be used to patch a Liferay Portal 6.1 or 6.2 Enterprise Edition (EE) installation (binary mode) or source code tree (source mode).
The patching tool can also report collisions between Liferay Portal runtime resource files and custom plugin resource files (eg. JSP).
To resolve Liferay Portal patch plugin collisions with custom portal plugins, we can use this approach :
1/ Patch Liferay Portal source code using patching tool.
2/ Merge Liferay Portal patched source code with custom portal plugin source code.
Please refer to the resolution steps and references below.
Patch Collision Resolution Steps
1/ Patch Liferay Portal source code using Liferay Patching Tool and current patches
Refer to following article Using Liferay Portal 6.2 - Patching Liferay
patching.mode: This can be binary (the default) or source, if you’re patching the source tree you’re working with.
Liferay patches contain both binary and source patches.
If your development team is extending Liferay, you’ll want to provide the patches you install to your development team
so they can patch their source tree.
Also refer to article Permeance Blog - How to patch Liferay Portal 6.1 EE source
2/ Identify Liferay Portal collisions with custom plugins
eg.
./patching-tool.sh list-collisions Listing collisions (file, plugin, patch): html/portlet/users_admin/view_tree.jspf, My Login Hook, hotfix-260 WEB-INF/ext-impl/ext-impl.jar/com/liferay/portlet/usersadmin/action/EditUserAction.class, cust-portal Ext, core-2 WEB-INF/ext-impl/ext-impl.jar/com/liferay/portal/util/PropsValues.class, cust-portal Ext, security-hotfix-lsv-175 WEB-INF/ext-impl/ext-impl.jar/com/liferay/portal/service/impl/UserLocalServiceImpl.class, cust-portal Ext, security-hotfix-5 WEB-INF/ext-impl/ext-impl.jar/com/liferay/portal/service/impl/UserLocalServiceImpl$1.class, cust-portal Ext, security-hotfix-5
3/ Merge patched Liferay Portal 6.1 source code with your custom plugins
Use your favourite text file diff tool to perform a two-way or three-way merge.
4/ Build and package custom plugins
Rebuild custom plugins using Liferay Apache Ant SDK and/or Liferay Maven SDK.
5/ Deploy revised custom plugins
Deploy revised custom plugins to portal.
6/ Repeat steps 3 to 5 as required
Rinse, lather and repeat.

