Apache Maven core
Go to file
Christoph Läubrich aac4d9a5bb MNG-8072 - add ConsumerPomFile methods
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.
2024-03-10 09:24:02 +01:00
.github The maven-3.9.x branch should fallback to maven-3.9.x branch of ITs 2023-10-17 17:53:16 +02:00
apache-maven [MNG-8029] improve documentation about mirror settings 2024-02-17 19:26:33 +01:00
maven-artifact [MNG-8029] improve documentation about mirror settings 2024-02-17 19:26:33 +01:00
maven-builder-support [MNG-8029] improve documentation about mirror settings 2024-02-17 19:26:33 +01:00
maven-compat [MNG-8029] improve documentation about mirror settings 2024-02-17 19:26:33 +01:00
maven-core MNG-8072 - add ConsumerPomFile methods 2024-03-10 09:24:02 +01:00
maven-embedder [MNG-8029] improve documentation about mirror settings 2024-02-17 19:26:33 +01:00
maven-model [MNG-8029] improve documentation about mirror settings 2024-02-17 19:26:33 +01:00
maven-model-builder [MNG-5726] Support regular expression matching in profile activation for (#1431) 2024-03-07 16:14:20 +01:00
maven-plugin-api [MNG-8029] improve documentation about mirror settings 2024-02-17 19:26:33 +01:00
maven-repository-metadata [MNG-8029] improve documentation about mirror settings 2024-02-17 19:26:33 +01:00
maven-resolver-provider [MNG-8029] improve documentation about mirror settings 2024-02-17 19:26:33 +01:00
maven-settings [MNG-8029] improve documentation about mirror settings 2024-02-17 19:26:33 +01:00
maven-settings-builder [MNG-8029] improve documentation about mirror settings 2024-02-17 19:26:33 +01:00
maven-slf4j-provider [MNG-8029] improve documentation about mirror settings 2024-02-17 19:26:33 +01:00
src/site [MNG-8029] improve documentation about mirror settings 2024-02-17 19:26:33 +01:00
.git-blame-ignore-revs Update git-blame-ignore-revs 2023-01-31 10:23:27 +01:00
.gitattributes Fixed line feeds, added .gitattributes 2013-01-29 16:27:02 +01:00
.gitignore Make sure RAT plugin ignores files in the target folder (#813) (#815) 2022-10-05 16:44:10 +02:00
CONTRIBUTING.md [MNG-6559] Fix mailing list URL (#230) 2019-01-13 22:36:47 +13:00
Jenkinsfile Use the same branch name for ITs on Jenkins (#1263) 2023-10-17 23:06:27 +02:00
LICENSE Add a LICENSE/NOTICE that can be picked up for the src assembly 2013-09-11 16:39:30 -04:00
NOTICE update copyright year 2019-11-16 23:18:37 +01:00
README.md [MNGSITE-357] README.md: Maven user list link not working 2018-11-15 21:04:01 +01:00
deploySite.sh Use properly quoted shell arguments with "$@" 2019-06-10 20:26:40 +02:00
doap_Maven.rdf Update DOAP with Maven 3.8.8 release 2023-03-14 16:49:37 +01:00
pom.xml [maven-release-plugin] prepare for next development iteration 2023-11-28 11:01:11 +01:00

README.md

Apache Maven

Apache License, Version 2.0, January 2004 Maven Central Jenkins Status Jenkins tests

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