Scala Heroku上本地目录中插件的SBT解析器

Scala Heroku上本地目录中插件的SBT解析器,scala,heroku,sbt,Scala,Heroku,Sbt,我有一个内部SBT插件,它设置了我构建的许多常见方面。其中之一是我的设置,用于添加我的工件凭据和解析器。我通常在本地发布插件,以便我的构建可以解析它,然后从我的工件库中提取剩余的依赖项 为了部署到Heroku,我计划将发布的工件从.ivy2 repo复制到项目的子文件夹中。然而,尽管我可以使用Resolver.file和Resolver.url在本地实现这一点,但一旦我推到Heroku,就无法实现这一点。我甚至尝试将其作为非托管依赖项,但在Heroku中仍未解决 有人知道在Heroku上实现这一

我有一个内部SBT插件,它设置了我构建的许多常见方面。其中之一是我的设置,用于添加我的工件凭据和解析器。我通常在本地发布插件,以便我的构建可以解析它,然后从我的工件库中提取剩余的依赖项

为了部署到Heroku,我计划将发布的工件从.ivy2 repo复制到项目的子文件夹中。然而,尽管我可以使用Resolver.file和Resolver.url在本地实现这一点,但一旦我推到Heroku,就无法实现这一点。我甚至尝试将其作为非托管依赖项,但在Heroku中仍未解决

有人知道在Heroku上实现这一点的魔法吗

我已尝试在project/plugins.sbt中执行以下操作:

Resolver.url.("local-plugins", url(s"file///${baseDirectory.value}/plugins"))(Resolver.ivyStylePatterns)

Resolver.file("local-plugins", file("plugins")(Resolver.ivyStylePatterns)

unmanagedBase := baseDirectory.value / "lib"
resolvers += Resolver.file("local-plugins", file("local-plugins"))(Resolver.ivyStylePatterns)

我推荐两种不同的方法:

  • 使用而不是使用Git部署。您可以这样使用本地依赖项
  • 将插件部署到。这相当容易,免费,值得费心

我今天再次回顾了这一点,以下几点奏效了:

在plugins.sbt中:

Resolver.url.("local-plugins", url(s"file///${baseDirectory.value}/plugins"))(Resolver.ivyStylePatterns)

Resolver.file("local-plugins", file("plugins")(Resolver.ivyStylePatterns)

unmanagedBase := baseDirectory.value / "lib"
resolvers += Resolver.file("local-plugins", file("local-plugins"))(Resolver.ivyStylePatterns)

我的项目在工作文件夹中还包含一个本地插件/目录,其中保存了已发布的工件。

您是否也将插件文件签入Git?您可能还需要再次检查
baseDirectory.value的值。从
project/
dir,它可能不是您所期望的,因为sbt在项目中有一个项目的概念。