为SBT0.13编写了我的第一个插件,并试图遵循https://www.scala-sbt.org/0.13/docs/Testing-sbt-plugins.html。所有这些都像广告中所宣传的那样工作,直到第5步。它打印消息“运行./简单”,并且永远不会从那里继续:
build/sbt -Dplugin.version=0.14.8
Detected CYGWIN environment
Reading sbt jar from: build/sbt-launch-0_13_9.jar
[info] Loading project definition from project\home\dir\sheep-metadata-plugin\project
[info] Updating {file:/project/home/dir/sheep-metadata-plugin/project/}sheep-metadata-plugin-build...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Set current project to sheep_metadata (in build file:/project/home/dir/sheep-metadata-plugin/)
> set scriptedBufferLog := false
[info] Defining sheep_metadata/*:scriptedBufferLog
[info] The new value will be used by sheep_metadata/*:scripted
[info] Reapplying settings...
[info] Set current project to sheep_metadata (in build file:/project/home/dir/sheep-metadata-plugin/)
> scripted
[info] :: delivering :: com.myco.sheep.sbt#metadata;0.0.1-SNAPSHOT :: 0.0.1-SNAPSHOT :: integration :: Mon Dec 10 15:11:00 EST 2018
[info] delivering ivy file to project\home\dir\sheep-metadata-plugin\metadata\target\sbt-0.13\ivy-0.0.1-SNAPSHOT.xml
[info] Packaging project\home\dir\sheep-metadata-plugin\metadata\target\sbt-0.13\metadata-0.0.1-SNAPSHOT.jar ...
[info] Done packaging.
[info] published metadata to myHomeDir\.ivy2\local\com.myco.sheep.sbt\metadata\scala_2.10\sbt_0.13\0.0.1-SNAPSHOT\jars\metadata.jar
[info] published metadata to myHomeDir\.ivy2\local\com.myco.sheep.sbt\metadata\scala_2.10\sbt_0.13\0.0.1-SNAPSHOT\srcs\metadata-sources.jar
[info] published metadata to myHomeDir\.ivy2\local\com.myco.sheep.sbt\metadata\scala_2.10\sbt_0.13\0.0.1-SNAPSHOT\docs\metadata-javadoc.jar
[info] published ivy to myHomeDir\.ivy2\local\com.myco.sheep.sbt\metadata\scala_2.10\sbt_0.13\0.0.1-SNAPSHOT\ivys\ivy.xml
Running sheep-metadata-plugin / simple主要工程的建造:
build/sbt -Dplugin.version=0.14.8 clean update compile但是,当我尝试本教程中的步骤5(即运行scripted)时,没有错误消息,但也没有成功--它永远不会终止。
更新:在Windows 7+ Babun Cygwin上,我没有收到错误消息。在Linux上,sbt抱怨plugin.version,尽管我按照指示传递了它。
[info] java.lang.RuntimeException: The system property 'plugin.version' is not defined.
[info] Specify this property using the scriptedLaunchOpts -D.我怎么才能解决这个问题?
发布于 2018-12-10 21:23:47
固定/澄清/找到解决办法:
首先,让我们澄清在https://www.scala-sbt.org/0.13/docs/Testing-sbt-plugins.html中引用的https://www.scala-sbt.org/0.13/docs/Testing-sbt-plugins.html插件必须添加到simple项目中,而不是主项目。
接下来,我放弃了通过命令行参数设置sbt-assembly版本号,我只是直接指定了它。
sheep-metadata-plugin\metadata\src\sbt-test\sheep-metadata-plugin\simple\project\plugins.sbt
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.8")如果有人知道如何像本教程中所描述的那样使该示例工作,那将是很好的。
https://stackoverflow.com/questions/53713255
复制相似问题