Skip to content

Solve running over self #5

@matanox

Description

@matanox

Run over self. A good approach would be having a dependency that brings in the same artifacts, under a different name for them, to avoid:

[debug] resolving dependencies for configuration 'provided'
[debug] == resolving dependencies for canve#compiler-plugin_2.11;0.0.1 [provided]
[error] a module is not authorized to depend on itself: canve#compiler-plugin_2.11;0.0.1
java.lang.IllegalArgumentException: a module is not authorized to depend on itself: canve#compiler-plugin_2.11;0.0.1
    at org.apache.ivy.core.resolve.IvyNodeCallers.addCaller(IvyNodeCallers.java:167)
    at org.apache.ivy.core.resolve.IvyNode.addCaller(IvyNode.java:1076)
    at org.apache.ivy.core.resolve.IvyNode.getDependencies(IvyNode.java:369)
    at org.apache.ivy.core.resolve.VisitNode.getDependencies(VisitNode.java:313)
    at org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:792)
    at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:722)
    at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:594)
    at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:234)
    at org.apache.ivy.Ivy.resolve(Ivy.java:517)
    at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:266)
    at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:175)
    at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:157)
    at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:151)
    at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:151)
    at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:128)
    at sbt.IvySbt.sbt$IvySbt$$action$1(Ivy.scala:56)

which we get if we naively add the plugin to itself as if it were a target project, by placing addSbtPlugin("canve" % "sbt-plugin" % "x.y.z") in project/plugins.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions