Follow JSF 2.3 development via GitHub mirror

17 January 2015, by: Arjan Tijms

Currently development for JSF 2.3 is well underway in the trunk of the Mojarra project.

The Mojarra project still uses SVN, and only has the default web interface up and running. Specifically this means it’s not entirely easy to browse through the commits and see diffs, as this default web interface only offers a very bare bones browsing of the repository.

While there are of course web tools for SVN that show commits and diffs etc, simply importing the SVN repository into GitHub proved to be the easiest solution. So therefor we made a mirror available on GitHub:

github.com/javaeekickoff/mojarra

This mirror is automatically updated every half an hour, so it should never be that far behind the SVN root repository. GitHub provides a number of extra features, such as feeds in atom format. Using that we can easily create widgets such as the one below that shows a near real-time overview of the 3 latest commits:


In addition to this mirror we’ve also published a fork of it, in which we made a few small changes that allows the Mojarra project to be used from Eclipse. This fork is at:

github.com/omnifaces/mojarra

This fork will function as OmniFaces’ feature branch for code that we hope will be integrated into Mojarra and thus JSF 2.3 (which is of course subject to approval by the JSF spec leads and the other EG members).

For completeness, once checked-out, Mojarra can be build using the following steps:

Assuming SOURCE_HOME is the directory containing the source code:

  1. Copy build.properties.glassfish to build.properties
  2. Edit build.properties and set jsf.build.home to SOURCE_HOME
  3. Make sure JAVA_HOME is set and points to a JDK8 install
    e.g. on Ubuntu put JAVA_HOME=/opt/jdk8 in /etc/environment

  4. From SOURCE_HOME run (on the commandline) ant main clean main

The jsf-api.jar will be in SOURCE_HOME/jsf-api/build/lib and jsf-impl.jar will be in SOURCE_HOME/jsf-ri/build/lib.

When making changes from within Eclipse (use the OmniFaces fork for that):

  1. Make changes as needed in .java files, but note that the Eclipse compiled result in SOURCE_HOME/bin must be ignored
  2. From SOURCE_HOME run (on the command line) ant clean main

The jsf-api.jar will again be in SOURCE_HOME/jsf-api/build/lib and jsf-impl.jar will be in SOURCE_HOME/jsf-ri/build/lib.

Do note that the initial build command is ant main clean main, but all following builds happen via the command ant clean main. This is due to a circular dependency, that will likely be removed in the (near) feature if/when the entire project becomes a Maven project. Also note that when that happens, the Eclipse specific changes in the OmniFaces fork of Mojarra will not be needed anymore either.

Arjan Tijms

2 comments to “Follow JSF 2.3 development via GitHub mirror”

  1. Ptr says:

    Is it compatible with Java EE 7?

  2. Arjan Tijms says:

    Is it compatible with Java EE 7?

    Currently yes, as there are only Java EE 7 servers around and otherwise we couldn’t test the code we write ourselves ๐Ÿ˜‰

    So go ahead, and test this on GlassFish 4.1 ๐Ÿ˜‰

    But eventually; probably not. JSF 2.3 is targeted at Java EE 8, and is therefor free to use whatever other technology from Java EE 8 that it deems necessary. It has already started using Java SE 8, and at some point it could theoretically (but necessarily!) use “something” from EE 8. The decision ultimately lies with the spec leads (Ed Burns and Manfred Riem) and it depends on how fast the other specs develop and whether they introduce something that’s of high value to JSF.

    As an example, I’ve asked the Servlet spec to provide information about mapping, that might be very useful for JSF 2.3’s (likely) upcoming URL mapping feature (disclaimer, again subject to approval of spec leads and EG members). If Servlet would indeed provide this, then JSF 2.3 would for this feature depend on Servlet 4.

Type your comment below:

Time limit is exhausted. Please reload CAPTCHA.

css.php best counter