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 vk...@apache.org on 2008/10/31 13:46:05 UTC
svn commit: r709399 -
/portals/jetspeed-2/portal/trunk/xdocs/getting-started-source.xml
Author: vkumar
Date: Fri Oct 31 05:46:05 2008
New Revision: 709399
URL: http://svn.apache.org/viewvc?rev=709399&view=rev
Log:
Updating building from source document for maven 2 plugins
Modified:
portals/jetspeed-2/portal/trunk/xdocs/getting-started-source.xml
Modified: portals/jetspeed-2/portal/trunk/xdocs/getting-started-source.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/xdocs/getting-started-source.xml?rev=709399&r1=709398&r2=709399&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/xdocs/getting-started-source.xml (original)
+++ portals/jetspeed-2/portal/trunk/xdocs/getting-started-source.xml Fri Oct 31 05:46:05 2008
@@ -137,592 +137,27 @@
</subsection>
</section>
- <section name='2. Jetspeed build and maven-plugin Properties'>
- <p>You need to set a few properties.</p>
- <p>
- Creating your own custom portal is very easy with the
- maven plugin provided by Jetspeed 2. And, it is used
- when you build jetspeed from source as well. In fact,
- the jetspeed-2 build procedure is just one example of a
- custom portal configuration and setup.
- </p>
- <p>
- The Jetspeed 2 maven-plugin defines default values for
- most of the properties you can set, but not all. When
- you download or checkout the jetspeed-2 source tree,
- you'll see it contains a project.properties file in the
- root folder overriding and setting some of these
- properties.
- </p>
- <p>
- As said before: not all properties are provided with a
- default value: you
- <i>must</i>
- specify a few yourself. And you'll most likely want to
- override some others.
- </p>
- <p>
- Set or override the build or maven-plugin properties in
- your
- <code>${USER_HOME}/build.properties</code>
- file.
- </p>
- <subsection
- name="Required Portal Configuration Properties">
- <table>
- <tr>
- <th>Property</th>
- <th>Description</th>
- <th nowrap="nowrap">Default value</th>
- </tr>
- <tr>
- <td>
- <code>org.apache.jetspeed.portal.home</code>
- </td>
- <td>
- The folder where the maven-plugin will
- (re)create or update your custom portal
- maven project configuration (with goal
- <code>j2:portal.conf.project</code>
- ). This will be where you will be performing
- all of your future custom portal
- development.
- <br />
- Example:
- <code>/home/myportal/</code>
- </td>
- <td>
- <i>no default</i>
- </td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.portal.groupId
- </code>
- </td>
- <td>
- The (maven) short name of your portal
- project group.
- <br />
- This value is used for the maven repository
- folder in which the project artifacts (like
- the portal war file) is stored.
- <br />
- Example:
- <code>myprojects</code>
- </td>
- <td>
- <i>no default</i>
- </td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.portal.artifactId
- </code>
- </td>
- <td>
- The (maven) short name of your portal
- project.
- <br />
- This value is used for the portal war file
- and the (portal) web application context
- name.
- <br />
- Example:
- <code>myportal</code>
- </td>
- <td>
- <i>no default</i>
- </td>
- </tr>
- <tr>
- <td>
- <code>org.apache.jetspeed.portal.name</code>
- </td>
- <td>
- The (maven) full name of your portal
- project.
- <br />
- This value is used by maven for generating
- JavaDoc titles.
- <br />
- Example:
- <code>My Test Portal</code>
- </td>
- <td>
- <i>no default</i>
- </td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.portal.currentVersion
- </code>
- </td>
- <td>
- The current version of your portal project.
- <br />
- This value is used by maven as name postfix
- for the generated artifacts.
- <br />
- Example:
- <code>1.0</code>
- </td>
- <td>
- <i>no default</i>
- </td>
- </tr>
- </table>
- </subsection>
- <subsection
- name="Optional Portal Configuration Properties">
- <p>
- The following properties all specify a subfolder of
- the
- <code>${org.apache.jetspeed.portal.home}</code>
- location as defined above.
- </p>
- <table>
- <tr>
- <th>Property</th>
- <th>Description</th>
- <th nowrap="nowrap">Default value</th>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.portal.conf.dir
- </code>
- </td>
- <td>
- The folder where the maven-plugin will
- generate and copy application server
- specific configuration files as a tomcat
- application context descriptor.
- <br />
- This folder and its contents is created or
- updated by plugin goal
- <code>j2:portal.conf.tomcat</code>
- .
- </td>
- <td>
- <i>target/portal-conf</i>
- </td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.portal.sql.dir
- </code>
- </td>
- <td>
- The folder where the maven-plugin will
- generate and copy portal and database server
- specific sql DDL and DML scripts.
- <br />
- This folder and its contents is always
- (re)created by plugin goal
- <code>j2:portal.conf.sql</code>
- .
- </td>
- <td>
- <i>target/portal-sql</i>
- </td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.portal.db.dir
- </code>
- </td>
- <td>
- The folder where the maven-plugin will
- create build-in HSQLDB database(s).
- <br />
- This folder and its contents is created or
- updated by plugin goal
- <code>j2:start.production.server</code>
- or
- <code>j2:start.test.server</code>.
- <br/>
- <i>This property is not needed/used for anything else.</i>
- </td>
- <td>
- <i>target/portal-db</i>
- </td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.portal.webapp.dir
- </code>
- </td>
- <td>
- The folder where the maven-plugin will copy
- the standard jetspeed web application
- resources.
- <br />
- This folder and its contents is created or
- updated by plugin goal
- <code>j2:portal.copy.webapp</code>
- .
- </td>
- <td>
- <i>
- target/${org.apache.jetspeed.portal.artifactId}
- </i>
- </td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.portal.target.dir
- </code>
- </td>
- <td>
- The folder where the maven-plugin will
- generate and copy runtime portal
- configuration files.
- <br />
- These configuration files contain values
- derived from build/plugin properties for the
- portal and OJB.
- <br />
- This folder and its contents is created or
- updated by plugin goal
- <code>j2:portal.conf.jetspeed</code>
- and goal
- <code>j2:portal.conf.ojb</code>
- .
- </td>
- <td>
- <i>
- target/${org.apache.jetspeed.portal.artifactId}
- </i>
- </td>
- </tr>
- </table>
- </subsection>
- <subsection name="Required Application Server Properties">
- <p>
- <i>
- Note: The maven-plugin currently only supports
- the Tomcat Server 5.0.x or 5.5.x
- </i>
- </p>
- <table>
- <tr>
- <th>Property</th>
- <th>Description</th>
- <th nowrap="nowrap">Default value</th>
- </tr>
- <tr>
- <td>
- <code>org.apache.jetspeed.server.home</code>
- </td>
- <td>
- The root folder of your Tomcat server
- installation.
- <br />
- Example:
- <code>${CATALINA_HOME}/</code>
- .
- </td>
- <td>
- <i>no default</i>
- </td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.server.shared
- </code>
- </td>
- <td>
- The location of the shared jars in your
- Tomcat installation.
- <br />
- Example:
- <code>
- ${org.apache.jetspeed.server.home}/shared/lib/
- </code>
- </td>
- <td>
- <i>no default</i>
- </td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.deploy.war.dir
- </code>
- </td>
- <td>
- The location of web applications in your
- Tomcat installation.
- <br />
- Example:
- <code>
- ${org.apache.jetspeed.server.home}/webapps/
- </code>
- </td>
- <td>
- <i>no default</i>
- </td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.services.autodeployment.user
- </code>
- </td>
- <td>
- A Tomcat user with the manager role.
- <br />
- Used to access the Tomcat Manager
- application from within the portal,
- explained below.
- </td>
- <td>
- <i>no default</i>
- </td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.services.autodeployment.password
- </code>
- </td>
- <td>
- The password of the Tomcat user above.
- <br />
- Used to access the Tomcat Manager
- application from within the portal,
- explained below.
- </td>
- <td>
- <i>no default</i>
- </td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.catalina.version.major
- </code>
- </td>
- <td>
- The major version of the Tomcat server you
- are using: 5 or 5.5
- <br />
- Example:
- <code>5.5</code>
- </td>
- <td>
- <i>no default</i>
- </td>
- </tr>
- </table>
- </subsection>
- <subsection name="Optional Database Server Properties">
- <p>
- Jetspeed-2 and its maven-plugin uses, as well as
- provides, by default a Derby database.
- </p>
- <p>
- If you want to use a different database you will
- need to override the following properties:
- </p>
- <table>
- <tr>
- <th>Property</th>
- <th>Description</th>
- <th nowrap="nowrap">Default value</th>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.production.database.default.name
- </code>
- </td>
- <td>
- The type of database you are using. Used for
- sql script generation with Torque.
- <br />
- Currently supported databases (with
- corresponding Torque target database name):
- <ul>
- <li>derby</li>
- <li>hsql (hypersonic)</li>
- <li>oracle (oracle)</li>
- <li>mysql (mysql)</li>
- <li>postgres (postgresql)</li>
- <li>mssql (mssql)</li>
- <li>sapdb (sapdb)</li>
- <li>db2 (db2)</li>
- </ul>
- </td>
- <td>derby</td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.derbydatabase.path
- </code>
- </td>
- <td>Path to where the embedded derby database will be created/expected</td>
- <td>/tmp</td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.production.database.url
- </code>
- </td>
- <td>The jdbc connection url</td>
- <td>jdbc:derby:${org.apache.jetspeed.derbydatabase.path}/productiondb;create=true</td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.production.database.user
- </code>
- </td>
- <td>The database user name to connect with.</td>
- <td>sa</td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.production.database.password
- </code>
- </td>
- <td>
- The database user its password to connect
- with.
- </td>
- <td>
- <i>empty</i>
- </td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.production.database.driver
- </code>
- </td>
- <td>The jdbc driver class name</td>
- <td>org.apache.derby.jdbc.EmbeddedDriver</td>
- </tr>
- <tr>
- <td>
- <code>
- org.apache.jetspeed.production.jdbc.drivers.path
- </code>
- </td>
- <td>
- A Java classpath style path to the jdbc
- driver classes or jar(s) needed for
- connecting to the database.
- <br />
- Example:
- <code>
- /lib/ojdbc14.jar;/lib/nls_charset12.jar
- </code>
- </td>
- <td>
- <i>empty</i>
- </td>
- </tr>
- </table>
- </subsection>
- <subsection
- name="Example: A minimal custom portal configuration">
- <p>
- Make sure you have define at least the required
- properties as described above in your
- <code>${USER_HOME}/build.properties</code>
- . A minimal custom portal configuration using the
- default embedded Derby database can be something like:
- <source>
- <![CDATA[
-# required portal configuration properties
-org.apache.jetspeed.portal.home = /home/myportal/
-org.apache.jetspeed.portal.groupId = myprojects
-org.apache.jetspeed.portal.artifactId = myportal
-org.apache.jetspeed.portal.name = My Test Portal
-org.apache.jetspeed.portal.currentVersion = 1.0
-# required application server properties
-org.apache.jetspeed.server.home = ${CATALINA_HOME}/
-org.apache.jetspeed.server.shared = ${org.apache.jetspeed.server.home}/shared/lib/
-org.apache.jetspeed.deploy.war.dir = ${org.apache.jetspeed.server.home}/webapps/
-org.apache.jetspeed.services.autodeployment.user = j2deployer
-org.apache.jetspeed.services.autodeployment.password = xxxxx
-org.apache.jetspeed.catalina.version.major = 5.5]]>
- </source>
- <i>
- Note: If you're going to build the default
- Jetspeed 2 portal directly from the source only
- the
- <code>org.apache.jetspeed.portal.home</code>
- property is required from the set of required
- portal configuration properties.
- </i>
- </p>
- </subsection>
- </section>
- <section name="4. Creating a new Portal Application">
+ <section name="2. Creating a new Portal Application">
<p>
Now we're going to configure, setup and build a new
custom portal application using the Jetspeed-2
maven-plugin.
</p>
<subsection
- name="4.1 Set the maven remote repository lookup configuration">
+ name="4.1 Install the Jetspeed 2 maven-plugin">
<p>
- To be able to setup a Jetspeed 2 based portal the
- maven remote repository lookup needs to be
- configured properly in your
- <code>${USER_HOME}/build.properties</code>
- :
- <source>
- <![CDATA[
-maven.repo.remote = http://www.bluesunrise.com/maven/, http://www.ibiblio.org/maven/, \
- http://dist.codehaus.org/, http://cvs.apache.org/repository]]>
- </source>
- <i>
- Note: the order in which these repositories must
- be specified is significant!
- </i>
+ Maven2 install the plugins by it self, make sure you mention your repositories in your settings.xml
</p>
</subsection>
- <subsection
- name="4.2 Install the Jetspeed 2 maven-plugin">
- <p>
- The first time, and when you want to upgrade to a
- newer version of Jetspeed 2, you need to install the
- maven-plugin as follows:
- <source>
- <![CDATA[
-maven -DartifactId=maven-jetspeed2-plugin -DgroupId=org.apache.portals.jetspeed-2 -Dversion=2.1.3 plugin:download]]>
- </source>
- <i>
- Note: you can set the version flag to the
- specific version you want to install,
- 2.1.3 is just an example here.
- </i>
- </p>
- </subsection>
- <subsection name="4.3 Generate a new portal project">
+ <subsection name="4.2 Generate a new portal project">
<p>
Once you have the maven-plugin installed and set
properties as needed, generate a default portal
configuration using the plugin as follows:
<source>
<![CDATA[
-maven j2:portal.genapp]]>
+mvn archetype:generate -DarchetypeGroupId=org.apache.portals.jetspeed-2 -DarchetypeArtifactId=jetspeed-archetype -DarchetypeVersion=2.2-SNAPSHOT -DgroupId=org.apache.portals.tutorials -DartifactId=express-demo -Dversion=1.0]]>
</source>
<i>
This maven goal actually executes several
@@ -735,32 +170,45 @@
</p>
</subsection>
<subsection
- name="4.4 Further customization of the portal">
- <p>
- This section doesn't specify anything to do. After
- the portal project is generated you can adapt and
- customize it to your taste by overriding and merging
- your own configurations and extensions.
- </p>
+ name="4.3 Further customization of the portal">
<p>
- You can regenerate or update (part of) your portal
- project with the
- <code>j2:portal.genapp</code>
- goal as described in the previous section or use its
- subgoals directly.
- </p>
+ You would need specify you database which would be used to creating portal schema.
+ jetspeed pluin have created an jetspeed-mvn-settings.xml, in root of project location
+ you need to fill properties, with correct database information.
+
+ You also need to specify the tomcat location, where portal need to deployed make sure
+ tomcat version should be above <b>5.5.27</b>
+ </p>
+ <source>
+ <![CDATA[
+<org.apache.jetspeed.test.jdbc.driver.groupId>org.apache.derby</org.apache.jetspeed.test.jdbc.driver.groupId>
+
+ <org.apache.jetspeed.test.jdbc.driver.artifactId>derby</org.apache.jetspeed.test.jdbc.driver.artifactId>
+
+ <org.apache.jetspeed.test.jdbc.driver.version>10.3.2.1</org.apache.jetspeed.test.jdbc.driver.version>
+
+ <!-- make sure to check/correct the database.url path location (e.g. /tmp on Linux usually is restricted) -->
+
+ <org.apache.jetspeed.test.database.default.name>derby</org.apache.jetspeed.test.database.default.name>
+
+ <org.apache.jetspeed.test.database.url>jdbc:derby:/tmp/derby/testdb;create=true</org.apache.jetspeed.test.database.url>
+
+ <org.apache.jetspeed.test.database.driver>org.apache.derby.jdbc.EmbeddedDriver</org.apache.jetspeed.test.database.driver>
+
+ <org.apache.jetspeed.test.database.user></org.apache.jetspeed.test.database.user>
+
+ <org.apache.jetspeed.test.database.password></org.apache.jetspeed.test.database.password>]]>
+ </source>
</subsection>
<subsection name="4.5 Build the portal">
<p>
Once your portal configuration and setup is ready,
you can build and install the portal application in
your local maven repository (as needed for
- deployment) using the following standard maven goal
- from your custom portal project directory (in
- ${org.apache.jetspeed.portal.home}):
+ deployment) using the following standard maven goal.
<source>
<![CDATA[
-maven war:install]]>
+mvn install]]>
</source>
</p>
<p>
@@ -783,9 +231,9 @@
name="5.1 Setup the Jetspeed 2 source and build properties">
<p>
The Jetspeed 2 source contains a
- <code>project.properties</code>
+ <code>jetspeed-mvn-settings-sample.xml</code>
file which provides all of the required portal
- configuration settings as described
+ configuration settings as described. You need copy this file to <code>jetspeed-mvn-settings.xml</code>
<a
href="#Required_Portal_Configuration_Properties">
above
@@ -798,42 +246,9 @@
<b>not</b>
</i>
define any of those properties in your
- <code>${USER_HOME}/build.properties</code>
+ <code>${m2_HOME}/settings.xml</code>
.
<br />
- Instead, you
- <i>must</i>
- set a
- <code>org.apache.jetspeed.project.home</code>
- property, specifying the location where you expanded
- the downloaded source or checked out the source from
- subversion, like:
- <source>
- <![CDATA[
-# required Jetspeed 2 portal configuration property for building from the source
-org.apache.jetspeed.project.home = /home/apache/jetspeed-2/]]>
- </source>
- <i>
- Note: you still need to specify the required
- application server properties as described
- <a
- href="#Required_Application_Server_Properties">
- above
- </a>
- .
- </i>
- </p>
- <p>
- The Jetspeed 2 project.properties uses this property
- to define the required
- <code>org.apache.portal.home</code>
- :
- <source>
- <![CDATA[
-org.apache.jetspeed.portal.home = ${org.apache.jetspeed.project.home}]]>
- </source>
- So, they are the same when you build the Jetspeed 2
- portal from the source.
</p>
<p>
When you are going to deploy the portal as described
@@ -886,58 +301,6 @@
</code>
</li>
</ul>
- <i>
- Note: due to outstanding issue
- <a
- href="http://issues.apache.org/jira/browse/JS2-320">
- JS2-320
- </a>
- you currently
- <b>must</b>
- use hard coded values for the test database
- properties.
- </i>
- </p>
- </subsection>
- <subsection name="Initialize the maven-plugin">
- <p>
- Instead of downloading and installing the Jetspeed 2
- maven-plugin, you are going to build and install it
- directly from the source. You will need to repeat
- this every time you update to a newer version of
- Jetspeed 2 or change its project configuration, the
- plugin itself or the resources used by the plugin.
- </p>
- <p>
- Build and install the maven-plugin as follows from
- the root directory of the Jetspeed-2 source:
- <source>
- <![CDATA[
-cd ${org.apache.jetspeed.project.home}
-maven initMavenPlugin]]>
- </source>
- </p>
- </subsection>
- <subsection
- name="Optional: start the HSQLDB test database first">
- <p>
- If you are going to run the testcases and want to use
- a HSQLDB database, you will
- need to start a test database before building
- Jetspeed 2 in a
- <i>separate</i>
- console:
- <source>
- <![CDATA[
-cd ${org.apache.jetspeed.project.home}
-maven j2:start.test.server]]>
- </source>
- </p>
- <p>
- After the build is finished you can stop the
- database and close this console with a
- <code>Ctrl-C</code>
- .
</p>
</subsection>
<subsection
@@ -947,18 +310,14 @@
the demo portlet applications in your local maven
repository run:
<source>
- <![CDATA[
-cd ${org.apache.jetspeed.project.home}
-maven allClean allBuild]]>
+ <![CDATA[mvn clean install]]>
</source>
</p>
<p>
But, if you also want to run the testcases during
the build run the following instead:
<source>
- <![CDATA[
-cd ${org.apache.jetspeed.project.home}
-maven -Dmaven.test.skip=false allClean allBuild]]>
+ <![CDATA[mvn -Dmaven.test.skip=false clean install]]>
</source>
</p>
<p>
@@ -967,44 +326,6 @@
</subsection>
</section>
<section name="6. Deploy and Run">
- <subsection
- name="Optional: start the HSQLDB production database first">
- <p>
- If you are using a HSQLDB database you
- need to start it before deploying the portal.
- </p>
- <p>
- To start a HSQLDB production database run the
- following in a
- <i>separate</i>
- console:
- <source>
- <![CDATA[
-cd ${org.apache.jetspeed.portal.home}
-maven j2:start.production.server]]>
- </source>
- </p>
- <p>
- You need to have this database running during the
- deployment and while running the application server.
- Afterwards you can stop the database and close this
- console with a
- <code>Ctrl-C</code>
- .
- </p>
- <p>
- Note: this is required when using the
- <code>j2:quickStart</code>
- goal as described below. The Jetspeed 2 maven-plugin
- provides other (sub)goals which you can use without
- (re)creating a production database and/or inserting
- default portal configuration data. See the
- <a href="j2-maven-plugin.html">
- Plugin documentation
- </a>
- for further information about the available goals.
- </p>
- </subsection>
<subsection name="Deploy">
<p>
We currently only cover deploying to Tomcat 5 or
@@ -1026,8 +347,8 @@
console:
<source>
<![CDATA[
-cd ${org.apache.jetspeed.portal.home}
-maven j2:quickStart]]>
+ mvn jetspeed:mvn -Dtarget=proddb
+ ]]>
</source>
<i>
Note: the
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org