Intro

The root pom for a multiproject build is in the root (/trunk) directory. Running a goal in the trunk directory will execute the same goal for any module.

Build

mvn install

Run mvn install from the root dir. All the modules will be built as separate jars and then assembled into the magnolia web application (/magnolia/target/magnolia-[version].war

Generating documentation

mvn site:site

Run mvn site from the root dir. This will generate the documentation for each modules into the target/site directory.

mvn site:stage -DstagingDirectory=C:\fullsite

This will assemble the documentation from all the modules in "stagingDirectory"

Creating configuration for eclipse/WTP

Run the following command for configuring magnolia. You will need at list the maven eclipse plugin version 2.1 installed. You need to pass the wtpversion parameter, depending of the version of WTP you are using (at the moment the suggested version of WTP is 1.5 - the Callisto release)

mvn -Dwtpversion=1.0 -DdownloadSources=true eclipse:eclipse

Deploying the magnolia site to sourceforge [developers only]

mvn site:deploy

Before running this goal you will need to add a server configuration in your home/.m2/settings.xml

<settings>
  ...
  <servers>
    <server>
      <id>magnolia</id>
      <username>[your sourceforge username]</username>
      <privateKey>[path to rsa key]</privateKey>
      <passphrase>[optional passphrase]</passphrase>
      <directoryPermissions>775</directoryPermissions>
      <filePermissions>664</filePermissions>
    </server>
  </servers>
</settings>

Currently the mvn-generated site is deployed to

Deploy

mvn deploy

Release

Prepare a release:

mvn release:prepare

This will update versions in POMs and tag the release in subversion.

To deploy a release:

mvn release:perform

This will checkout a clean copy, build it and deploy jars, wars, sources and javadocs to the repository at sourceforge