You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Build profiles are an important concept for unifying configuration differences between different environments. They also should capture information across all aspects of the POM.

Requirements

  • offer a replacement for ./build.properties (the per user, per pom override, and the per user global override)
  • filtering of resources
  • different repositories
    • for deployment (dev, test, qa, production)
    • for dependency resolution (different use of snapshots mostly)
    • affect on local repository
  • plexus application use case (having a generated test runtime, and a release runtime with different settings)
  • m2 development use case (switching local repository, m2 home and settings by profile)
  • changes to dependencies (allowing jdk specific, operating system specific, debugging built versions of libraries)
  • modifications to the modules built (not convinced on this yet - http://jira.codehaus.org/browse/MNG-354)
  • different configuration per user/profile (http://mail-archives.apache.org/mod_mbox/maven-dev/200504.mbox/%3c1114638565.5813.422.camel@172.16.1.36%3e)
    • eg local system paths for certain plugins
  • some profiles are for a user (ie the build.properties replacements), others would be committed to SCM. These might even be shared across projects
  • there is a definite analogy to settings.xml
  • No labels