如何在我自己的项目中使用分叉SBT插件
以下是我遵循的步骤:如何在我自己的项目中使用分叉SBT插件,sbt,Sbt,以下是我遵循的步骤: 我有一个第三方插件 我已经修改了它,并成功运行了sbt publishLocal 为了测试它,在一个项目的plugins.sbt文件中,我将addSbtPlugin(“company”%%“some plugin”%%“0.6.5”)更改为: lazy val root=project.in(文件(“.”).dependsOn(somePlugin) lazy val somePlugin=project.in(文件(System.getProperty(“user.ho
- 我有一个第三方插件
- 我已经修改了它,并成功运行了
sbt publishLocal
- 为了测试它,在一个项目的
文件中,我将plugins.sbt
更改为: lazy val root=project.in(文件(“.”).dependsOn(somePlugin) lazy val somePlugin=project.in(文件(System.getProperty(“user.home”)+“/customPath/”)addSbtPlugin(“company”%%“some plugin”%%“0.6.5”)
SBT
无法以这种方式编译插件,因为它找不到插件中使用过的插件,即使我能够找到
我还试图引用~/.sbt/local/…
,即publishLocal
放置编译插件的目录,但没有成功。我不知道我到底要引用什么(文件夹、生成的.jar
、ivy.xml
文件等等)
问题:
- 使用本地内置插件的最佳方式是什么李>
- 为什么它要单独编译,但嵌入到我的项目中时却不能编译
- 这个问题与这个问题密切相关:
- 我使用的是SBT 0.13.7
- 我有一个现有的项目
- 我更改了
,以使其具有唯一性,并且不会与原始作者发生冲突。我使用类似于组织机构
organization:=com.github.myuser
- 我修改代码
- 我在
中创建了一个帐户,并按照该帐户使用bintray
sbt publish
- 在一个示例项目中,我通过在
中添加这一行来导入我的自定义插件:plugins.sbt
addSbtPlugin(“com.github.myuser”%%“myplugin”%%“1.0”)
- 如果我犯了错误,不想增加版本,我会这样做: sbt;bintray::取消发布;发表
- 解决方案很简单。我遵循了以下步骤:
也许
publishLocal
更好,不需要使用第三方存储库,但我不知道它是如何工作的。这对我来说很有效。一个更好的解决方案,当唯一的目的是测试未来的拉请求时非常适合:
- 分叉现有项目
- 将版本更改为以-SNAPSHOT结尾
- 做些改变
- 调用
sbt publishLocal
- 创建一个示例项目以测试它,该项目引用-SNAPSHOT版本
- 在重新编译项目时,
挂起整个JVM。我必须退出reload
,然后再次进入SBT
- 工作时,向作者发出
拉取请求