/richfaces

RichFaces 5 - The next-generation JSF component framework by JBoss, Red Hat

Primary LanguageJava

[RichFaces Project Logo

RichFaces 4.5 Build Status


The next-generation JSF component framework by JBoss, Red Hat

The RichFaces project is an advanced UI component framework for easily integrating Ajax capabilities into business applications using JSF.

Project Info

License

LGPL v2.1

Build System

Maven

Getting Started

To use the RichFaces framework in your JSF maven application, simply add the following dependency to your pom.xml file (Replacing the version 4.5.18-SNAPSHOT with the version of the library you wish to include):

<dependency>
    <groupId>org.richfaces</groupId>
    <artifactId>richfaces</artifactId>
    <version>4.5.18-SNAPSHOT</version>
</dependency>
Note
Prior releases of RichFaces required using a BOM to manage the project dependencies. With RichFaces 4.5 all required dependencies are managed transitively, simplifying your project setup.

Alternatively, if you are not using maven, you can download the project ZIP distribution from the Download Page and manually include the dependencies in your classpath.

Once you have included the RichFaces dependency in your application, you can start developing by adding a JSF page which includes the RichFaces taglib references:

<!DOCTYPE html>
<html lang="en"
    xmlns="http://www.w3.org/1999/xhtml"
    ...
    xmlns:rich="http://richfaces.org/rich"
    xmlns:a4j="http://richfaces.org/a4j">

</html>

For more information on how to get started with the project, see the project documentation.

Building the Project

Clone the Project

$ git clone git@github.com:richfaces/richfaces.git

Prerequsities:

Build the project

Build the project on the command line:

$ mvn clean install

Maven will build the project and execute the unit tests, but it won’t build the distribution archive nor execute the integration tests.

The freshly built RichFaces artifacts will now be available in your local maven repo, and can be included in your application (using a -SNAPSHOT dependency version).

Building Project Distribution Archive

If you are not using maven in your application, you can build the complete distribution archive using the command:

$ mvn clean install -Prelease

The generated ZIP distribution file will be placed in the dist/target/ folder. This zip file contains both the required and optional libraries to be included in your RichFaces-based application.

Warning
Due to a bug in JDK building the distribution under JDK 1.6 will result in a corrupted global javadoc in dist/target/site/javadoc. The build itself will not fail and the separate javadocs for core and components aren’t affected.

Contributing to the project

Details on contributing to the project are available in the Contributing guide.

How to Explore the Sources

All the sources related to RichFaces framework and component library are located in the core and components folders:

  • src/main/java

    • framework sources

    • JSF components under org.richfaces.components package

  • src/main/resources/META-INF/resources

    • JavaScript and CSS resources

Examples such as RichFaces Showcase and Components Demo are stored in the examples folder.

Developing the Project in an IDE

Once you have built the project you can import core, components and one of the examples to the IDE.

If you are using Eclipse, you should use Import Existing Maven Project option.

How to Test the Project

RichFaces has extensive framework test suite which validates compatibility with various browsers and application servers.

For more information on how to run and develop this test suite, see Framework Tests document.

Running Smoke Tests

In order to effectively test the project with each code modification, you need to run at least framework’s smoke tests:

$ mvn clean install -Dintegration=wildfly81 -Dsmoke

This will download WildFly and run the project tests against a managed instance of WildFly 8.1 using a headless PhantomJS browser. For a detailed explanation of additional testing configurations and options, refer to the Testing guide.

These smoke tests are also executed in the continuous integration job.