aac4d9a5bb
Currently there is some vague definition of a "build pom" versus a "consumer pom": https://maven.apache.org/studies/consumer-pom/ https://cwiki.apache.org/confluence/display/MAVEN/Build+vs+Consumer+POM there are also some plugins around to work with this e.g. https://tycho.eclipseprojects.io/doc/latest/tycho-packaging-plugin/update-consumer-pom-mojo.html https://www.mojohaus.org/flatten-maven-plugin/plugin-info.html but there are some issues: Maven makes some assumptions about its "file", e.g setting the file changes the basedir Even though there is a setPomFile method that do not change the basedir e.g. a parent ref by default would be broken once we change the file, there is a mismatch between the pom on disk and the model it is not possible for a plugin to know the original file and the consumer file, e.g. if I want to deploy the original file e.g. with classifier "pom-build" because of this usually "consumer pom plugins" generate the the new pom to a new file in the project root, where it actually not belongs to and leaves the file even after mvn clean if no special actions are taken. This enhance the MavenProject with one more method set/getConsumerPom that fills this gap, then plugins working on the consumer pom can set the file there and where it then is used by other plugins. |
||
---|---|---|
.github | ||
apache-maven | ||
maven-artifact | ||
maven-builder-support | ||
maven-compat | ||
maven-core | ||
maven-embedder | ||
maven-model | ||
maven-model-builder | ||
maven-plugin-api | ||
maven-repository-metadata | ||
maven-resolver-provider | ||
maven-settings | ||
maven-settings-builder | ||
maven-slf4j-provider | ||
src/site | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
CONTRIBUTING.md | ||
Jenkinsfile | ||
LICENSE | ||
NOTICE | ||
README.md | ||
deploySite.sh | ||
doap_Maven.rdf | ||
pom.xml |
README.md
Apache Maven
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
If you think you have found a bug, please file an issue in the Maven Issue Tracker.
Documentation
More information can be found on Apache Maven Homepage. Questions related to the usage of Maven should be posted on the Maven User List.
Where can I get the latest release?
You can download release source from our download page.
Contributing
If you are interested in the development of Maven, please consult the documentation first and afterwards you are welcome to join the developers mailing list to ask question or discuss new ideas / features / bugs etc.
Take a look into the contribution guidelines.
License
This code is under the Apache Licence v2
See the NOTICE
file for required notices and attributions.
Donations
You like Apache Maven? Then donate back to the ASF to support the development.
License
Apache License, Version 2.0, January 2004
Quick Build
If you want to bootstrap Maven, you'll need:
- Java 1.7+
- Maven 3.0.5 or later
- Run Maven, specifying a location into which the completed Maven distro should be installed:
mvn -DdistributionTargetDir="$HOME/app/maven/apache-maven-3.6.x-SNAPSHOT" clean package