Interface ModelBuildingRequest

All Known Implementing Classes:
DefaultModelBuildingRequest

public interface ModelBuildingRequest
Collects settings that control the building of effective models.
Author:
Benjamin Bentmann
  • Field Details

    • 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:
    • 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:
    • 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:
    • 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:
    • VALIDATION_LEVEL_STRICT

      static final int VALIDATION_LEVEL_STRICT
      Denotes 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

      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, either setModelSource(ModelSource) or setPomFile(File) must be set.
      Parameters:
      modelSource - The source of the POM to process, may be null.
      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, use setModelSource(ModelSource) in combination with a FileModelSource instead.
      Parameters:
      pomFile - The POM file of the project to build the effective model for, may be null 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 be null.
      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 be null.
      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 be null.
      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 like System.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 like System.getProperties() and environment variables.
      Parameters:
      systemProperties - The system properties, may be null.
      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 be null.
      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 be null.
      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, never null.
      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 be null.
      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 be null.
      Returns:
      This request, never null.
    • getWorkspaceModelResolver

      WorkspaceModelResolver getWorkspaceModelResolver()
    • setWorkspaceModelResolver

      ModelBuildingRequest setWorkspaceModelResolver(WorkspaceModelResolver workspaceResolver)