Interface ModelBuildingRequest

  • All Known Implementing Classes:
    DefaultModelBuildingRequest

    public interface ModelBuildingRequest
    Collects settings that control the building of effective models.
    Author:
    Benjamin Bentmann
    • 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.
      • getModelSource

        ModelSource getModelSource()
        Gets the source of the POM to process.
        Returns:
        The source of the POM or null if not set.
      • 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.