Package org.apache.maven.model.building
Class DefaultModelBuildingRequest
- java.lang.Object
-
- org.apache.maven.model.building.DefaultModelBuildingRequest
-
- All Implemented Interfaces:
ModelBuildingRequest
public class DefaultModelBuildingRequest extends Object implements ModelBuildingRequest
Collects settings that control building of effective models.- Author:
- Benjamin Bentmann
-
-
Field Summary
-
Fields inherited from interface org.apache.maven.model.building.ModelBuildingRequest
VALIDATION_LEVEL_MAVEN_2_0, VALIDATION_LEVEL_MAVEN_3_0, VALIDATION_LEVEL_MAVEN_3_1, VALIDATION_LEVEL_MINIMAL, VALIDATION_LEVEL_STRICT
-
-
Constructor Summary
Constructors Constructor Description DefaultModelBuildingRequest()
Creates an empty request.DefaultModelBuildingRequest(ModelBuildingRequest request)
Creates a shallow copy of the specified request.
-
Method Summary
All Methods Instance Methods Concrete 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.DefaultModelBuildingRequest
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.DefaultModelBuildingRequest
setInactiveProfileIds(List<String> inactiveProfileIds)
Sets the identifiers of those profiles that should be deactivated by explicit demand.DefaultModelBuildingRequest
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.DefaultModelBuildingRequest
setModelCache(ModelCache modelCache)
Sets the model cache to use for reuse of previously built models.DefaultModelBuildingRequest
setModelResolver(ModelResolver modelResolver)
Sets the model resolver to use for resolution of mixins or parents that are not locally reachable from the project directory.DefaultModelBuildingRequest
setModelSource(ModelSource modelSource)
Sets the source of the POM to process.DefaultModelBuildingRequest
setPomFile(File pomFile)
Sets the POM file of the project to build.DefaultModelBuildingRequest
setProcessPlugins(boolean processPlugins)
Controls the processing of plugin executions and configurations.DefaultModelBuildingRequest
setProfiles(List<Profile> profiles)
Sets the external profiles that should be considered for model building.ModelBuildingRequest
setRawModel(Model rawModel)
Set raw model.DefaultModelBuildingRequest
setSystemProperties(Properties systemProperties)
Sets the system properties to use for interpolation and profile activation.DefaultModelBuildingRequest
setTwoPhaseBuilding(boolean twoPhaseBuilding)
Enables/disables two-phase building.DefaultModelBuildingRequest
setUserProperties(Properties userProperties)
Sets the user properties to use for interpolation and profile activation.DefaultModelBuildingRequest
setValidationLevel(int validationLevel)
Sets the level of validation to perform on processed models.ModelBuildingRequest
setWorkspaceModelResolver(WorkspaceModelResolver workspaceResolver)
-
-
-
Constructor Detail
-
DefaultModelBuildingRequest
public DefaultModelBuildingRequest()
Creates an empty request.
-
DefaultModelBuildingRequest
public DefaultModelBuildingRequest(ModelBuildingRequest request)
Creates a shallow copy of the specified request.- Parameters:
request
- The request to copy, must not benull
.
-
-
Method Detail
-
getPomFile
public File getPomFile()
Description copied from interface:ModelBuildingRequest
Gets the POM file of the project to build.- Specified by:
getPomFile
in interfaceModelBuildingRequest
- Returns:
- The POM file of the project or
null
if not applicable (i.e. when processing a POM from the repository).
-
setPomFile
public DefaultModelBuildingRequest setPomFile(File pomFile)
Description copied from interface:ModelBuildingRequest
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, useModelBuildingRequest.setModelSource(ModelSource)
in combination with aFileModelSource
instead.- Specified by:
setPomFile
in interfaceModelBuildingRequest
- 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
.
-
getModelSource
public ModelSource getModelSource()
Description copied from interface:ModelBuildingRequest
Gets the source of the POM to process.- Specified by:
getModelSource
in interfaceModelBuildingRequest
- Returns:
- The source of the POM or
null
if not set.
-
setModelSource
public DefaultModelBuildingRequest setModelSource(ModelSource modelSource)
Description copied from interface:ModelBuildingRequest
Sets the source of the POM to process. Eventually, eitherModelBuildingRequest.setModelSource(ModelSource)
orModelBuildingRequest.setPomFile(File)
must be set.- Specified by:
setModelSource
in interfaceModelBuildingRequest
- Parameters:
modelSource
- The source of the POM to process, may benull
.- Returns:
- This request, never
null
.
-
getValidationLevel
public int getValidationLevel()
Description copied from interface:ModelBuildingRequest
Gets the level of validation to perform on processed models.- Specified by:
getValidationLevel
in interfaceModelBuildingRequest
- Returns:
- The level of validation to perform on processed models.
-
setValidationLevel
public DefaultModelBuildingRequest setValidationLevel(int validationLevel)
Description copied from interface:ModelBuildingRequest
Sets the level of validation to perform on processed models. For building of projects,ModelBuildingRequest.VALIDATION_LEVEL_STRICT
should be used to ensure proper building. For the mere retrieval of dependencies during artifact resolution,ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL
should be used to account for models of poor quality. By default, models are validated in strict mode.- Specified by:
setValidationLevel
in interfaceModelBuildingRequest
- Parameters:
validationLevel
- The level of validation to perform on processed models.- Returns:
- This request, never
null
.
-
isProcessPlugins
public boolean isProcessPlugins()
Description copied from interface:ModelBuildingRequest
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.- Specified by:
isProcessPlugins
in interfaceModelBuildingRequest
- Returns:
true
if plugins should be processed,false
otherwise.
-
setProcessPlugins
public DefaultModelBuildingRequest setProcessPlugins(boolean processPlugins)
Description copied from interface:ModelBuildingRequest
Controls the processing of plugin executions and configurations.- Specified by:
setProcessPlugins
in interfaceModelBuildingRequest
- Parameters:
processPlugins
-true
to enable plugin processing,false
otherwise.- Returns:
- This request, never
null
.
-
isTwoPhaseBuilding
public boolean isTwoPhaseBuilding()
Description copied from interface:ModelBuildingRequest
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.- Specified by:
isTwoPhaseBuilding
in interfaceModelBuildingRequest
- Returns:
true
if two-phase building is enabled,false
if the model should be build in a single step.
-
setTwoPhaseBuilding
public DefaultModelBuildingRequest setTwoPhaseBuilding(boolean twoPhaseBuilding)
Description copied from interface:ModelBuildingRequest
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.- Specified by:
setTwoPhaseBuilding
in interfaceModelBuildingRequest
- 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
public boolean isLocationTracking()
Description copied from interface:ModelBuildingRequest
Indicates whether the model should track the line/column number of the model source from which it was parsed.- Specified by:
isLocationTracking
in interfaceModelBuildingRequest
- Returns:
true
if location tracking is enabled,false
otherwise.
-
setLocationTracking
public DefaultModelBuildingRequest setLocationTracking(boolean locationTracking)
Description copied from interface:ModelBuildingRequest
Enables/disables the tracking of line/column numbers for the model source being parsed. By default, input locations are not tracked.- Specified by:
setLocationTracking
in interfaceModelBuildingRequest
- Parameters:
locationTracking
-true
to enable location tracking,false
to disable it.- Returns:
- This request, never
null
.
-
getProfiles
public List<Profile> getProfiles()
Description copied from interface:ModelBuildingRequest
Gets the external profiles that should be considered for model building.- Specified by:
getProfiles
in interfaceModelBuildingRequest
- Returns:
- The external profiles that should be considered for model building, never
null
.
-
setProfiles
public DefaultModelBuildingRequest setProfiles(List<Profile> profiles)
Description copied from interface:ModelBuildingRequest
Sets the external profiles that should be considered for model building.- Specified by:
setProfiles
in interfaceModelBuildingRequest
- Parameters:
profiles
- The external profiles that should be considered for model building, may benull
.- Returns:
- This request, never
null
.
-
getActiveProfileIds
public List<String> getActiveProfileIds()
Description copied from interface:ModelBuildingRequest
Gets the identifiers of those profiles that should be activated by explicit demand.- Specified by:
getActiveProfileIds
in interfaceModelBuildingRequest
- Returns:
- The identifiers of those profiles to activate, never
null
.
-
setActiveProfileIds
public DefaultModelBuildingRequest setActiveProfileIds(List<String> activeProfileIds)
Description copied from interface:ModelBuildingRequest
Sets the identifiers of those profiles that should be activated by explicit demand.- Specified by:
setActiveProfileIds
in interfaceModelBuildingRequest
- Parameters:
activeProfileIds
- The identifiers of those profiles to activate, may benull
.- Returns:
- This request, never
null
.
-
getInactiveProfileIds
public List<String> getInactiveProfileIds()
Description copied from interface:ModelBuildingRequest
Gets the identifiers of those profiles that should be deactivated by explicit demand.- Specified by:
getInactiveProfileIds
in interfaceModelBuildingRequest
- Returns:
- The identifiers of those profiles to deactivate, never
null
.
-
setInactiveProfileIds
public DefaultModelBuildingRequest setInactiveProfileIds(List<String> inactiveProfileIds)
Description copied from interface:ModelBuildingRequest
Sets the identifiers of those profiles that should be deactivated by explicit demand.- Specified by:
setInactiveProfileIds
in interfaceModelBuildingRequest
- Parameters:
inactiveProfileIds
- The identifiers of those profiles to deactivate, may benull
.- Returns:
- This request, never
null
.
-
getSystemProperties
public Properties getSystemProperties()
Description copied from interface:ModelBuildingRequest
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.- Specified by:
getSystemProperties
in interfaceModelBuildingRequest
- Returns:
- The system properties, never
null
.
-
setSystemProperties
public DefaultModelBuildingRequest setSystemProperties(Properties systemProperties)
Description copied from interface:ModelBuildingRequest
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.- Specified by:
setSystemProperties
in interfaceModelBuildingRequest
- Parameters:
systemProperties
- The system properties, may benull
.- Returns:
- This request, never
null
.
-
getUserProperties
public Properties getUserProperties()
Description copied from interface:ModelBuildingRequest
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.- Specified by:
getUserProperties
in interfaceModelBuildingRequest
- Returns:
- The user properties, never
null
.
-
setUserProperties
public DefaultModelBuildingRequest setUserProperties(Properties userProperties)
Description copied from interface:ModelBuildingRequest
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.- Specified by:
setUserProperties
in interfaceModelBuildingRequest
- Parameters:
userProperties
- The user properties, may benull
.- Returns:
- This request, never
null
.
-
getBuildStartTime
public Date getBuildStartTime()
Description copied from interface:ModelBuildingRequest
Gets the start time of the build.- Specified by:
getBuildStartTime
in interfaceModelBuildingRequest
- Returns:
- The start time of the build or
null
if unknown.
-
setBuildStartTime
public ModelBuildingRequest setBuildStartTime(Date buildStartTime)
Description copied from interface:ModelBuildingRequest
Sets the start time of the build.- Specified by:
setBuildStartTime
in interfaceModelBuildingRequest
- Parameters:
buildStartTime
- The start time of the build, may benull
.- Returns:
- This request, never
null
.
-
getModelResolver
public ModelResolver getModelResolver()
Description copied from interface:ModelBuildingRequest
Gets the model resolver to use for resolution of mixins or parents that are not locally reachable from the project directory.- Specified by:
getModelResolver
in interfaceModelBuildingRequest
- Returns:
- The model resolver or
null
if not set.
-
setModelResolver
public DefaultModelBuildingRequest setModelResolver(ModelResolver modelResolver)
Description copied from interface:ModelBuildingRequest
Sets the model resolver to use for resolution of mixins or parents that are not locally reachable from the project directory.- Specified by:
setModelResolver
in interfaceModelBuildingRequest
- Parameters:
modelResolver
- The model resolver to use, nevernull
.- Returns:
- This request, never
null
.
-
getModelBuildingListener
public ModelBuildingListener getModelBuildingListener()
Description copied from interface:ModelBuildingRequest
Gets the model building listener to notify during the build process.- Specified by:
getModelBuildingListener
in interfaceModelBuildingRequest
- Returns:
- The model building listener to notify or
null
if none.
-
setModelBuildingListener
public ModelBuildingRequest setModelBuildingListener(ModelBuildingListener modelBuildingListener)
Description copied from interface:ModelBuildingRequest
Sets the model building listener to notify during the build process.- Specified by:
setModelBuildingListener
in interfaceModelBuildingRequest
- Parameters:
modelBuildingListener
- The model building listener to notify, may benull
.- Returns:
- This request, never
null
.
-
getModelCache
public ModelCache getModelCache()
Description copied from interface:ModelBuildingRequest
Gets the model cache to use for reuse of previously built models.- Specified by:
getModelCache
in interfaceModelBuildingRequest
- Returns:
- The model cache or
null
if not set.
-
setModelCache
public DefaultModelBuildingRequest setModelCache(ModelCache modelCache)
Description copied from interface:ModelBuildingRequest
Sets the model cache to use for reuse of previously built models. This is an optional component that serves performance optimizations.- Specified by:
setModelCache
in interfaceModelBuildingRequest
- Parameters:
modelCache
- The model cache to use, may benull
.- Returns:
- This request, never
null
.
-
getRawModel
public Model getRawModel()
Description copied from interface:ModelBuildingRequest
Gets the raw model to build. If not set, model source will be used to load raw model.- Specified by:
getRawModel
in interfaceModelBuildingRequest
- Returns:
- The raw model to build or
null
if not set.
-
setRawModel
public ModelBuildingRequest setRawModel(Model rawModel)
Description copied from interface:ModelBuildingRequest
Set raw model.- Specified by:
setRawModel
in interfaceModelBuildingRequest
-
getWorkspaceModelResolver
public WorkspaceModelResolver getWorkspaceModelResolver()
- Specified by:
getWorkspaceModelResolver
in interfaceModelBuildingRequest
-
setWorkspaceModelResolver
public ModelBuildingRequest setWorkspaceModelResolver(WorkspaceModelResolver workspaceResolver)
- Specified by:
setWorkspaceModelResolver
in interfaceModelBuildingRequest
-
-