Package org.apache.maven.model.building
Interface ModelBuildingRequest
- All Known Implementing Classes:
DefaultModelBuildingRequest
public interface ModelBuildingRequest
Collects settings that control the building of effective models.
- Author:
- Benjamin Bentmann
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Denotes validation as performed by Maven 2.0.static final int
Denotes validation as performed by Maven 3.0.static final int
Denotes validation as performed by Maven 3.1.static final int
Denotes minimal validation of POMs.static final int
Denotes strict validation as recommended by the current Maven version. -
Method Summary
Modifier and TypeMethodDescriptionGets the identifiers of those profiles that should be activated by explicit demand.Gets the start time of the build.Gets the identifiers of those profiles that should be deactivated by explicit demand.Gets the model building listener to notify during the build process.Gets the model cache to use for reuse of previously built models.Gets the model resolver to use for resolution of mixins or parents that are not locally reachable from the project directory.Gets the source of the POM to process.Gets the POM file of the project to build.Gets the external profiles that should be considered for model building.Gets the raw model to build.Gets the system properties to use for interpolation and profile activation.Gets the user properties to use for interpolation and profile activation.int
Gets the level of validation to perform on processed models.boolean
Indicates whether the model should track the line/column number of the model source from which it was parsed.boolean
Indicates whether plugin executions and configurations should be processed.boolean
Indicates whether the model building should happen in two phases.setActiveProfileIds
(List<String> activeProfileIds) Sets the identifiers of those profiles that should be activated by explicit demand.setBuildStartTime
(Date buildStartTime) Sets the start time of the build.setInactiveProfileIds
(List<String> inactiveProfileIds) Sets the identifiers of those profiles that should be deactivated by explicit demand.setLocationTracking
(boolean locationTracking) Enables/disables the tracking of line/column numbers for the model source being parsed.setModelBuildingListener
(ModelBuildingListener modelBuildingListener) Sets the model building listener to notify during the build process.setModelCache
(ModelCache modelCache) Sets the model cache to use for reuse of previously built models.setModelResolver
(ModelResolver modelResolver) Sets the model resolver to use for resolution of mixins or parents that are not locally reachable from the project directory.setModelSource
(ModelSource modelSource) Sets the source of the POM to process.setPomFile
(File pomFile) Sets the POM file of the project to build.setProcessPlugins
(boolean processPlugins) Controls the processing of plugin executions and configurations.setProfiles
(List<Profile> profiles) Sets the external profiles that should be considered for model building.setRawModel
(Model rawModel) Set raw model.setSystemProperties
(Properties systemProperties) Sets the system properties to use for interpolation and profile activation.setTwoPhaseBuilding
(boolean twoPhaseBuilding) Enables/disables two-phase building.setUserProperties
(Properties userProperties) Sets the user properties to use for interpolation and profile activation.setValidationLevel
(int validationLevel) Sets the level of validation to perform on processed models.setWorkspaceModelResolver
(WorkspaceModelResolver workspaceResolver)
-
Field Details
-
VALIDATION_LEVEL_MINIMAL
static final int VALIDATION_LEVEL_MINIMALDenotes minimal validation of POMs. This validation level is meant for processing of POMs from repositories during metadata retrieval.- See Also:
-
VALIDATION_LEVEL_MAVEN_2_0
static final int VALIDATION_LEVEL_MAVEN_2_0Denotes validation as performed by Maven 2.0. This validation level is meant as a compatibility mode to allow users to migrate their projects.- See Also:
-
VALIDATION_LEVEL_MAVEN_3_0
static final int VALIDATION_LEVEL_MAVEN_3_0Denotes validation as performed by Maven 3.0. This validation level is meant for existing projects.- See Also:
-
VALIDATION_LEVEL_MAVEN_3_1
static final int VALIDATION_LEVEL_MAVEN_3_1Denotes validation as performed by Maven 3.1. This validation level is meant for new projects.- See Also:
-
VALIDATION_LEVEL_STRICT
static final int VALIDATION_LEVEL_STRICTDenotes strict validation as recommended by the current Maven version.- See Also:
-
-
Method Details
-
getRawModel
Model getRawModel()Gets the raw model to build. If not set, model source will be used to load raw model.- Returns:
- The raw model to build or
null
if not set.
-
setRawModel
Set raw model.- Parameters:
rawModel
-
-
getModelSource
ModelSource getModelSource()Gets the source of the POM to process.- Returns:
- The source of the POM or
null
if not set.
-
setModelSource
Sets the source of the POM to process. Eventually, eithersetModelSource(ModelSource)
orsetPomFile(File)
must be set.- Parameters:
modelSource
- The source of the POM to process, may benull
.- Returns:
- This request, never
null
.
-
getPomFile
File getPomFile()Gets the POM file of the project to build.- Returns:
- The POM file of the project or
null
if not applicable (i.e. when processing a POM from the repository).
-
setPomFile
Sets the POM file of the project to build. Note that providing the path to a POM file via this method will make the model builder operate in project mode. This mode is meant for effective models that are employed during the build process of a local project. Hence the effective model will support the notion of a project directory. To build the model for a POM from the repository, usesetModelSource(ModelSource)
in combination with aFileModelSource
instead.- Parameters:
pomFile
- The POM file of the project to build the effective model for, may benull
to build the model of some POM from the repository.- Returns:
- This request, never
null
.
-
getValidationLevel
int getValidationLevel()Gets the level of validation to perform on processed models.- Returns:
- The level of validation to perform on processed models.
-
setValidationLevel
Sets the level of validation to perform on processed models. For building of projects,VALIDATION_LEVEL_STRICT
should be used to ensure proper building. For the mere retrieval of dependencies during artifact resolution,VALIDATION_LEVEL_MINIMAL
should be used to account for models of poor quality. By default, models are validated in strict mode.- Parameters:
validationLevel
- The level of validation to perform on processed models.- Returns:
- This request, never
null
.
-
isProcessPlugins
boolean isProcessPlugins()Indicates whether plugin executions and configurations should be processed. If enabled, lifecycle-induced plugin executions will be injected into the model and common plugin configuration will be propagated to individual executions.- Returns:
true
if plugins should be processed,false
otherwise.
-
setProcessPlugins
Controls the processing of plugin executions and configurations.- Parameters:
processPlugins
-true
to enable plugin processing,false
otherwise.- Returns:
- This request, never
null
.
-
isTwoPhaseBuilding
boolean isTwoPhaseBuilding()Indicates whether the model building should happen in two phases. If enabled, the initial invocation of the model builder will only produce an interim result which may be used to analyze inter-model dependencies before the final invocation of the model builder is performed.- Returns:
true
if two-phase building is enabled,false
if the model should be build in a single step.
-
setTwoPhaseBuilding
Enables/disables two-phase building. If enabled, the initial invocation of the model builder will only produce an interim result which may be used to analyze inter-model dependencies before the final invocation of the model builder is performed.- Parameters:
twoPhaseBuilding
-true
to enable two-phase building,false
if the model should be build in a single step.- Returns:
- This request, never
null
.
-
isLocationTracking
boolean isLocationTracking()Indicates whether the model should track the line/column number of the model source from which it was parsed.- Returns:
true
if location tracking is enabled,false
otherwise.
-
setLocationTracking
Enables/disables the tracking of line/column numbers for the model source being parsed. By default, input locations are not tracked.- Parameters:
locationTracking
-true
to enable location tracking,false
to disable it.- Returns:
- This request, never
null
.
-
getProfiles
Gets the external profiles that should be considered for model building.- Returns:
- The external profiles that should be considered for model building, never
null
.
-
setProfiles
Sets the external profiles that should be considered for model building.- Parameters:
profiles
- The external profiles that should be considered for model building, may benull
.- Returns:
- This request, never
null
.
-
getActiveProfileIds
Gets the identifiers of those profiles that should be activated by explicit demand.- Returns:
- The identifiers of those profiles to activate, never
null
.
-
setActiveProfileIds
Sets the identifiers of those profiles that should be activated by explicit demand.- Parameters:
activeProfileIds
- The identifiers of those profiles to activate, may benull
.- Returns:
- This request, never
null
.
-
getInactiveProfileIds
Gets the identifiers of those profiles that should be deactivated by explicit demand.- Returns:
- The identifiers of those profiles to deactivate, never
null
.
-
setInactiveProfileIds
Sets the identifiers of those profiles that should be deactivated by explicit demand.- Parameters:
inactiveProfileIds
- The identifiers of those profiles to deactivate, may benull
.- Returns:
- This request, never
null
.
-
getSystemProperties
Properties getSystemProperties()Gets the system properties to use for interpolation and profile activation. The system properties are collected from the runtime environment likeSystem.getProperties()
and environment variables.- Returns:
- The system properties, never
null
.
-
setSystemProperties
Sets the system properties to use for interpolation and profile activation. The system properties are collected from the runtime environment likeSystem.getProperties()
and environment variables.- Parameters:
systemProperties
- The system properties, may benull
.- Returns:
- This request, never
null
.
-
getUserProperties
Properties getUserProperties()Gets the user properties to use for interpolation and profile activation. The user properties have been configured directly by the user on his discretion, e.g. via the-Dkey=value
parameter on the command line.- Returns:
- The user properties, never
null
.
-
setUserProperties
Sets the user properties to use for interpolation and profile activation. The user properties have been configured directly by the user on his discretion, e.g. via the-Dkey=value
parameter on the command line.- Parameters:
userProperties
- The user properties, may benull
.- Returns:
- This request, never
null
.
-
getBuildStartTime
Date getBuildStartTime()Gets the start time of the build.- Returns:
- The start time of the build or
null
if unknown.
-
setBuildStartTime
Sets the start time of the build.- Parameters:
buildStartTime
- The start time of the build, may benull
.- Returns:
- This request, never
null
.
-
getModelResolver
ModelResolver getModelResolver()Gets the model resolver to use for resolution of mixins or parents that are not locally reachable from the project directory.- Returns:
- The model resolver or
null
if not set.
-
setModelResolver
Sets the model resolver to use for resolution of mixins or parents that are not locally reachable from the project directory.- Parameters:
modelResolver
- The model resolver to use, nevernull
.- Returns:
- This request, never
null
.
-
getModelBuildingListener
ModelBuildingListener getModelBuildingListener()Gets the model building listener to notify during the build process.- Returns:
- The model building listener to notify or
null
if none.
-
setModelBuildingListener
Sets the model building listener to notify during the build process.- Parameters:
modelBuildingListener
- The model building listener to notify, may benull
.- Returns:
- This request, never
null
.
-
getModelCache
ModelCache getModelCache()Gets the model cache to use for reuse of previously built models.- Returns:
- The model cache or
null
if not set.
-
setModelCache
Sets the model cache to use for reuse of previously built models. This is an optional component that serves performance optimizations.- Parameters:
modelCache
- The model cache to use, may benull
.- Returns:
- This request, never
null
.
-
getWorkspaceModelResolver
WorkspaceModelResolver getWorkspaceModelResolver() -
setWorkspaceModelResolver
-