Details
-
Type:
Improvement
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.0.0.BETA, 3.1.0.BETA1
-
Fix Version/s: 3.1
-
Component/s: Release
-
Labels:None
-
Environment:All
-
Assignee Priority:P2
-
Affects:Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial, Compatibility/Configuration
Description
There are a number of various tickets open for making changes and improvements to the Maven builds. Creating this as the parent JIRA for those others.
Issue Links
- depends on
-
ICE-5003
Add source-code and JavaDoc to the ICEfaces Maven distributions
-
- Closed
-
-
ICE-7957
Make our Maven build dependencies consistent
-
- Closed
-
-
ICE-8343
ReadMe file modifications
-
- Closed
-
-
ICE-8075
Add support for specifying MyFaces JSF to samples Maven builds
-
- Closed
-
-
ICE-8078
Modify samples Maven pom files to use parent pom variables for groups, ids, and versions
-
- Closed
-
I've done some significant refactoring of the Maven pom files for all the samples as part of an effort to close a number of the related JIRAs and make it easier to change the bundle for EE releases.
I've pulled up various libraries into dependencyManagement and profiles sections.
I've parameters relevant names and versions so that they can be changed in one spot.
I've added the following property in the top parent pom:
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
to get rid of the dreaded:
"[WARNING] Using platform encoding (xxxxx actually) to copy filtered resources, i.e. build is platform dependent!"
I don't think this should cause an issue but it's easy to remove if it does.
• It looks like our Ant and Maven builds aren't consistent with the libraries they end up putting in. I haven't correct this yet as things were compiling fine but they should probably be made to be consistent if possible. At least for compat, it looks like Ant likes to include commons-collections.jar and jstl.jar over and above what the Maven builds include.
[deryk] auctionMonitor > ant; ls build/dist/exploded/WEB-INF/lib/
commons-beanutils.jar
commons-collections.jar
commons-logging.jar
icefaces-compat.jar
icefaces.jar
icepush.jar
javax.faces.jar
jstl.jar
[deryk] auctionMonitor > mvn package; ls target/auctionMonitor/WEB-INF/lib
commons-beanutils-1.8.0.jar
commons-logging-1.1.jar
icefaces-3.0.1.jar
icefaces-compat-3.0.1.jar
icepush-3.0.1.jar
javax.faces-2.1.6.jar
[deryk] component-showcase > ant -q clean servlet-profile; ls -1 build/dist/exploded/WEB-INF/lib/
commons-beanutils.jar
commons-collections.jar
commons-logging.jar
icefaces-compat.jar
icefaces.jar
icepush.jar
javax.faces.jar
jstl.jar
jxl.jar
krysalis-jCharts-1.0.0-alpha-1.jar
[deryk] component-showcase > mvn -q clean package; ls -1 target/component-showcase/WEB-INF/lib
commons-beanutils-1.8.0.jar
commons-logging-1.1.jar
icefaces-3.0.1.jar
icefaces-compat-3.0.1.jar
icepush-3.0.1.jar
javax.faces-2.1.6.jar
jxl-2.6.8.jar
krysalis-jCharts-1.0.0-alpha-1.jar
One thing that gets changed as part of the EE build is the groupId in the child poms that refers to the parent pom. This will still need to be done manually as you can't use properties in the parent section. So we'll need to batch replace:
<groupId>org.icefaces.samples</groupId>
with:
<groupId>com.icesoft.icefaces-ee.samples</groupId>
To be honest, I don't think the parent/child pom relationship should actually require changing for EE releases but that's what we have for the moment.