THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Build
...
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