2db7c85b64
This commit introduces three properties: * project.rootDirectory: the project's directory or parent directory containing a .mvn subdirectory or a pom.xml flagged with the root="true" attribute. If no such directory can be found, accessing the rootDirectory property will throw an IllegalStateException. * session.topDirectory : the directory of the topmost project being built, usually the current directory or the directory pointed at by the -f/--file command line argument. The topDirectory is similar to the executionRootDirectory property available on the session, but renamed to make it coherent with the new rootDirectory and to avoid using root in its name. The topDirectory property is computed by the CLI as the directory pointed at by the -f/--file command line argument, or the current directory if there's no such argument. * session.rootDirectory : the rootDirectory for the topDirectory project. The topDirectory and rootDirectory properties are made available on the MavenSession / Session and deprecate the executionRootDirectory and multiModuleProjectDirectory properties. The rootDirectory should never change for a given project and is thus made available for profile activation and model interpolation (without the project. prefix, similar to basedir). The goal is also to make the rootDirectory property also available during command line arguments interpolation. A root boolean attribute is also added to the model to indicate that the project is the root project. This attribute is only supported if the buildconsumer feature is active and removed before the pom is installed or deployed. It can be used as an alternative mechanism to the .mvn directory. |
||
---|---|---|
.github | ||
.mvn | ||
apache-maven | ||
api | ||
build | ||
maven-artifact | ||
maven-bom | ||
maven-builder-support | ||
maven-compat | ||
maven-core | ||
maven-embedder | ||
maven-model | ||
maven-model-builder | ||
maven-model-transform | ||
maven-plugin-api | ||
maven-repository-metadata | ||
maven-resolver-provider | ||
maven-settings | ||
maven-settings-builder | ||
maven-slf4j-provider | ||
maven-slf4j-wrapper | ||
maven-toolchain-builder | ||
maven-toolchain-model | ||
maven-xml-impl | ||
plexus-utils | ||
src | ||
.asf.yaml | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
CONTRIBUTING.md | ||
Jenkinsfile | ||
Jenkinsfile.its | ||
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 the release source from our download page.
Contributing
If you are interested in the development of Maven, please consult the documentation first and afterward you are welcome to join the developers mailing list to ask questions or discuss new ideas/features/bugs etc.
Take a look into the contribution guidelines.
License
This code is under the Apache License, Version 2.0, January 2004.
See the NOTICE
file for required notices and attributions.
Donations
Do you like Apache Maven? Then donate back to the ASF to support the development.
Quick Build
If you want to bootstrap Maven, you'll need:
- Java 8+
- Maven 3.2.5 or later
- Run Maven, specifying a location into which the completed Maven distro should be installed:
mvn -DdistributionTargetDir="$HOME/app/maven/apache-maven-4.0.x-SNAPSHOT" clean package