This page was moved to https://cwiki.apache.org/confluence/display/CAUSEWAY/MavenBuildProfiles
Click in the link above if you are not automatically redirected in 10 seconds.


You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

-D modules=

applib

core

defaults

alternatives

viewer

support

release

examples

site-skin

clean install?

-D build=full?

site-deploy?

-D site=full?

Description

standard

Y

Y

Y

Y

Y

 

 

 

 

Y

Y

Y

Y

The standard set for a smoke test; if this builds we're probably ok. In fact, are also modules that make up the site, ie mvn site-deploy

all

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

 

 

 

Every module that can be built using mvn clean install. Can't necessarily be deployed, though; see 'Deployability' section below

skin

 

 

 

 

 

 

 

 

Y

Y

Y

 

 

Prereq for running site-deploy

applib

Y

 

 

 

 

 

 

 

 

Y

Y

Y

Y

Just the applib module

core

 

Y

 

 

 

 

 

 

 

Y

Y

Y

Y

Just the core modules

defaults

 

 

Y

 

 

 

 

 

 

Y

Y

Y

Y

Just the defaults modules

alternatives

 

 

 

Y

 

 

 

 

 

Y

Y

Y

Y

Just the alternatives modules

viewers

 

 

 

 

Y

 

 

 

 

Y

Y

Y

Y

Just the viewer modules.

viewer

 

 

 

 

Y

 

 

 

 

Y

Y

Y

Y

Just the viewer modules. Added for convenience

support

 

 

 

 

 

Y

 

 

 

Y

Y

Y

Y

Just the support modules.

release

 

 

 

 

 

 

Y

 

 

Y

 

 

 

Just the release modules.

examples

 

 

 

 

 

 

 

Y

 

Y

Y

 

 

Just the examples modules.

Notes:

  • most profiles that support mvn clean install also support -D build=full (basically, also builds Javadoc JARs). The exception is any profile that includes the 'release' module (we hit problems building javadoc for 'release'; it also doesn't really make sense).
  • similarly, most profiles supporting mvn site-deploy also support -D site=full (basically, full reports, Javadoc, JXR, metrics, code coverage etc). The exception again is those profiles including 'release'
  • the prereqs to building the site are (a) to build the skin, and (b) to install the JIMI package into the local repo using mvn install:install-file -D groupId=com.java -D artifactId=jimi -D version=1.0 -D packaging=jar -D file=/path/to/file
  • running site-deploy also requires specifying where to deploy to. To deploy locally, use -D deploy=local, which will deploy to /tmp/m2-sites/isis.

Typical Use Cases

Use case

Command

Quick smoke test

mvn clean install -o

Build everything

mvn clean install -D modules=all -o

Quick build of site + docs, deploy locally

mvn site-deploy -D modules=standard -D deploy=local -o

Full build of site + docs, deploy locally

mvn site-deploy -D modules=standard -D site=full -D deploy=local -o

Quick build + site + docs for single module (eg, applib)

mvn clean install site-deploy -D modules=applib -D deploy=local -o

Deployability?

This page is still a work-in-progress. Although the set of modules that are deployable as the site is clearly defined, I haven't yet figured out how the codebase itself is to be deployed. The main issue is that the archetypes within support and also the release modules need to be released after the other modules that make up the standard profile. The problem I've realized is that running the mvn-release-plugin will tag all of trunk, whereas we want to run two releases. It therefore might be necessary to move support/archetypes and release off into their own trunk. We should see what other projects that release archetypes do, though.

  • No labels