Details
-
Type: New Feature
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.0.0
-
Fix Version/s: 2.0.1
-
Component/s: Sample Apps
-
Labels:None
-
Environment:ICEfaces 2 maven build portlet portal
-
Affects:Documentation (User Guide, Ref. Guide, etc.)
Description
We need to adjust the way that the portlet examples are built so that they are more Maven friendly. Currently, building the non-portlet versions of the apps includes the portlet files and dependencies.
- Portlet resources, files, and dependences should not be included in the non-portlet builds.
- Pluto requires a special Maven task to run and inject stuff during the build in order to have it deploy properly.
- Portlet resources, files, and dependences should not be included in the non-portlet builds.
- Pluto requires a special Maven task to run and inject stuff during the build in order to have it deploy properly.
Issue Links
- blocks
-
ICE-6452 Test ICEfaces 2 and portlet bridge on Pluto portal container
- Closed
To better support Maven, we decided on a strategy of having separate project directories for portlet examples rather than simply injecting the few portlet files we have into the existing servlet examples. So the new layout for examples that have a corresponding portlet build should look like:
sample/ace/showcase
sample/ace/showcase-portlet
sample/compat/component-showcase
sample/compat/component-showcase-portlet
sample/core/chat
sample/core/chat-portlet
Inside each directory will be a build.xml and a pom.xml, with common build info factored out to the appropriate level (e.g. common to all samples, common to all portlets, common to compat, or specific to that example).
Moving stuff around this way necessitates an overhaul of the ant scripts for building the portlets since they are no longer simply injecting a few files into the existing non-portlet.war.
For Maven, the build-helper-maven-plugin is used in the portlet poms to allow pointing at multiple source directories so that the portlet build can simply refer to the source in the servlet folder.
For Ant, we copy the resources from the parent into the portlet directory and then do a normal portlet build. The only caveat is that the clean target should clean out all the copied files but leave the portlet specific files.
The component-showcase is complete for both Maven and Ant. We are now working on converting the other relevant examples that have portlet builds.