diff --git a/librarymanagement/src/main/datatype/librarymanagement.json b/librarymanagement/src/main/datatype/librarymanagement.json index d6e3aff88..d39e8b333 100644 --- a/librarymanagement/src/main/datatype/librarymanagement.json +++ b/librarymanagement/src/main/datatype/librarymanagement.json @@ -766,7 +766,8 @@ { "name": "artifact", "type": "String" }, { "name": "configurations", "type": "String*" }, { "name": "crossVersion", "type": "sbt.librarymanagement.CrossVersion" } - ] + ], + "parentsCompanion": "sbt.internal.librarymanagement.SbtExclusionRuleFunctions" }, { "name": "UpdateReportLite", diff --git a/librarymanagement/src/main/scala/sbt/internal/librarymanagement/SbtExclusionRuleExtra.scala b/librarymanagement/src/main/scala/sbt/internal/librarymanagement/SbtExclusionRuleExtra.scala new file mode 100644 index 000000000..ec144cfee --- /dev/null +++ b/librarymanagement/src/main/scala/sbt/internal/librarymanagement/SbtExclusionRuleExtra.scala @@ -0,0 +1,17 @@ +package sbt.internal.librarymanagement + +import sbt.internal.librarymanagement.impl._ +import sbt.librarymanagement._ + +abstract class SbtExclusionRuleFunctions { + def apply(organization: String, name: String): SbtExclusionRule = + SbtExclusionRule(organization, name, "*", Vector.empty, Disabled()) + + def apply(organization: String): SbtExclusionRule = apply(organization, "*") + + implicit def groupIdToExclusionRule(organization: GroupID): SbtExclusionRule = apply(organization.groupID) + implicit def stringToExclusionRule(organization: String): SbtExclusionRule = apply(organization) + + implicit def groupArtifactIDToExclusionRule(gaid: GroupArtifactID): SbtExclusionRule = + SbtExclusionRule(gaid.groupID, gaid.artifactID, "*", Vector.empty, gaid.crossVersion) +}