OSGi File Naming Convention for Liferay Faces Artifacts

The Liferay Faces team is moving closer towards the goal of releasing a JSF portlet bridge (and associated demos) for use with Liferay Portal 7.0 CE.

Since this new version of the portal utilizes OSGi to achieve modularity, the portal's dependency artifact filenames follow the OSGi file naming convention using Bundle-SymbolicName. For example: The old portal-service.jar artifact has been renamed to com.liferay.portal.kernel.jar due to the following line in META-INF/MANIFEST.MF:

Bundle-SymbolicName: com.liferay.portal.kernel
This type of convention effectively prepends the groupId to the artifact name. Recent examples in Java EE that follow a similar type of convention include javax.servlet-api.jar and javax.faces-api.jar.
Although the Liferay Faces artifacts are currently designed to be embedded dependencies (inside the WEB-INF/lib directory of a WAR), we have adopted the aforementioned file naming convention in order to be consistent with the rest of the company. It will also help to guide us towards the goal of having the Liferay Faces dependency artifacts to be separately deployable OSGi bundles. For more information, see FACES-2681.
Here are some examples of what you can expect:
Liferay Faces Dependency Artifact Filenames
(groupId: com.liferay.faces)
Old Naming Convention New Naming Convention
liferay-faces-alloy.jar com.liferay.faces.alloy.jar
liferay-faces-bridge-api.jar com.liferay.faces.bridge.api.jar
liferay-faces-bridge-impl.jar com.liferay.faces.bridge.impl.jar
liferay-faces-metal.jar com.liferay.faces.metal.jar
liferay-faces-portal.jar com.liferay.faces.portal.jar
liferay-faces-util.jar com.liferay.faces.util.jar

In addition, we are renaming our demo portlets:

Liferay Faces Demo Artifact Filenames
(groupId: com.liferay.faces.demo)

Old Naming Convention New Naming Convention
alloy3-portlet.war com.liferay.faces.demo.alloy.applicant.portlet.war
icefaces4-portlet.war com.liferay.faces.demo.icefaces.applicant.portlet.war
jsf2-portlet.war com.liferay.faces.demo.jsf.applicant.portlet.war
jsf2-cdi-portlet.war com.liferay.faces.demo.jsf.cdi.applicant.portlet.war
jsf2-export-pdf-portlet.war com.liferay.faces.demo.jsf.export.pdf.portlet.war
jsf2-ipc-pub-render-params-portlet.war com.liferay.faces.demo.jsf.ipc.pub.render.params.portlet.war
jsf2-ipc-events-bookings-portlet.war com.liferay.faces.demo.jsf.ipc.events.bookings.portlet.war
jsf2-ipc-events-customers-portlet.war com.liferay.faces.demo.jsf.ipc.events.customers.portlet.war
primefaces5-portlet.war com.liferay.faces.demo.primefaces.applicant.portlet.war
primefaces5-users-portlet.war com.liferay.faces.demo.primefaces.users.portlet.war
richfaces4-portlet.war com.liferay.faces.demo.richfaces.applicant.portlet.war

Finally, we have updated the official Liferay documentation titled Liferay Faces Version Scheme for Releases After Liferay Faces GA6.

Write a blog post too!

Write a deep dive into how you use Liferay projects in your technology stack. Or let people know useful tips and tricks for a particular functionality. The Liferay community needs you!

Login or Create an account