Search code examples
mavenivysbt-plugin

Differences in ivy/maven publishing for sbt plugin


I have two SBT plugins: PluginA and PluginB. PluginA depends on tasks in PluginB. Whenever I publish PluginB locally to "~/.ivy2" using "publishLocal", then PluginA works. Though the dependency still resolves when I publish PluginB using "publishM2" to my local "~/.m2" the compile task for PluginA fails:

"object xxx is not a member of package yyy".

I have tried setting "publishMavenStyle" to both true and false and adjusting the resolver, but neither work.

Why does this happen and is there a way to get this to work when publishing in a maven style?


Solution

  • This was a mistake on my part. I added plugin incorrectly by using from

    addSbtPlugin("com.xxyy" %% "PluginA" % "0.0.2" from "http://internal.repo.com")

    Though the POM was found, so the resource was found, the correspoinding the jar was not found so the build would fail.

    To fix this I added a resolver before adding the plugin

    resolvers += "xxyy" at "http://internal.repo.com" addSbtPlugin("com.xxyy" %% "PluginA" % "0.0.2")