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

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
Sort A-Z