blob: 7ddb49498c35019177e58f9eefbeecb7c50670a4 [file] [log] [blame]
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you 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.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content=
"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org"/>
<title>Quick Guide to Maven for Axis 2.0</title>
<meta http-equiv="content-type" content=
"text/html; charset=us-ascii"/>
<link href="css/axis-docs.css" rel="stylesheet" type="text/css"
media="all"/>
</head>
<body lang="en" xml:lang="en">
<h1 align="center">Quick Guide to Maven for Axis 2.0</h1>
<h2 align="left">Introduction</h2>
<p align="left">
<a href="http://maven.apache.org">Maven 2</a>
is used
as the build environment for Axis2. This document will provide a quick
guide on how to use Maven with our project.
</p>
<h2 align="left">Commands</h2>
<table border="1" align="center">
<tbody>
<tr>
<th scope="col">
<div align="left">Command</div>
</th>
<th scope="col">
<div align="left">Description</div>
</th>
</tr>
<tr>
<td>mvn clean</td>
<td>Cleans all the content built so far in the target/ folder. This
will not delete jars from your local repository.
</td>
</tr>
<tr>
<td>
<div align="left">mvn install</div>
</td>
<td>
<div align="left">Run a full build.</div>
</td>
</tr>
<tr>
<td>
<div align="left">mvn test</div>
</td>
<td>
<div align="left">Runs our basic test suite.</div>
</td>
</tr>
<tr>
<td>
<div align="left">mvn clean test</div>
</td>
<td>
<div align="left">Cleans up, rebuilds everything from scratch, and then runs the basic test
suite.
</div>
</td>
</tr>
<tr>
<td>
<div align="left">mvn -Dtest=MyTest install</div>
</td>
<td>
<div align="left">run a single test (cd to the specific module say kernel before running this
and don't use the package name of the class, just the class name).
</div>
</td>
</tr>
<tr>
<td>
<div align="left">mvn dependency:resolve</div>
</td>
<td>
<div align="left">print dependencies under any module</div>
</td>
</tr>
<tr>
<td>
<div align="left">mvn site</div>
</td>
<td>
<div align="left">Generates the website in target/site/</div>
</td>
</tr>
<tr>
<td>
<div align="left">mvn idea:idea</div>
</td>
<td>
<div align="left">Generates IDEA .ipr, .iml and .iws project
files.
</div>
</td>
</tr>
<tr>
<td>
<div align="left">mvn -Dtest=false</div>
</td>
<td>
<div align="left"></div>
Builds Axis2 and skips all the tests.
</td>
</tr>
<tr>
<td>
<div align="left">mvn -U -Drelease clean install</div>
</td>
<td>
<div align="left"></div>
Generate release artifacts.
</td>
</tr>
</tbody>
</table>
<h4>Notes:</h4>
<ul>
<li>The "-U" ensures that you fetch the latest snapshots</li>
<li>The "-Drelease" runs the pom.xml under modules/distribution. The zip's are created under
modules/distribution/target
</li>
<li>To skip tests use "-Dtest=false"</li>
<li>If you run into an exception, switch on printing of full exception using "-e"</li>
<li>If you want to see the versbose output, use "-X"</li>
</ul>
<h3>Ant helper for the m2 build</h3>
<p>If you prefer to use Ant, we have a build.xml. Please note that there are 2 maven2 plugins that need to be
built first when you update version # for Axis2. the ant build.xml takes care of that automatically. It
builds
axis2-aar-maven-plugin and axis2-mar-maven-plugin before it runs the main build.
</p>
<table border="1" align="center">
<tbody>
<tr>
<th scope="col">
<div align="left">Command</div>
</th>
<th scope="col">
<div align="left">Description</div>
</th>
</tr>
<tr>
<td>ant clean"</td>
<td>cleans up</td>
</tr>
<tr>
<td>ant install"</td>
<td>runs the build</td>
</tr>
<tr>
<td>ant deploy"</td>
<td>deploys artifacts in apache m2 snapshots repo</td>
</tr>
<tr>
<td>ant -Doffline=true clean"</td>
<td>offline clean up</td>
</tr>
<tr>
<td>ant -Doffline=true install"</td>
<td>offline build</td>
</tr>
<tr>
<td>ant -Dskip=true install"</td>
<td>run the build, but skip the tests</td>
</tr>
<tr>
<td>ant -Dskip=true install"</td>
<td>run the build, but skip the tests</td>
</tr>
<tr>
<td>ant -Dskip=true deploy"</td>
<td>deploys artifacts, but skip the tests</td>
</tr>
<tr>
<td>ant -Doffline=true -Dskip=true install"</td>
<td>run the build in the offline and skips the tests</td>
</tr>
</tbody>
</table>
</body>
</html>