Skip to content
This repository has been archived by the owner on Aug 11, 2020. It is now read-only.
tobrien edited this page Sep 13, 2010 · 9 revisions

Where can I read this book?

If you want to read the latest published version of the book, you have two choices. You can:

  1. read this book online on the Sonatype site, or you can
  2. download the book as a PDF

If you want to read the latest snapshot of the development version of the book, you can read the staged HTML build.

How can I provide feedback?

Easy, we’d prefer that you either provide us feedback through Get Satisfaction or by sending an email to [email protected]

Project Infrastructure

The following sections are for developers and authors interested in contributing to Maven: The Definitive Guide

How do I build the book?

You build the Maven book using Maven, of course. Here’s what you’ll need to build the book:

  1. Download a Java 6 JDK
  2. Install Java Advanced Imaging (JAI)
    1. Installing the JAI is easy, but you have to make sure you are doing it right, first download the JAI from http://download.java.net/media/jai/builds/release/1_1_3/ – choose the appropriate distribution for your platform.
    2. Copy this file to your $JAVA_HOME
    3. Execute or uncompress the file. This is vauge, but it depends on what platform you are using. If you are on 32-bit Linux, copy the jdk.bin distro and execute it from the root directory of your JDK. It should install a few JARs and native extensions that are used to manipulate images.
  3. Install Maven 2.1.0
  4. Configure your ~/.m2/settings.xml to reference http://repository.sonatype.org – copy the settings from this SampleSettings

At this point, you can run “mvn install”, to see the book build in action. It should take about 10 minutes, start to finish for the book to build, and most of this time is spent churning on the PDF generation.

How do I edit or write content for the book?

We use a tool called XMLMind which is a commercial XML editor that is very popular with authors (at least it is popular with a certain subculture of O’Reilly authors). If you look at the license for XMLMind, you’ll notice that it is free to use if you are contributing to an open source book or document, so if you are planning on contributing to this project, your use should be covered.

XMLMind isn’t the easiest tool in the world, but after a few years of swearing at it, you’ll swear by it. If you are new to the tool, I’d suggest that you take some time to learn from the professionals, and read Getting Productive with XMLMind by Loy and Elliott.

How do I publish the book?

You don’t. No one publishes the book, Hudson publishes the book. We’ve made it this way for a very good reasons. Our build and deployment system shouldn’t depend on someone’s manual build running on someone’s laptop, and we’re interested in as much automation as possible. There are days during which the staging site is deployed thirty or forty times, and during a production deployment we might push a build five or six times, rapid fire. If someone had to run the build manually, we’d be wasting our time. Instead, we’ve automated the deployment of the book to produciton to rely upon a production branch in Git.

To publish the staging version of the book, simply commit to the master branch, wait 15 minutes and then take a look at the Hudson project. To publish the production version of the book, commit to the production branch, wait 15 minutes and take a look at Hudson. If you have push rights to this project, you should be working in master and periodically switching to production and merging in master.

Mailing List

If you are interested in contributing to this book, you can join the author’s mailing list by sending an email to:

[email protected]

To read an archive of the author’s mailing list, read the Nabble Archive

Continuous Integration: Hudson

There are two Hudson Jobs for this book, one that is looking at the default, master, branch, and another that is configured to look for changes in the production branch. Each of these jobs is configured to poll GitHub every 15 minutes for changes. If it finds a change, it will deploy the book to the Sonatype website.

The Production Hudson Job is automatically trigger anytime the production branch is updated and the Master Hudson Job is triggered every time the master branch is changed.