Skip to content

Building From Source

erickdeoliveiraleal edited this page Sep 6, 2016 · 10 revisions

PrimeFaces uses maven as the build tool. There's a custom maven plugin to generate jsf artifacts. To begin you might need to check out and build PrimeFaces maven-jsf-plugin in case the version used is not available in Prime Repository.

Build and Install maven-jsf-plugin

If you already have maven-jsf-plugin in your local maven repository you can skip this step.

git clone https://github.com/primefaces/maven-jsf-plugin.git

cd to the maven-jsf-plugin directory

cd maven-jsf-plugin

mvn clean install

Building Primefaces

Building Primefaces Snapshots

Next thing to do is to build PrimeFaces itself, clone the code with git, cd to the primefaces folder and run maven build. Github master branch similar trunk branch in SVN. Building from master will result into SNAPSHOT version of current development.

git clone https://github.com/primefaces/primefaces.git

cd primefaces

There is a recent commit that update to jQuery 3.1 and it breaks many things. So you should replace the content of jquery.js with https://github.com/primefaces/primefaces/blob/928f919e2ab7670f0ffe4cf3578f5c87934a1ce4/src/main/resources/META-INF/resources/primefaces/jquery/jquery.js

mvn clean install

Building Primefaces Release versions

If you would like to build release versions of Primefaces from sources, you can use release tags. Follow the steps below to check out 6.0 release.

git clone https://github.com/primefaces/primefaces.git

cd primefaces

git fetch --tags

git checkout 6_0

mvn clean install

Use 6_0 for 6.0 release, and so on.

How to minimize resources?

mvn clean install -Prelease will minimize resources, creates a javadoc jar and a sources jar.

Component Development

PrimeFaces JSF plugin generates the necessary artifacts including component sources, faces-config.xml, and facelets taglib. Component developers only need to implement the Renderer classes of the components. Component metadata files are defined under src/main/resources-maven-jsf folder.