Package org.gradle.api.artifacts.dsl

## Interface DependencyConstraintHandler

-     @Incubating
      public interface DependencyConstraintHandler

  A `DependencyConstraintHandler` is used to declare dependency constraints.

  Since:
    4.5

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `DependencyConstraint` | `add​(String configurationName, Object dependencyConstraintNotation)` | Adds a dependency constraint to the given configuration.
    `DependencyConstraint` | `add​(String configurationName, Object dependencyNotation, Action<? super DependencyConstraint> configureAction)` | Adds a dependency constraint to the given configuration, and configures the dependency constraint using the given closure.
    `DependencyConstraint` | `create​(Object dependencyConstraintNotation)` | Creates a dependency constraint without adding it to a configuration.
    `DependencyConstraint` | `create​(Object dependencyConstraintNotation, Action<? super DependencyConstraint> configureAction)` | Creates a dependency constraint without adding it to a configuration, and configures the dependency constraint using the given closure.
    `DependencyConstraint` | `enforcedPlatform​(Object notation)` | Declares a constraint on an enforced platform.
    `DependencyConstraint` | `enforcedPlatform​(Object notation, Action<? super DependencyConstraint> configureAction)` | Declares a constraint on an enforced platform.
    `DependencyConstraint` | `platform​(Object notation)` | Declares a constraint on a platform.
    `DependencyConstraint` | `platform​(Object notation, Action<? super DependencyConstraint> configureAction)` | Declares a constraint on a platform.

- - ### Method Detail

    - #### add

          DependencyConstraint add​(String configurationName,
                                   Object dependencyConstraintNotation)

      Adds a dependency constraint to the given configuration.
      Parameters:
        `configurationName` - The name of the configuration.
        `dependencyConstraintNotation` - the constraint

    - #### add

          DependencyConstraint add​(String configurationName,
                                   Object dependencyNotation,
                                   Action<? super DependencyConstraint> configureAction)

      Adds a dependency constraint to the given configuration, and configures the dependency constraint using the given closure.
      Parameters:
        `configurationName` - The name of the configuration.
        `dependencyNotation` - The dependency constraint notation
        `configureAction` - The closure to use to configure the dependency constraint.

    - #### create

          DependencyConstraint create​(Object dependencyConstraintNotation)

      Creates a dependency constraint without adding it to a configuration.
      Parameters:
        `dependencyConstraintNotation` - The dependency constraint notation.

    - #### create

          DependencyConstraint create​(Object dependencyConstraintNotation,
                                      Action<? super DependencyConstraint> configureAction)

      Creates a dependency constraint without adding it to a configuration, and configures the dependency constraint using the given closure.
      Parameters:
        `dependencyConstraintNotation` - The dependency constraint notation.
        `configureAction` - The closure to use to configure the dependency.

    - #### platform

          @Incubating
          DependencyConstraint platform​(Object notation)

      Declares a constraint on a platform. If the target coordinates represent multiple potential components, the platform component will be selected, instead of the library.
      Parameters:
        `notation` - the coordinates of the platform
      Since:
        5.0

    - #### platform

          @Incubating
          DependencyConstraint platform​(Object notation,
                                        Action<? super DependencyConstraint> configureAction)

      Declares a constraint on a platform. If the target coordinates represent multiple potential components, the platform component will be selected, instead of the library.
      Parameters:
        `notation` - the coordinates of the platform
        `configureAction` - the dependency configuration block
      Since:
        5.0

    - #### enforcedPlatform

          @Incubating
          DependencyConstraint enforcedPlatform​(Object notation)

      Declares a constraint on an enforced platform. If the target coordinates represent multiple potential components, the platform component will be selected, instead of the library. An enforced platform is a platform for which the direct dependencies are forced, meaning that they would override any other version found in the graph.
      Parameters:
        `notation` - the coordinates of the platform
      Since:
        5.0

    - #### enforcedPlatform

          @Incubating
          DependencyConstraint enforcedPlatform​(Object notation,
                                                Action<? super DependencyConstraint> configureAction)

      Declares a constraint on an enforced platform. If the target coordinates represent multiple potential components, the platform component will be selected, instead of the library. An enforced platform is a platform for which the direct dependencies are forced, meaning that they would override any other version found in the graph.
      Parameters:
        `notation` - the coordinates of the platform
        `configureAction` - the dependency configuration block
      Since:
        5.0