Apache Maven 2 Effective Implementation Table Of Contents

Back to BOOK PAGE

Table of Contents

Preface
Chapter 1: Maven in a Nutshell
Chapter 2: Staying in Control with Archiva
Chapter 3: Building an Application Using Maven
Chapter 4: Application Testing with Maven
Chapter 5: Reporting and Checks
Chapter 6: Useful Maven Plugins
Chapter 7: Maven Best Practices
Chapter 8: Continuum: Ensuring the Health of your Source Code
Chapter 9: Continuum in Depth
Chapter 10: Archiva in a Team
Chapter 11: Archetypes
Chapter 12: Maven, Archiva, and Continuum in the Enterprise
Appendix A: Troubleshooting Maven
Appendix B: Recent Maven Features
Appendix C: Migrating Archiva and Continuum Data
Index

  • Chapter 1: Maven in a Nutshell
    • A whirlwind tour
      • Installing Maven
      • Creating a new project from an archetype
      • Building the project
      • Reusing builds
      • Adding dependencies
      • Adding functionality through plugins
      • Adding resources
      • Running tests
      • Getting help
      • Enhancing the development process
      • Viewing detailed project information
      • Multiple module builds
      • What if I need to convert an existing project?
    • Summary
  • Chapter 2: Staying in Control with Archiva
    • Importance of a repository manager
    • Installing Archiva
    • Separating your repositories
    • Hooking up Maven with Archiva
      • Setting up a proxy
      • Configuring your settings.xml
      • Building your project
    • Searching for artifacts in Archiva
    • Deploying from Maven
      • Creating a new user
      • Configuring and deploying from Maven
    • Deploying via web form
    • Summary
  • Chapter 3: Building an Application Using Maven
    • Introducing the sample project
    • Setting up a multi-module build
      • Creating the parent POM
      • Creating the modules
      • Dependency management
      • Fleshing out the example application
    • Creating an organization POM
    • Configuring basic reports
    • Preparing for non-code modules
      • Creating a modules tree
    • Adding a documentation module
      • Building the site automatically
      • Assembling the site for distribution
      • Adding site resources
      • Adding a skin
    • Distributing the application
      • Generating the runtime environment with the App Assembler plugin
      • Generating the assembly archive
        • Adding the documentation to the distribution archive
    • Summary
  • Chapter 4: Application Testing with Maven
    • Types of testing in Maven
      • Unit testing (or code testing)
      • Integration testing (or module testing)
      • Functional and other types of testing
    • Working with tests
      • Surefire plugin configuration
        • Controlling the execution of tests
        • Inclusion and exclusion of tests
        • Running specific tests from the command line
        • Skipping tests temporarily
      • Producing a report for the test results
      • Reviewing test coverage
        • Coverage and multimodule projects
    • Integration, functional, and other testing
      • Running integration tests using naming patterns
        • Operating the Selenium server
        • Deploying the application to a container
        • Simplifying test grouping with TestNG
      • Using a separate integration test module
      • Altering integration tests with profiles
        • Using TestNG parameters
        • Measuring coverage for integration tests
    • Summary
  • Chapter 5: Reporting and Checks
    • Review: Example application
    • Constructing the developer's site
    • Maven reports
      • Adding reports to the project
      • Configuring plugins for both reporting and the build
      • Configuring reports in the site life cycle
    • Setting up quality checks
      • Setting a minimum coverage requirement
      • Best practices for configuring coverage checks
    • Reporting and quality tools
      • Dependencies
      • Javadoc
      • Checkstyle
      • PMD
      • FindBugs
      • Clirr
      • Other tools
    • Reporting best practices
      • Choosing reports
      • Site deployment
      • Introducing and selecting failure thresholds
    • Tying it all together
      • Dashboard plugin
      • Sonar
    • Summary
  • Chapter 6: Useful Maven Plugins
    • The Remote Resources plugin
      • Creating a Remote Resource bundle
      • Processing Remote Resources in a project
    • The Build Number plugin
    • The Shade plugin
      • Building a standalone artifact
      • Shading dependencies
    • The Build Helper plugin
      • Adding source directories
      • Attaching arbitrary artifacts
      • Other goals
    • The AntRun plugin and scripting languages
      • Running simple tasks
      • Interacting with the Maven project
      • Converting Ant or Maven 1 builds
      • Maven plugins written in Ant
      • Other scripting languages
    • The Exec plugin
      • Adding the Exec plugin to the Build life cycle
      • Running the Exec plugin standalone
    • Summary
  • Chapter 7: Maven Best Practices
    • Preparing the development environment
      • Maven installation and user settings
        • Encrypting server passwords
      • Project settings
      • Configuring repositories
    • Keeping it simple
      • Using conventions
      • Using inheritance
      • Decomposing the build into modules
        • Aligning the source structure
        • Selecting group and artifact identifiers
        • Building modules together
        • Each module should be independently useful
        • Watching the dependencies
        • Separating API from implementation
      • Trimming dependencies
      • Dependency version management
      • Profiles and pipelining
      • Scripting and writing plugins
      • Creating and using archetypes
    • Build portability
      • Setting expectations
      • Hard coding
      • Portable profiles
      • Portable artifacts
      • Resource filtering
      • Shared resources
    • Build reproducibility
    • Summary
  • Chapter 8: Continuum: Ensuring the Health of your Source Code
    • Knowing when your build breaks
    • Setting up Continuum
      • Setting up a source repository
      • Installing prerequisites
      • Installing and configuring Continuum
    • Using Continuum
      • At a glance
      • The build queues
      • The build definition
        • Project group build definition
        • Project build definition
      • The notifiers
        • Different types of notifiers
        • Configuring notifiers in Maven
      • The Build results
        • Dependency changes
      • Installations and build environments
        • Installations
        • Build environments
    • Summary
  • Chapter 9: Continuum in Depth
    • Releasing projects
      • Release early, release often
      • Maven release process
        • Release profile
      • Releasing projects using Continuum
        • Preparing a release
        • Finalizing a release
        • Viewing release history
        • Other types of releases
        • Troubleshooting releases in Continuum
    • Build pipelining and multiple build definitions
    • Parallel builds
      • How it works
      • Configuring parallel builds
    • Distributed builds
      • Master and slave
      • Configuring distributed builds
      • Doing project releases on a build agent
    • Maintenance
      • Configuring multiple local repositories
      • Cleaning up local repositories
      • Cleaning up directories
    • Summary
  • Chapter 10: Archiva in a Team
    • Roles and permissions
    • Introducing repository groups
      • Configuring and using repository groups
    • RSS feeds—discovering new artifacts in your repository
      • Repository level feeds
      • Artifact level feeds
    • Deleting artifacts in your repository
    • The Archiva reports
      • Repository statistics
      • Repository health
    • The Archiva consumers
      • What is a consumer?
      • Archiva's maintenance-savvy consumers
        • Purging outdated snapshots
        • Correcting Maven metadata
        • Creating missing checksums
        • Database cleanup consumers
    • Summary
  • Chapter 11: Archetypes
    • What are Maven archetypes?
      • Benefits of Maven archetypes
    • Generating projects
      • From archetype:create to archetype:generate
      • Using archetypes within multi-module projects
    • Common archetypes
      • Maven site archetype
      • Maven Mojo (plugin) archetype
      • Maven simple J2EE archetype
      • The AppFuse Spring archetype
      • Other examples
  • Writing a new archetype
    • Creating an archetype from a skeleton
    • Using the custom archetype
  • Managing catalogs
  • Summary
  • Chapter 12: Maven, Archiva, and Continuum in the Enterprise
    • Configuring security
      • A brief look at Redback
      • Setting up security for multiple teams in Continuum
      • Setting up security for multiple teams in Archiva
      • Additional Redback configuration
      • Using LDAP
    • Interfacing with other tools in the enterprise
      • Continuum web services
        • Building the Continuum plugin
        • Using Continuum's web services
      • Archiva web services
        • Building the Archiva plugin
        • Using Archiva's web services
    • Summary
  • Appendix B: Recent Maven Features
    • Server password encryption
    • Reactor project selection
      • Resuming a failed build
      • Building a subset of modules
      • The Reactor plugin
        • Building modules with local changes
    • Reconfiguring default life cycle goals
    • Parallel artifact resolution

Back to BOOK PAGE

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software