如何将自定义任务添加到使用(使用类、运行方法等)项目源的 sbt 构建定义?似乎它甚至在编译之前就试图找到它们。
问问题
991 次
1 回答
5
我需要知道你为什么要调用这些方法,因为这会改变答案。如果你想做某事...
构建相关
想要使用与构建相关的类/方法(minfiy 事物,将 jar/wars 上传到服务器等。)
- 您必须将其放入插件中,或者您需要将源代码放入项目文件夹中。
- 无法从您的项目中调用代码
如果它与构建相关,有人可能已经处理过类似的问题,并且可能已经有一个 sbt 插件,但如果没有,请告诉我,我可以解释创建 sbt 插件。
非构建相关
只想调用/测试与构建周期无关的方法。
- 您可以将其放在项目中名为 Script 的对象中(随便命名),启动控制台,然后导入脚本对象并运行。
- 为了使这更容易,您可以为控制台制作一个自定义导入脚本,该脚本会自动导入所有脚本,然后您可以运行
例如,打包脚本
object Script {
def foo = println("I am doing things non-build related")
}
在 sbt 现在运行
console
>> import script._
>> foo // prints out "I am doing things non-build related"
于 2012-09-24T13:47:26.350 回答