You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by at...@apache.org on 2005/08/12 01:21:34 UTC

svn commit: r231537 - /portals/jetspeed-2/trunk/xdocs/j2-maven-plugin.xml

Author: ate
Date: Thu Aug 11 16:21:26 2005
New Revision: 231537

URL: http://svn.apache.org/viewcvs?rev=231537&view=rev
Log:
Big update of the maven-plugin documentation.

Modified:
    portals/jetspeed-2/trunk/xdocs/j2-maven-plugin.xml

Modified: portals/jetspeed-2/trunk/xdocs/j2-maven-plugin.xml
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/xdocs/j2-maven-plugin.xml?rev=231537&r1=231536&r2=231537&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/xdocs/j2-maven-plugin.xml (original)
+++ portals/jetspeed-2/trunk/xdocs/j2-maven-plugin.xml Thu Aug 11 16:21:26 2005
@@ -1,659 +1,501 @@
 <?xml version="1.0"?>
 <!--
-    Copyright 2004 The Apache Software Foundation
-    
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-    
-    http://www.apache.org/licenses/LICENSE-2.0
-    
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
+  Copyright 2004 The Apache Software Foundation
+  
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
 -->
 <document>
-    <properties>
-        <title>Jetspeed 2 Maven Plugin</title>
-        <subtitle>Documentation for Using Jetspeed 2 Maven Plugin</subtitle>
-        <authors>
-            <person name="David Le Strat" email="dlestrat@apache.org" />
-        </authors>
-    </properties>
-    <body>
-        <section name="Plugin Overview">
-            <p>
-                Adding functionality to Maven is done through the Maven plugin mechanism. Maven comes shipped with
-                numerous plugins and provides an extensible framework for writing custom plugins. Details on custom Maven
-                plugins can be found in the
-                <a href="http://maven.apache.org/using/developing-plugins.html">Writing a Plugin</a>
-                section of Maven's web site.
-            </p>
-            <p>
-                Jetspeed 2 has developed a custom Maven plugin that centralizes most common build goals required to
-                build a Jetspeed 2 based portal application. This provides many benefits:
-            </p>
-            <ul>
-                <li>
-                    Better reusability of common build goals. Developers creating a new portal application can
-                    leverage the Jetspeed 2 Maven plugin for common build operations.
-                </li>
-                <li>
-                    The ability to quickly get started with a portal application. A new target j2:genapp.portal
-                    creates a shell portal application. The developer of the new application can reuse the Jetspeed 2
-                    Maven plugin goals for common build operations for quickStart, portlet deployment, etc.
-                </li>
-                <li>
-                    Preparation for future migration to M2. With M2, custom goals are encapsulated in plugins,
-                    maven.xml is deprecated. By centralizing most of the Jetspeed 2 build goals to the Jetspeed 2 Maven
-                    plugin, migration to M2 should be much easier.
-                </li>
-            </ul>
-        </section>
-        <section name="Plugin Goals">
-        	<subsection name="Goals for Generating a New Portal Application">
-        		<p>Goals for quickly getting started with a new portal application.</p>
-        		<table>
-                    <tr>
-                        <th>Goal</th>
-                        <th>Description</th>
-                    </tr>
-                 	<tr>
-                        <td>j2:genapp.portal</td>
-                        <td>
-                            Generates a new portal application. See <a href="getting-started.html">Getting Started -> 
-                            6. Creating a new Portal Application</a> for detail instructions on how to use this goal.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:genapp.portal.runtime</td>
-                        <td>
-                            Keep your application in sync with Jetspeed latest dependencies. 
-                            See <a href="getting-started.html">Getting Started -> 
-                            6. Creating a new Portal Application</a> for detail instructions on how to use this goal.
-                        </td>
-                    </tr>
-                </table>
-            </subsection>
-            <subsection name="Getting Started Goals">
-            	<p>Goals for getting started with running the portal application.</p>
-            	<table>
-                    <tr>
-                        <th>Goal</th>
-                        <th>Description</th>
-                    </tr>
-                 	<tr>
-                        <td>j2:doStart</td>
-                        <td>
-                            Provides a generic goal for deploying the portal application and setting up the required
-                            dependencies (shared libraries, context sharing, etc.).  Using this goal requires to
-                            specify <i>deployType</i> as a property for the type of deployment to perform.  
-                            The default value is <i>j2:fullDeploy</i>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:quickStart</td>
-                        <td>
-                            Run <i>j2:doStart</i> with <i>j2:fullDeploy</i>. Also recreates the database. <i>j2:quickStart</i>
-                            should be run in the same directory as the directory contains the <i>project.xml</i> file for your
-                            portal project.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:nodbQuickStart</td>
-                        <td>
-                            Run <i>j2:doStart</i> with <i>j2:fullDeploy</i> without recreating the database.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:minStart</td>
-                        <td>
-                            Run <i>j2:doStart</i> with <i>j2:minDeploy</i>. Also recreates the database.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:nodbMinStart</td>
-                        <td>
-                            Run <i>j2:doStart</i> with <i>j2:minDeploy</i> without recreating the database.
-                        </td>
-                    </tr>
-                </table>
-            </subsection>
-            <subsection name="Portal Deployment Goals">
-            	<table>
-                    <tr>
-                        <th>Goal</th>
-                        <th>Description</th>
-                    </tr>
-                 	<tr>
-                        <td>j2:copy.shared.deps</td>
-                        <td>
-                            Copies the portal shared dependencies to the Tomcat shared directory.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:catalina.base.shared</td>
-                        <td>
-                            Copies all base jars necessary for the common portlet container.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:catalina.shared</td>
-                        <td>
-                            Copies all jars necessary for common container
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:portal.deploy</td>
-                        <td>
-                            Deploys the portal application only and its dependencies to the application server.  This
-                            target only supports Tomcat.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:portal.install</td>
-                        <td>
-                            Builds and install the portal application in the maven local repository.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:portal.hotdeploy</td>
-                        <td>
-                            Hot deploys the portal application webapp content to the deployment directory on the application
-                            server.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:fullDeploy</td>
-                        <td>
-                            Deploys the portal and all the Jetspeed portlet to the application server.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:nodbfullDeploy</td>
-                        <td>
-                            Deploys the portal and all the Jetspeed portlet to the application server.  The database
-                            PSML dependencies are not recreated.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:minDeploy</td>
-                        <td>
-                            Deploys the portal and a minimal core set of Jetspeed portlets (layout and security portlets).
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:minDeploy</td>
-                        <td>
-                            Deploys the portal and a minimal core set of Jetspeed portlets (layout and security portlets).
-                            The database PSML dependencies are not recreated.
-                        </td>
-                    </tr>
-              	</table>
-            </subsection>
-            <subsection name="Portal Clean Up Goals">
-            	<p>Goals cleaning up after portal deployment.</p>
-            	<table>
-                    <tr>
-                        <th>Goal</th>
-                        <th>Description</th>
-                    </tr>
-                 	<tr>
-                        <td>j2:remove.wars</td>
-                        <td>
-                            Removes all entities (portlets, portal, configuration files) deployed to the application server.
-                        </td>
-                    </tr>
-                </table>
-            </subsection>
-            <subsection name="Portlets Deployment Goals">
-            	<p>Goals for deploying or undeploying Jetspeed portlets.</p>
-            	<table>
-                    <tr>
-                        <th>Goal</th>
-                        <th>Description</th>
-                    </tr>
-                 	<tr>
-                        <td>j2:pam.layoutdeploy</td>
-                        <td>
-                            Deploys Jetspeed layout portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.layoutundeploy</td>
-                        <td>
-                            Undeploys Jetspeed layout portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.palmdeploy</td>
-                        <td>
-                            Deploys Jetspeed portlet application lifecycle management portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.unpalmdeploy</td>
-                        <td>
-                            Undeploys Jetspeed portlet application lifecycle management portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.pamdeploy</td>
-                        <td>
-                            Deploys Jetspeed portlet application management portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.unpamdeploy</td>
-                        <td>
-                            Undeploys Jetspeed portlet application management portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.tsdeploy</td>
-                        <td>
-                            Deploys Pluto Test Suite portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.tsundeploy</td>
-                        <td>
-                            Undeploys Pluto Test Suite portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.strutsdeploy</td>
-                        <td>
-                            Deploys the struts demo application portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.strutsundeploy</td>
-                        <td>
-                            Undeploys the struts demo application portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.jpetstoredeploy</td>
-                        <td>
-                            Deploys the iBatis petstore demo application portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.jpetstoreundeploy</td>
-                        <td>
-                            Undeploys the iBatis petstore demo application portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.jsfdeploy</td>
-                        <td>
-                            Deploys the JSF demo application portlet which uses Jetspeed generic JSF portlet bridge.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.jsfundeploy</td>
-                        <td>
-                            Undeploys the JSF demo application portlet which uses Jetspeed generic JSF portlet bridge.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.jsfmyfacesdeploy</td>
-                        <td>
-                            Deploys the JSF demo application portlet which uses MyFaces native JSF portlet bridge.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.jsfmyfacesundeploy</td>
-                        <td>
-                            Undeploys the JSF demo application portlet which uses MyFaces native JSF portlet bridge.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.securitydeploy</td>
-                        <td>
-                            Deploys the Jetspeed security administration portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.securityundeploy</td>
-                        <td>
-                            Undeploys the Jetspeed security administration portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.phpdeploy</td>
-                        <td>
-                            Deploys the Jetspeed PHP bridge demo portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.perldeploy</td>
-                        <td>
-                            Undeploys the Jetspeed Perl bridge demo portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.perlundeploy</td>
-                        <td>
-                            Undeploys the Jetspeed Perl bridge demo portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.rssdeploy</td>
-                        <td>
-                            Undeploys the RSS feed demo portlet.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:pam.rssundeploy</td>
-                        <td>
-                            Undeploys the RSS feed demo portlet.
-                        </td>
-                    </tr>
-                </table>
-            </subsection>
-            <subsection name="Settings Goals">
-                <p>Generics set of goals to validate the portal application settings.</p>
-                <table>
-                    <tr>
-                        <th>Goal</th>
-                        <th>Description</th>
-                    </tr>
-                    <tr>
-                        <td>j2:check.required.properties</td>
-                        <td>
-                            Checks if the portal required properties have been properly set. See the
-                            <a href="getting-started.html">Getting Starting</a>
-                            section of the documentation for information about how to set up those properties. The
-                            properties checked are:
-                            <ul>
-                                <li>org.apache.jetspeed.portal.name: The name of the portal application. For now, it is
-                                recommended to use <quote>jetspeed</quote>.  Issues may arise with a different portal
-                                name, this has not been yet tested.</li>
-                                <li>
-                                    org.apache.jetspeed.server.home: The root of your Jetspeed-2 source installation.
-                                </li>
-                                <li>
-                                    org.apache.jetspeed.catalina.version.major: Are you using Tomcat 5.0.x (use: 5) or
-                                    5.5.x? (use: 5.5)
-                                </li>
-                                <li>
-                                    org.apache.jetspeed.server.shared: The location of the shared jars in your Tomcat
-                                    installation.
-                                </li>
-                                <li>
-                                    org.apache.jetspeed.deploy.war.dir: The location to deploy web application in
-                                    Tomcat.
-                                </li>
-                                <li>
-                                    org.apache.jetspeed.services.autodeployment.user: A Tomcat user with the manager
-                                    role.
-                                </li>
-                                <li>
-                                    org.apache.jetspeed.services.autodeployment.password: The password of the Tomcat
-                                    manager user.
-                                </li>
-                            </ul>
-                        </td>
-                    </tr>
-                </table>
-            </subsection>
-            <subsection name="Generic Jetspeed Deployment Goals">
-                <p>General purpose goals for deploying Jetspeed portlets to the portal.  This provides a reusable 
-                goal for deploying Jetspeed portlets.</p>
-                <table>
-                    <tr>
-                        <th>Goal</th>
-                        <th>Description</th>
-                    </tr>
-                    <tr>
-                        <td>j2:deploy</td>
-                        <td>
-                            Deploys the portlet identified by ${maven.war.final.name} to the deployed portal.  Portlets
-                            to be deployed are searched for in the Jetspeed2 maven repository.  When searching portlets in
-                            the repository, this goal searches for the portlet given the Jetspeed version number configured
-                            in the plugin.  The name of the file searched in the repository follows the convention 
-                            ${maven.war.final.name}-${jetspeed.version}.war and is deployed as ${maven.war.final.name}.war.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:undeploy</td>
-                        <td>
-                            Undeploys the portlet identified by ${maven.war.final.name} to the deployed portal.
-                        </td>
-                    </tr>
-                </table>
-            </subsection>
-            <subsection name="Database Management Goals">
-            	<p>Generic set of goals for managing Jetspeed embedded HSQL database.</p>
-            	<table>
-                    <tr>
-                        <th>Goal</th>
-                        <th>Description</th>
-                    </tr>
-                    <tr>
-                        <td>j2:start.production.server</td>
-                        <td>
-                            Starts the production database for running Jetspeed 2. The production database should be used
-                            when running Jetspeed as an application deployed in Tomcat.  By default, Jetspeed 2 uses the HSQL
-                            database that is embedded within the Jetspeed 2 Maven Plugin.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:start.test.server</td>
-                        <td>
-                            Starts the test database for running Jetspeed 2. The test database should be used when working
-                            with Jetspeed source code.  All unit tests get run against the test database.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:start.hsql</td>
-                        <td>
-                            Generic goal for starting an HSQL server.  Both j2:start.production.server and j2:start.test.server
-                            leverage this goal to start the production or test databases.  In order to use this goal, 2 parameters
-                            should be set:
-                            <ul>
-                            	<li>maven.start.hsql.message: The message to display when starting the database engine. For 
-                            	instance:
-                            	<pre>
-                            	<![CDATA[
- <j:set var="maven.start.hsql.message" value="Testing Database" />]]>
-                            	</pre></li>
-                            	<li>org.apache.jetspeed.plugin.hsql.db: The location of the HSQL database to start. For instance:
-                            	<pre>
-                            	<![CDATA[
-<j:set var="org.apache.jetspeed.plugin.hsql.db" 
-       value="${dir}/plugin-resources/database/hsql/Test" />]]>
-	                           	</pre></li>
-	                         </ul>                          	
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:db.execute</td>
-                        <td>
-                            Utility goal for executing a database SQL script.  In order to use this goal, the following
-                            properties should be set. The maven plugin provides default value for all properties but
-                            database.arg.script:
-                            <ul>
-                            	<li>org.apache.jetspeed.database.driver: The name of the driver being used. The default
-                            	value is <i>org.hsqldb.jdbcDriver</i></li>
-                            	<li>org.apache.jetspeed.database.url: The url for JDBC connections to connect to. The default
-                            	value is <i>jdbc:hsqldb:hsql://127.0.0.1:9001</i></li>
-                            	<li>org.apache.jetspeed.database.user: The database user to connect with. The default
-                            	value is <i>sa</i></li>
-                            	<li>org.apache.jetspeed.database.password: The database password to connect with. The default
-                            	value is empty.</li>
-                            	<li>database.arg.script: The path of the script to execute. For instance on Windows:
-                            	<i>C:/sql/hsql/populate-userinfo-for-default-psml.sql</i></li>
-                            </ul> 
-                        </td>
-                    </tr>
-                </table>
-            </subsection>
-            <subsection name="Database Scripts Generation Goals">
-            	<p>Goals used for generating the database scripts for the various databases supported by Jetspeed 2.</p>
-            	<table>
-                    <tr>
-                        <th>Goal</th>
-                        <th>Description</th>
-                    </tr>
-                    <tr>
-                        <td>j2:db.scripts.gen</td>
-                        <td>
-                            Leverages Torque to generate the database scripts for the supported databases.  The generated
-                            script are stored in the cache directory of the maven plugin. It leverages XML schema definitions
-                            to generate the SQL scripts for a given database target.
-                        </td>
-                    </tr>
-                </table>
-            </subsection>
-            <subsection name="Database Creation Goals">
-            	<p>Goals used for creating Jetspeed 2 database.</p>
-            	<table>
-                    <tr>
-                        <th>Goal</th>
-                        <th>Description</th>
-                    </tr>
-                    <tr>
-                        <td>j2:db.test.properties</td>
-                        <td>
-                            Tests that the properties required for creating the test database have been set.
-                            Makes sure that the following properties are set for the test environment:
-                            <ul>
-                            	<li>org.apache.jetspeed.database.default.name: The database name.</li>
-                            	<li>org.apache.jetspeed.database.url: The database connection url.</li>
-                            	<li>org.apache.jetspeed.database.driver: The JDBC driver.</li>
-                            	<li>org.apache.jetspeed.database.user: The database connection user name.</li>
-                            	<li>org.apache.jetspeed.database.password: The database connection password.</li>
-                            	<li>org.apache.jetspeed.jdbc.drivers.path: The JDBC driver path if applicable.</li>
-                            </ul>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:db.production.properties</td>
-                        <td>
-                            Tests that the properties required for creating the production database have been set.
-                            Same as <i>j2:db.test.properties</i>.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:db.create.test</td>
-                        <td>
-                            Creates the test database.  Prior to running this goal, the test database should be started with
-                            <i>j2:start.test.server</i>.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:db.create.production</td>
-                        <td>
-                            Creates the production database.  Prior to running this goal, the production database should be started with
-                            <i>j2:start.production.server</i>.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:db.create</td>
-                        <td>
-                            Generic target for creating a database and executing all the SQL scripts required to
-                            initialize Jetspeed 2.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:db.entities</td>
-                        <td>
-                            Populates the users information for the default PSML configuration configured with Jetspeed 2.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:db.recreate</td>
-                        <td>
-                            Recreates the production database.
-                        </td>
-                    </tr>
-                </table>
-            </subsection>
-            <subsection name="Goals for Dropping the Database">
-            	<p>Set of goals for dropping the Jetspeed database.</p>
-            	<table>
-                    <tr>
-                        <th>Goal</th>
-                        <th>Description</th>
-                    </tr>
-                    <tr>
-                        <td>j2:db.drop.test</td>
-                        <td>
-                            Drops the test database.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:db.drop.production</td>
-                        <td>
-                            Drops the production database.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:db.drop</td>
-                        <td>
-                            Generic goal for dropping a given Jetspeed database target.  The database connection information
-                            should be set to target the correct database.  For instance, <i>j2:db.drop.test</i> invokes 
-                            <i>j2:db.test.properties</i> to set the test database connection properties prior to invoking
-                            <i>j2:db.drop</i>.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:db.drop2</td>
-                        <td>
-                            Drops the core portal tables.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:db.drop.oracle</td>
-                        <td>
-                            Drops the core portal tables for an oracle database.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:dropdrops</td>
-                        <td>
-                            Work around goal to address an Oracle issue when trying to drop the database tables for the
-                            production database.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:test.dropdrops</td>
-                        <td>
-                            Work around goal to address an Oracle issue when trying to drop the database tables for the
-                            test database.
-                        </td>
-                    </tr>
-              	</table>
-            </subsection>
-           	<subsection name="Jetspeed Components Deployment Goals">
-           		<p>Generic set of goals for redeploying a specific Jetspeed component.</p>
-           		<table>
-                    <tr>
-                        <th>Goal</th>
-                        <th>Description</th>
-                    </tr>
-                    <tr>
-                        <td>j2:jar.deploy</td>
-                        <td>
-                            Deploys a Jetspeed core component from the local maven repository to the deployment
-                            directory.
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>j2:jar.deploy.shared</td>
-                        <td>
-                            Deploys a Jetspeed core component shared library from the local maven repository 
-                            to the Tomcat shared library directory.
-                        </td>
-                    </tr>
-                </table>
-            </subsection>
-        </section>
-    </body>
+  <properties>
+    <title>Jetspeed 2 Maven Plugin</title>
+    <subtitle>Documentation for Using Jetspeed 2 Maven Plugin</subtitle>
+    <authors>
+      <person name="David Le Strat" email="dlestrat@apache.org" />
+      <person name="Ate Douma" email="ate@douma.nu" />
+    </authors>
+  </properties>
+  <body>
+    <section name="Plugin Overview">
+      <p>
+        Adding functionality to Maven is done through the Maven plugin mechanism. Maven comes shipped with numerous
+        plugins and provides an extensible framework for writing custom plugins.
+        Details on custom Maven plugins can be found in the
+        <a href="http://maven.apache.org/using/developing-plugins.html">Writing a Plugin</a> section of Maven's web
+        site.
+      </p>
+      <p>
+        Jetspeed 2 has developed a custom Maven plugin that centralizes most common build goals required to build a
+        Jetspeed 2 based portal application. This provides many benefits:
+      </p>
+      <ul>
+        <li>
+          Better reusability of common build goals. Developers creating a new portal application can leverage the
+          Jetspeed 2 Maven plugin for common build operations.
+        </li>
+        <li>
+          The ability to quickly get started with a portal application. With the goal <code>j2:portal.genapp</code>
+          a new portal application can be created. The developer of the new application can reuse the Jetspeed 2
+          Maven plugin goals for common build operations for quickStart, portlet deployment, etc.
+        </li>
+        <li>
+          Preparation for future migration to Maven 2 (M2). With M2, custom goals are encapsulated in plugins, maven.xml
+          is deprecated. By centralizing most of the Jetspeed 2 build goals to the Jetspeed 2 Maven plugin, migration to
+          M2 should be much easier.
+        </li>
+      </ul>
+    </section>
+    <section name="Portal Application creation and configuration Goals">
+      <subsection name="Creating a new Portal Application">
+        <table>
+          <tr>
+            <th>Goal</th>
+            <th>Description</th>
+          </tr>
+          <tr>
+            <td><code>j2:portal.genapp</code></td>
+            <td>
+              Generates or updates a custom portal application. Checkout the 
+              <a href="getting-started.html#4__Creating_a_new_Portal_Application">Getting Started</a>
+              document for basic usage of this goal.
+              <br />
+            </td>
+          </tr>
+        </table>
+      </subsection>
+      <subsection name="Configuring and updating a Portal Application">
+        <p>
+          The <code>j2:portal.genapp</code> goal above is actually no more than a wrapper around several (sub)goals
+          which can also be used individually to update and configure your portal application:
+        </p>
+        <table>
+          <tr>
+            <th>Goal</th>
+            <th>Description</th>
+          </tr>
+          <tr>
+            <td><code>j2:portal.copy.webapp</code></td>
+            <td>
+              Copies the (static) Jetspeed 2 portal web resource from the plugin to the
+              <code>${org.apache.jetspeed.portal.webapp.dir}</code> folder.
+              <br />
+              <br />
+              Running this goal again will not clear out previous resources but <i>will</i> overwrite existing resources.
+              <br />
+              <br />
+              If you need to upgrade to a newer version of the Jetspeed 2 portal you should clear out these resources
+              yourself first. By default, the target folder is configured within the maven default target folder and
+              running the <code>clear</code> goal will do exactly that.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:portal.conf.project</code></td>
+            <td>
+              Creates a new maven or updates an existing portal project configuration in the
+              <code>${org.apache.jetspeed.portal.home.dir}</code> folder.
+              <br />
+              It creates a hiearchy of 5 maven project files:
+              <ul>
+                <li><code>project-info.xml</code></li>
+                <li><code>core-build.xml extends project-info.xml</code></li>
+                <li><code>jetspeed-components.xml extends core-build.xml</code></li>
+                <li><code>full-portal.xml extends jetspeed-components.xml</code></li>
+                <li><code>project.xml extends full-portal.xml</code></li>
+              </ul>
+              Of the above files, the first and the last (project-info.xml and project.xml) may be modified to provide
+              additional project information and configuration and will not be updated by this goal again. Only the
+              other 3 files will be rewritten by this goal. If you need to upgrade to a newer version of the Jetspeed 2
+              portal your own customization will be preserved.
+              <br />
+              <br />
+              Additionally, you can add your own maven.xml and/or project.properties or build.properties to further
+              customize your portal. These also will be preserverd when you run this goal again.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:portal.conf.sql</code></td>
+            <td>
+              Generates the portal sql schema DDL for the configured database(s) under the
+              <code>${org.apache.jetspeed.portal.sql.dir}</code>, as well as copies over statically defined common and
+              selected database specific sql DML and DDL (possibly overriding generated DDL).
+              <br />
+              <br />
+              The content of the sql target folder is cleared out first when this goal is run.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:portal.conf.ojb</code></td>
+            <td>
+              Copies the OJB configuration, filtered for the currently selected production database to the
+              <code>${org.apache.jetspeed.portal.target.dir}</code> folder.
+              <br />
+              <br />
+              As default, the above target folder is configured under the default maven war target folder. The maven
+              <code>clear</code> goal will also remove this filtered OJB configuration.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:portal.conf.jetspeed</code></td>
+            <td>
+              Copies the filtered <code>jetspeed.properties</code> portal configuration to the 
+              <code>${org.apache.jetspeed.portal.target.dir}</code> folder.
+              <br />
+              <br />
+              As default, the above target folder is configured under the default maven war target folder. The maven
+              <code>clear</code> goal will also remove this filtered <code>jetspeed.properties</code> file.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:portal.conf.tomcat</code></td>
+            <td>
+              Copies a filtered Tomcat context descriptor, containing current database connection configuration to the
+              <code>${org.apache.jetspeed.portal.conf.dir}</code> folder.
+              <br />
+              <br />
+              Based on the <code>${org.apache.jetspeed.catalina.major.version}</code> setting, a Tomcat 5.0.x or 5.5.x
+              type template context descriptor will be used.
+              <br />
+              <br />
+              The filtered Tomcat context descriptor will be copied to the Tomcat server by the
+              <code>j2:portal.deploy</code> goal.
+              <br />
+              <br />
+              If you need to change the Tomcat major version and/or database connection configuration, you need to
+              run this goal again before (re)deploying your portal.
+              <br />
+              <br />
+              As default, the above target folder is configured under the default maven target folder. The maven
+              <code>clear</code> goal will remove this filtered context descriptor file.
+            </td>
+          </tr>
+        </table>
+      </subsection>
+    </section>
+    <section name="Portal Application Deployment Goals">
+      <subsection name="Quickstart deployment goals">
+        <p>
+          Several goals are available for quickly deploying the Portal Application together with a predefined set of
+          Portlet Applications and optionally with creating and seeding the portal database.
+        </p>
+        <table>
+          <tr>
+            <th>Goal</th>
+            <th>Description</th>
+          </tr>
+          <tr>
+            <td><code>j2:doStart</code></td>
+            <td>
+              A generic goal for deploying the portal application and setting up the required dependencies for the 
+              configured Tomcat Server (shared libraries, portal application context, etc.).
+              <br />
+              <br />
+              This goal requires the plugin property <code>deployType</code> to be set. The default value is
+              <code>"j2:fullDeploy"</code> (see below).
+              <br />
+              <br />
+              If plugin property <code>recreateDB</code> is set, goal <code>j2:db.recreate</code> is invoked.
+              <br />
+              All existing Jetspeed 2 standard and demo portlet applications are removed through goal
+              <code>j2:remove.wars</code>.
+              <br />
+              The shared dependecies are copied to the Tomcat Server with goal <code>j2:copy.shared.deps</code>.
+              <br   />
+              And finally, the set <code>deployType</code> plugin property value is used to run a specific deploy goal.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:quickStart</code></td>
+            <td>
+              Invokes <code>j2:doStart</code> with <code>deployType="j2:fullDeploy"</code> and
+              <code>recreateDB=true</code>.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:nodbQuickStart</code></td>
+            <td>
+              Invokes <code>j2:doStart</code> with <code>deployType="j2:nodbfullDeploy"</code> and 
+              <code>recreateDB=false</code>.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:basicStart</code></td>
+            <td>
+              Invokes <code>j2:doStart</code> with <code>deployType="j2:basicDeploy"</code> and
+              <code>recreateDB=true</code>.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:nodbBasicStart</code></td>
+            <td>
+              Invokes <code>j2:doStart</code> with <code>deployType="j2:nodbBasicDeploy"</code> and 
+              <code>recreateDB=false</code>.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:minStart</code></td>
+            <td>
+              Invokes <code>j2:doStart</code> with <code>deployType="j2:minDeploy"</code> and
+              <code>recreateDB=true</code>.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:nodbMinStart</code></td>
+            <td>
+              Invokes <code>j2:doStart</code> with <code>deployType="j2:nodbMinDeploy"</code> and 
+              <code>recreateDB=false</code>.
+            </td>
+          </tr>
+        </table>
+      </subsection>
+      <subsection name="Deployment supporting Goals">
+        <table>
+          <tr>
+            <th>Goal</th>
+            <th>Description</th>
+          </tr>
+          <tr>
+            <td>j2:remove.wars</td>
+            <td>
+              Removes the portal, all standard and demo portlet applications (see <code>j2:fullDeploy</code> below) 
+              and their context descriptors (if any) from the Tomcat Server.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:catalina.base.shared</code></td>
+            <td>
+              Copies all base jars necessary for the common portlet container.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:catalina.shared</code></td>
+            <td>Copies all jars necessary for common container</td>
+          </tr>
+          <tr>
+            <td><code>j2:copy.shared.deps</code></td>
+            <td>
+              Wrapper goal invoking <code>j2:catalina.base.shared</code> and <code>j2:catalina.shared</code>.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:portal.deploy</code></td>
+            <td>
+              Deploys the portal application only and its dependencies to the Tomcat Server, but no portlet applications.
+              <br />
+              <br />
+              First, it removes the current portal installation with goal <code>j2:remove.wars</code>.
+              <br/>
+              Then it copies and expands the build portal war from the local maven repository to the application server.
+              <br />
+              And it copies a Tomcat context descriptor for the portal (see also goal <code>j2:portal.conf.tomcat</code>).
+              <br />
+              Finally, it installs the shared dependencies with goal <code>j2:copy.shared.deps</code>.
+            </td>
+          </tr>
+        </table>
+      </subsection>
+      <subsection name="Standard and Demo Portlet Application deployment goals">
+        <table>
+          <tr>
+            <th>Goal</th>
+            <th>Description</th>
+          </tr>
+          <tr>
+            <td><code>j2:deploy</code></td>
+            <td>
+              Generic goal to deploy a portlet application identified by property <code>${maven.war.final.name}</code>.
+              <br />
+              <br />
+              The portlet application is searched for in the Jetspeed2 group of the local maven repository. When
+              searching portlets in the repository, this goal searches for the portlet application given the Jetspeed 2
+              version number configured in the plugin. The name of the file searched in the repository following the
+              convention <code>${maven.war.final.name}-${jetspeed.version}.war</code> and is deployed as 
+              <code>${maven.war.final.name}.war</code>.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:pam.layoutdeploy</code></td>
+            <td>Deploys Jetspeed local layout portlet application.</td>
+          </tr>
+          <tr>
+            <td><code>j2:pam.palmdeploy</code></td>
+            <td>Deploys Jetspeed portlet application lifecycle management portlet application.</td>
+          </tr>
+          <tr>
+            <td><code>j2:pam.pamdeploy</code></td>
+            <td>Deploys Jetspeed portlet application management portlet application.</td>
+          </tr>
+          <tr>
+            <td><code>j2:pam.tsdeploy</code></td>
+            <td>Deploys Pluto Test Suite portlet application.</td>
+          </tr>
+          <tr>
+            <td><code>j2:pam.strutsdeploy</code></td>
+            <td>Deploys the struts mailreader demo portlet application.</td>
+          </tr>
+          <tr>
+            <td><code>j2:pam.jpetstoredeploy</code></td>
+            <td>Deploys the iBatis JPetstore based demo portlet application.</td>
+          </tr>
+          <tr>
+            <td><code>j2:pam.jsfdeploy</code></td>
+            <td>Deploys the JSF demo portlet application which uses Jetspeed generic JSF portlet bridge.</td>
+          </tr>
+          <tr>
+            <td><code>j2:pam.jsfmyfacesdeploy</code></td>
+            <td>Deploys the JSF demo portlet application which uses MyFaces native JSF portlet bridge.</td>
+          </tr>
+          <tr>
+            <td><code>j2:pam.securitydeploy</code></td>
+            <td>Deploys the Jetspeed security administration portlet application.</td>
+          </tr>
+          <tr>
+            <td><code>j2:pam.phpdeploy</code></td>
+            <td>Deploys the Jetspeed PHP bridge demo portlet application.</td>
+          </tr>
+          <tr>
+            <td><code>j2:pam.perldeploy</code></td>
+            <td>Deploys the Jetspeed Perl bridge demo portlet application.</td>
+          </tr>
+          <tr>
+            <td><code>j2:pam.rssdeploy</code></td>
+            <td>Deploys the RSS feed demo portlet application.</td>
+          </tr>
+          <tr>
+            <td><code>j2:nodbMinDeploy</code></td>
+            <td>
+              Deploys the portal using the <code>j2:portal.deploy</code> goal and only the layout and security portlets
+              using <code>j2:pam.layoutdeploy</code> and <code>j2:pam.securitydeploy</code>.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:minDeploy</code></td>
+            <td>
+              The same functionality as <code>j2:nodbMinDeploy</code> and additionaly seeds the portal database using
+              the <code>j2:db.entities</code> goal.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:nodbBasicDeploy</code></td>
+            <td>
+              The same functionality as <code>j2:nodbMinDeploy</code> and additionaly deploys the PAM and PALM portlets
+              using <code>j2:pam.pamdeploy</code> and <code>j2:pam.palmdeploy</code>.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:basicDeploy</code></td>
+            <td>
+              The same functionality as <code>j2:nodbBasicDeploy</code> and additionaly seeds the portal database using
+              the <code>j2:db.entities</code> goal.
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:nodbfullDeploy</code></td>
+            <td>
+              The same functionality as <code>j2:nodbBasicDeploy</code> but additional deploys all other demo portlet
+              applications (see full list above).
+            </td>
+          </tr>
+          <tr>
+            <td><code>j2:fullDeploy</code></td>
+            <td>
+              The same functionality as <code>j2:nodbFullDeploy</code> and additionaly seeds the portal database using
+              the <code>j2:db.entities</code> goal.
+            </td>
+          </tr>
+        </table>
+      </subsection>
+    </section>
+    <section name="Database Management Goals">
+      <table>
+        <tr>
+          <th>Goal</th>
+          <th>Description</th>
+        </tr>
+        <tr>
+          <td><code>j2:start.production.server</code></td>
+          <td>Starts the default HSQLDB production database for usage by the portal.</td>
+        </tr>
+        <tr>
+          <td><code>j2:start.test.server</code></td>
+          <td>
+            Starts the default HSQLDB test database to be used for the testcases during the build of Jetspeed 2.
+          </td>
+        </tr>
+        <tr>
+          <td><code>j2:db.create.test</code></td>
+          <td>
+            Creates the test database tables. If using the default HSQLDB database, it should be started first with
+            goal <code>j2:start.test.server</code>.
+            <br />
+            Existing portal tables are dropped first. The first time, this will lead to "table does not exist"
+            error messages but they can be (and are) ignored.
+          </td>
+        </tr>
+        <tr>
+          <td><code>j2:db.create.production</code></td>
+          <td>
+            Creates the production database tables. If using the default HSQLDB database, it should be started first
+            with goal <code>j2:start.production.server</code>.
+            <br />
+            Existing portal tables are dropped first. The first time, this will lead to "table does not exist"
+            kind of error messages but they can (and are) ignored.
+          </td>
+        </tr>
+        <tr>
+          <td><code>j2:db.recreate</code></td>
+          <td>
+            Recreates the production database using the <code>j2:db.create.production</code> goal but first
+            (re)generates the sql scripts using <code>j2:portal.conf.sql</code>.
+          </td>
+        </tr>
+        <tr>
+          <td><code>j2:db.drop.test</code></td>
+          <td>Drops the test database portal tables.</td>
+        </tr>
+        <tr>
+          <td><code>j2:db.drop.production</code></td>
+          <td>Drops the production database portal tables.</td>
+        </tr>
+        <tr>
+          <td><code>j2:db.entities</code></td>
+          <td>
+            Populates the users information for the default PSML configuration configured with Jetspeed 2.
+          </td>
+        </tr>
+      </table>
+    </section>
+    <section name="Auxillary Jetspeed Components Deployment Goals">
+      <p>
+        Generic set of goals for redeploying a specific Jetspeed component.
+      </p>
+      <table>
+        <tr>
+          <th>Goal</th>
+          <th>Description</th>
+        </tr>
+        <tr>
+          <td><code>j2:jar.deploy</code></td>
+          <td>
+            Deploys a Jetspeed core component from the local maven repository to the deployment directory.
+          </td>
+        </tr>
+        <tr>
+          <td><code>j2:jar.deploy.shared</code></td>
+          <td>
+            Deploys a Jetspeed core component shared library from the local maven repository to the Tomcat shared
+            library directory.
+          </td>
+        </tr>
+      </table>
+    </section>
+  </body>
 </document>
 



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org