Skip to content

Working With Maven

Sean Flanigan edited this page Feb 5, 2015 · 14 revisions

Maven settings for Zanata

Overview

This document outlines the usage of maven within the zanata-war project.

Installing Maven on Fedora

Download Maven from http://maven.apache.org/download.cgi. Version 3.0.x is recommended.

... as root

Extract the archive to e.g. /opt/apache-maven-3.0.

You then need to ensure the mvn command is in your path. As root, create a file such as /etc/profile.d/maven.sh with the following contents:

export MAVEN_HOME=/opt/apache-maven-3.0
export PATH=$PATH:$MAVEN_HOME/bin

After restarting your console-session, you should now be able to run mvn.

... as user

Extract the archive to e.g. ~/apps/apache-maven-3.0.

You then need to ensure the mvn command is in your path. Add these lines to your .bashrc (or similar)

export MAVEN_HOME=~/apps/apache-maven-3.0
export PATH=$PATH:$MAVEN_HOME/bin

After restarting your console-session, you should now be able to run mvn.

Building and testing zanata-server

By default, if you run mvn verify, both Arquillian tests and functional tests will be run. But you need to specify an app server:

WildFly 8

For WildFly (recommended for development):

mvn -Dwildfly8 verify

Overriding the WildFly version (only tested with 8.2.0):

mvn -Dwildfly8 \
 -Dcargo.installation=http://download.jboss.org/wildfly/8.2.0.Final/wildfly-8.2.0.Final.zip \
 -Dcargo.basename=8.2.0.Final verify

EAP 6

To test against EAP6, you will need to provide a URL containing EAP6 as a zip. For instance:

mvn -Djbosseap6 \
 -Dcargo.installation=http://example.com/downloads/myjbosseap63.zip \
 -Dcargo.basename=myjbosseap63 verify

Skipping tests

To skip Arquillian tests:

mvn verify -DskipArqTests ...

To skip functional tests:

mvn verify -DskipFuncTests ...

To skip both:

mvn verify -DskipArqTests -DskipFuncTests ...

To skip all tests:

mvn verify -DskipUnitTests -DskipArqTests -DskipFuncTests ...

Maven Profiles used with Zanata (zanata-war)

  • wildfly8 - Enable testing against Wildfly 8 (automatically installed under target/)
  • jbosseap6 - Enable testing against EAP 6 (NB: you need to provide a URL for an EAP zip; automatically installed under target/)
  • nogwt - Skips GWT compilation (for use with DevMode)
  • chrome - speeds up GWT compilation by targeting Safari/Chrome browsers only
  • firefox - speeds up GWT compilation by targeting Mozilla browsers only
  • explode - Enables exploded deployment during the 'package' phase
  • replace-static - Replace exploded deployment without triggering a redeployment. Useful when you are just changing xhtml or similar static content.
  • dev - Activates common development settings (enable debug, import test data)
  • mysql - Activates settings for using mysql as the datasource (H2 is the default)
  • eclipse - Activates common development settings for eclipse

Useful command-line options

  • -Dgwt.validateOnly - check GWT modules but don't compile them
  • -Dgwt.compiler.skip - another (more standard) way of skipping GWT compilation
  • -Dtest=MyTest - runs only tests which match *MyTest*; useful for re-running a unit test
  • -Dit.test=MyTest - runs only tests which match *MyTest*; useful for re-running an integration test
  • -Darquillian.jboss.home=/my/jboss - When running integration tests, tells maven where to find the jboss server to use. [Obsolete]

Common Commands

Generate Eclipse Configuration

mvn -Peclipse,dev,nogwt -DskipTests=true install eclipse:clean eclipse:eclipse

Exploded deployment to local JBoss server

mvn -Pexplode -DskipTests package

or more commonly one of these (disable GWT compilation; enable debug and testdata):

mvn -Pexplode,nogwt -DskipTests package
mvn -Pchrome -DskipTests package

Run integration tests

mvn -Pnogwt -Darquillian.jboss.home=/my/jboss verify

Using the JBoss.org Maven Repositories (optional reading)

See http://community.jboss.org/wiki/MavenGettingStarted-Users

Clone this wiki locally