Author: ctubbsii
Date: Mon Aug 17 18:54:18 2015
New Revision: 1696328
URL: http://svn.apache.org/r1696328
Log:
ACCUMULO-3964 Update source page to clarify build options
Modified:
accumulo/site/trunk/content/source.mdtext
Modified: accumulo/site/trunk/content/source.mdtext
URL:
http://svn.apache.org/viewvc/accumulo/site/trunk/content/source.mdtext?rev=1696328&r1=1696327&r2=1696328&view=diff
==============================================================================
--- accumulo/site/trunk/content/source.mdtext (original)
+++ accumulo/site/trunk/content/source.mdtext Mon Aug 17 18:54:18 2015
@@ -68,13 +68,27 @@ To check out the code:
Accumulo uses [Apache Maven][maven] to handle source building, testing, and
packaging. To build Accumulo you will need to use Maven version 3.0.4 or later.
-To build the code:
+You should familiarize yourself with the [Maven Build Lifecycle][lifecycle],
as well as the various plugins we use in our [POM][pom], in order to understand
how Maven works and how to use the various build options while building
Accumulo.
- mvn package -P assemble
+To build from source (for example, to deploy):
-This will create a file accumulo-*-SNAPSHOT-dist.tar.gz in the assemble/target
directory.
+ mvn package -Passemble
-For older branches, "mvn package && mvn assembly:single" may be required
instead, and the tar will be built in the target directory.
+This will create a file accumulo-*-SNAPSHOT-dist.tar.gz in the assemble/target
directory. Optionally, append `-DskipTests` if you want to skip the build tests.
+
+To build your branch before submitting a pull request, you'll probably want to
run some basic "sunny-day" integration tests to ensure you haven't made any
grave errors, as well as `checkstyle` and `findbugs`:
+
+ mvn verify -Psunny
+
+To run specific unit tests, you can run:
+
+ mvn package -Dtest=MyTest -DfailIfNoTests=false
+
+Or to run the specific integration tests MyIT and YourIT (and skip all unit
tests), you can run:
+
+ mvn package -Dtest=NoSuchTestExists -Dit.test=MyIT,YourIT
-DfailIfNoTests=false
+
+There are plenty of other options. For example, you can skip findbugs with
`mvn verify -Dfindbugs.skip` or checkstyle `-Dcheckstyle.skip`, or control the
number of forks to use while executing tests, `-DforkCount=4`, etc. You should
check with specific plugins to see which command-line options are available to
control their behavior. Note that not all options will result in a stable
build, and options may change over time.
If you regularly switch between major development branches, you may receive
errors about improperly licensed files from the [RAT plugin][1]. This is caused
by modules that exist in one branch and not the other leaving Maven build files
that the RAT plugin no longer understands how to ignore.
@@ -186,6 +200,8 @@ Accumulo's release guide can be found [h
[cgit]: https://git-wip-us.apache.org/repos/asf?p=accumulo.git;a=summary
[anongit]: git://git.apache.org/accumulo.git
[rb]: rb.html
+[pom]:
https://git-wip-us.apache.org/repos/asf?p=accumulo.git;a=blob_plain;f=pom.xml;hb=HEAD
+[lifecycle]:
https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
[1]: http://creadur.apache.org/rat/apache-rat-plugin/
\ No newline at end of file