Developing with Eclipse and Maven
B.3. Tools Used to Build and Write this Book
The following tools are used to write this book. If you are interested in contributing to this book, you will need to download the following software:
- Apache Maven
Of course we use Maven to build the book. We're always updating our book builds to use the latest production-ready version of Maven, so feel free to download and install the latest available version.
To download Maven, go to http://maven.apache.org and click on Downloads.
- XMLmind XML Editor
Whie there are many Docbook-capable XML Editors on the market, XMLmind is one of the more capable, "WYSIWYG" Docbook editors on the market. This means that the experience is more like a modern word-processor and less like an "XML Editor". That being said, XMLmind can take some getting used to. For a good introduction to some of the more "ergonomic" approaches to using this tool, see James Elliott's "Getting Productive with XMLmind" article on the O'Reilly site.
If you are new to Docbook, you will need to invest a day or two experimenting with key shortcuts. Don't approach this tool as just another "word processor" as you are guaranteed come away from the experience frustrated and disappointed. The process of writing a Word document is straightforward. The process of writing a technical book with all of the associated inline markup and semantic "stuff" that goes into making this a value reference is an order of magnitude more involved than what you might be used to. Just give yourself time to learn the tool. In six months, you won't be able to write without it.
To Download XMLmind XML Editor, go to http://www.xmlmind.com/xmleditor/.
Sonatype stores the source code for all books in Github so you will need to download Git. In addition to downloading Git, if you need read/write access to the repository you will also need to sign up for an account on GitHub (http://www.github.com).
Download the latest version of Git from http://git-scm.com/
This next set of tools are optional, and are only required if you are involved in generating diagrams or formatting the final PDF for the pre-print production process. In short, there is only one or two people who will need to have access to the following set of tools, and, in a normal publishing house, all of these functions would likely be performed by a separate "Production" team.
Many of the diagrams in this book have been generated using a OSX-specific tool named Omnigraffle.
If you are interested in helping us create diagrams don't feel compelled to purchase a copy of Omnigraffle. Send us a rough outline of your diagram, and Sonatype will gladly transform your idea into a diagram if your contributions are accepted into the book.
- Adobe Photoshop
All of the screenshots are generated using simple screen capture tools. The resulting raw images (PNGs) are then processed using a set of very simple Photoshop macros. These macros add a border to each screenshot and apply a standard drop shadow. Once the drop shadow has been applied, these macros then save a 72 dpi PNG image for the HTML version of the book in addition to a 150 dpi PDF image for the printed version of the book,
While Adobe Photoshop is a capable (and somewhat formidable) graphics manipulation tool, Sonatype is exploring alternatives to using this commercial utility in the content generation process. Alternatives currently being investigated are open source packages such as GIMP or systems which can rely on ImageMagick for scripted conversion of raw screenshots to multiple web and print image formats.
If you are interested in contributing, but you do not want to bother with the process of formatting images for both web and print, Sonatype welcomes contributions which include raw screencaptures. We can take care of the formatting.
- Adobe Illustrator
The book cover, the promotional material insert, and the print binder for Lulu are all generated with Adobe Illustrator. Adobe Illustrator can open and edit PDFs natively, and can be used to generate the static PDFs which are concatenated together to produce the final book output.