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
Fields Modifier and Type Field Description static int
VALIDATION_LEVEL_MAVEN_2_0
Denotes validation as performed by Maven 2.0.static int
VALIDATION_LEVEL_MAVEN_3_0
Denotes validation as performed by Maven 3.0.static int
VALIDATION_LEVEL_MAVEN_3_1
Denotes validation as performed by Maven 3.1.static int
VALIDATION_LEVEL_MINIMAL
Denotes minimal validation of POMs.static int
VALIDATION_LEVEL_STRICT
Denotes strict validation as recommended by the current Maven version.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description List<String>
getActiveProfileIds()
Gets the identifiers of those profiles that should be activated by explicit demand.Date
getBuildStartTime()
Gets the start time of the build.List<String>
getInactiveProfileIds()
Gets the identifiers of those profiles that should be deactivated by explicit demand.ModelBuildingListener
getModelBuildingListener()
Gets the model building listener to notify during the build process.ModelCache
getModelCache()
Gets the model cache to use for reuse of previously built models.ModelResolver
getModelResolver()
Gets the model resolver to use for resolution of mixins or parents that are not locally reachable from the project directory.ModelSource
getModelSource()
Gets the source of the POM to process.File
getPomFile()
Gets the POM file of the project to build.List<Profile>
getProfiles()
Gets the external profiles that should be considered for model building.Model
getRawModel()
Gets the raw model to build.Properties
getSystemProperties()
Gets the system properties to use for interpolation and profile activation.Properties
getUserProperties()
Gets the user properties to use for interpolation and profile activation.int
getValidationLevel()
Gets the level of validation to perform on processed models.WorkspaceModelResolver
getWorkspaceModelResolver()
boolean
isLocationTracking()
Indicates whether the model should track the line/column number of the model source from which it was parsed.boolean
isProcessPlugins()
Indicates whether plugin executions and configurations should be processed.boolean
isTwoPhaseBuilding()
Indicates whether the model building should happen in two phases.ModelBuildingRequest
setActiveProfileIds(List<String> activeProfileIds)
Sets the identifiers of those profiles that should be activated by explicit demand.ModelBuildingRequest
setBuildStartTime(Date buildStartTime)
Sets the start time of the build.ModelBuildingRequest
setInactiveProfileIds(List<String> inactiveProfileIds)
Sets the identifiers of those profiles that should be deactivated by explicit demand.ModelBuildingRequest
setLocationTracking(boolean locationTracking)
Enables/disables the tracking of line/column numbers for the model source being parsed.ModelBuildingRequest
setModelBuildingListener(ModelBuildingListener modelBuildingListener)
Sets the model building listener to notify during the build process.ModelBuildingRequest
setModelCache(ModelCache modelCache)
Sets the model cache to use for reuse of previously built models.ModelBuildingRequest
setModelResolver(ModelResolver modelResolver)
Sets the model resolver to use for resolution of mixins or parents that are not locally reachable from the project directory.ModelBuildingRequest
setModelSource(ModelSource modelSource)
Sets the source of the POM to process.ModelBuildingRequest
setPomFile(File pomFile)
Sets the POM file of the project to build.ModelBuildingRequest
setProcessPlugins(boolean processPlugins)
Controls the processing of plugin executions and configurations.ModelBuildingRequest
setProfiles(List<Profile> profiles)
Sets the external profiles that should be considered for model building.ModelBuildingRequest
setRawModel(Model rawModel)
Set raw model.ModelBuildingRequest
setSystemProperties(Properties systemProperties)
Sets the system properties to use for interpolation and profile activation.ModelBuildingRequest
setTwoPhaseBuilding(boolean twoPhaseBuilding)
Enables/disables two-phase building.ModelBuildingRequest
setUserProperties(Properties userProperties)
Sets the user properties to use for interpolation and profile activation.ModelBuildingRequest
setValidationLevel(int validationLevel)
Sets the level of validation to perform on processed models.ModelBuildingRequest
setWorkspaceModelResolver(WorkspaceModelResolver workspaceResolver)
-
-
-
Field Detail
-
VALIDATION_LEVEL_MINIMAL
static final int VALIDATION_LEVEL_MINIMAL
Denotes minimal validation of POMs. This validation level is meant for processing of POMs from repositories during metadata retrieval.- See Also:
- Constant Field Values
-
VALIDATION_LEVEL_MAVEN_2_0
static final int VALIDATION_LEVEL_MAVEN_2_0
Denotes 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:
- Constant Field Values
-
VALIDATION_LEVEL_MAVEN_3_0
static final int VALIDATION_LEVEL_MAVEN_3_0
Denotes validation as performed by Maven 3.0. This validation level is meant for existing projects.- See Also:
- Constant Field Values
-
VALIDATION_LEVEL_MAVEN_3_1
static final int VALIDATION_LEVEL_MAVEN_3_1
Denotes validation as performed by Maven 3.1. This validation level is meant for new projects.- See Also:
- Constant Field Values
-
VALIDATION_LEVEL_STRICT
static final int VALIDATION_LEVEL_STRICT
Denotes strict validation as recommended by the current Maven version.- See Also:
- Constant Field Values
-
-
Method Detail
-
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
ModelBuildingRequest setRawModel(Model rawModel)
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
ModelBuildingRequest setModelSource(ModelSource modelSource)
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
ModelBuildingRequest setPomFile(File pomFile)
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
ModelBuildingRequest setValidationLevel(int validationLevel)
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
ModelBuildingRequest setProcessPlugins(boolean processPlugins)
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
ModelBuildingRequest setTwoPhaseBuilding(boolean twoPhaseBuilding)
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
ModelBuildingRequest setLocationTracking(boolean locationTracking)
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
List<Profile> 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
ModelBuildingRequest setProfiles(List<Profile> profiles)
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
List<String> 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
ModelBuildingRequest setActiveProfileIds(List<String> activeProfileIds)
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
List<String> 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
ModelBuildingRequest setInactiveProfileIds(List<String> inactiveProfileIds)
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
ModelBuildingRequest setSystemProperties(Properties systemProperties)
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
ModelBuildingRequest setUserProperties(Properties userProperties)
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
ModelBuildingRequest setBuildStartTime(Date buildStartTime)
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
ModelBuildingRequest setModelResolver(ModelResolver modelResolver)
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
ModelBuildingRequest setModelBuildingListener(ModelBuildingListener modelBuildingListener)
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
ModelBuildingRequest setModelCache(ModelCache modelCache)
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
ModelBuildingRequest setWorkspaceModelResolver(WorkspaceModelResolver workspaceResolver)
-
-