You are previewing Apache Maven 3 Cookbook.

Apache Maven 3 Cookbook

Cover of Apache Maven 3 Cookbook by Srirangan Published by Packt Publishing
  1. Apache Maven 3 Cookbook
    1. Table of Contents
    2. Apache Maven 3 Cookbook
    3. Credits
    4. About the Author
    5. About the Reviewer
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers and more
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
    8. 1. Basics of Apache Maven
      1. Setting up Apache Maven on Windows
      2. Setting up Apache Maven on Linux
      3. Setting up Apache Maven on Mac
      4. Verifying the Apache Maven installation
      5. Creating a new project
      6. Compiling and testing a project
      7. Understanding the Project Object Model
      8. Understanding the build lifecycle
      9. Understanding build profiles
    9. 2. Software Engineering Techniques
      1. Build automation
      2. Project modularization
      3. Dependency management
      4. Source code quality checks
      5. Test Driven Development
      6. Acceptance testing automation
      7. Deployment automation
    10. 3. Agile Team Collaboration
      1. Creating centralized remote repositories
      2. Performing continuous integration with Hudson
      3. Integrating source code management
      4. Team integration with Apache Maven
      5. Implementing environment integration
      6. Distributed development
      7. Working in offline mode
    11. 4. Reporting and Documentation
      1. Documenting with a Maven site
      2. Generating Javadocs with Maven
      3. Generating unit test reports
      4. Generating code coverage reports
      5. Generating code quality reports
      6. Setting up the Maven dashboard
    12. 5. Java Development with Maven
      1. Building a web application
      2. Running a web application
      3. Enterprise Java development with Maven
      4. Using Spring Framework with Maven
      5. Using Hibernate persistence with Maven
      6. Using Seam Framework with Maven
    13. 6. Google Development with Maven
      1. Setting up the Android development environment
      2. Developing an Android application
      3. Testing and debugging an Android application
      4. Developing a Google Web Toolkit application
      5. Testing and debugging a Google Web Toolkit application
      6. Developing a Google App Engine application
    14. 7. Scala, Groovy, and Flex
      1. Integrating Scala development with Maven
      2. Integrating Groovy development with Maven
      3. Integrating Flex development with Maven
    15. 8. IDE Integration
      1. Creating a Maven project with Eclipse 3.7
      2. Importing a Maven project with Eclipse 3.7
      3. Creating a Maven project with NetBeans 7
      4. Importing a Maven project with NetBeans 7
      5. Creating a Maven project with IntelliJ IDEA 10.5
      6. Importing a Maven project with IntelliJ IDEA 10.5
    16. 9. Extending Apache Maven
      1. Creating a Maven plugin using Java
      2. Making your Java Maven plugin useful
      3. Documenting your Maven plugin
      4. Creating a Maven plugin using Ant
      5. Creating a Maven plugin using JRuby
    17. Index
O'Reilly logo

Performing continuous integration with Hudson

In Chapter 2, Software Engineering Techniques, we saw how our project builds could be automated in the Build automation section. Now that we can build and test our project with a single command, the question of how often this should be done arises.

"Ship It!" by Jared Richardson and William Gwaltney Jr. says:

"Ideally, you will rebuild every time the code changes. That way you'll know immediately if any change broke your build."

Sure, programmers always try and do it, but how often have you pulled an update from the SCM and forgotten to build before committing your code? To avoid this occurrence, builds can be triggered each time code is committed into the SCM. Such a setup is known as continuous integration ...

The best content for your career. Discover unlimited learning on demand for around $1/day.