Details
-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 3.3
-
Component/s: Framework
-
Labels:None
-
Environment:Any
-
Assignee Priority:P2
-
Affects:Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial, Compatibility/Configuration
-
Workaround Exists:Yes
-
Workaround Description:Newer versions of the libraries can always be manually switched in to the current directory
Description
Need to modify the current build structure to support building with JSF 2.1 or 2.2. This should include Mojarra but may expand to include MyFaces as well.
I modified a number of build files as well as adjust the structure of the lib/ directory. The aim is to support building against both JSF 2.1 and 2.2 using either Mojarra or MyFaces. The directory structure has changed from:
to:
NOTE The MyFaces 2.2 libraries are very early release versions and may not be ready for general use or testing yet.
You control the implementation and the version using properties. The default is still to build with Mojarra 2.1. The web-profile target should always exclude JSF but the servlet-profile will include JSF depending on which properties are set. The MyFaces property remains the same. A new jsf22 property has been added. Here are the various combinations:
NOTE To support all this, I had to adjust the various build files so that the logic also considered the version directory. I think I managed to changed all the build files in the trunk but if build files in other areas (e.g. QA) that are relying on the old structure, will need to be updated. To help with that, here's a diff of the changes made to samples/build/common.xml. It highlights how the new version directories and MyFaces common directory are handled.