Interface MutableVersionConstraint

All Superinterfaces:
Describable, VersionConstraint

public interface MutableVersionConstraint extends VersionConstraint
A configurable version constraint. This is exposed to the build author, so that one can express more constraints on a module version.
Since:
4.4
  • Method Details

    • getBranch

      @Nullable String getBranch()
      Returns the branch to select versions from. When not null, select only versions that were built from the given branch.
      Specified by:
      getBranch in interface VersionConstraint
      Since:
      4.6
    • setBranch

      void setBranch(@Nullable String branch)
      Specifies the branch to select versions from.
      Parameters:
      branch - The branch, possibly null.
      Since:
      4.6
    • strictly

      void strictly(String version)
      Sets the version as strict.

      Any version not matched by this version notation will be excluded. This is the strongest version declaration. It will cause dependency resolution to fail if no version acceptable by this clause can be selected. This term supports dynamic versions.

      This will override a previous require declaration.

      This clears any set rejected versions.

      Parameters:
      version - the strict version to be used for this module
    • require

      void require(String version)
      Sets the required version of this module.

      Implies that the selected version cannot be lower than what require accepts but could be higher through conflict resolution, even if higher has an exclusive higher bound. This is what a direct dependency translates to. This term supports dynamic versions.

      This will override a previous strictly declaration.

      This clears any set rejected versions.

      Parameters:
      version - the required version of this module
      Since:
      5.0
    • prefer

      void prefer(String version)
      Sets the preferred version of this module.

      This is a very soft version declaration. It applies only if there is no stronger non dynamic opinion on a version for the module. This term does not support dynamic versions.

      This can complement a strictly or require indication.

      This clears any set rejected versions.

      Parameters:
      version - the preferred version of this module
    • reject

      void reject(String... versions)
      Declares a list of rejected versions. If such a version is found during dependency resolution, it will not be selected. This term supports dynamic versions.
      Parameters:
      versions - the rejected versions
      Since:
      4.5
    • rejectAll

      void rejectAll()
      Rejects all versions of this component. Can be used to make sure that if such a component is seen in a dependency graph, resolution fails.
      Since:
      4.5