Returns all modules defined in the main POM and in all profiles.
Extracts the text of an attribute from the supplied element and substitutes properties.
Build properties like sourceDirectory
and other simple stuff.
Looks up a POM attribute, which may include properties defined in the POM as well as basic
project attributes like project.version
, etc.
Returns an identifier that encompases the group, artifact and version.
Returns true if this POM declares a snapshot artifact, false otherwise.
Returns all the modules in the specified profile.
Returns the file for the top-most POM in the multimodule project of which this POM is a part.
Returns the file for the top-most POM in the multimodule project of which this POM is a part.
This will return None
if the POM was loaded from the .m2 repository. If this POM is not
part of a multimodule project (but was not loaded from the .m2 repository), it will return
itself as the top-most POM.
A function that substitutes this POM's properties into the supplied text.
Returns a dependency on the (optionally classified) artifact described by this POM.
Computes this POM's transitive dependencies.
Computes this POM's transitive dependencies. Exclusions are honored, and conflicts are resolved
using the standard "distance from root POM" Maven semantics. Direct dependencies with scopes
other than compile
and test
are included for this project, but not transitively, also per
standard Maven semantics.
If this POM is part of a multi-module project, sibling dependencies will be resolved via the POMs in sibling directories rather than via the .m2 repository. This differs from Maven, but is vastly more useful and I wish Maven did things this way.
whether to include test dependencies.
Project metadata.