SBT:编译打包 -- "working tree not clean"
SBT: compile & package -- "working tree not clean"
我正在为 NetLogo 开发 Scala 扩展 (repo). I am following both the Extension API example and NetLogos Sample-Scala-Extension。
我看到了:
[info] Done packaging.
To compare two paths outside a working tree:
usage: git diff [--no-index] <path> <path>
[warn] working tree not clean when packaging; target not created
[success] Total time: 6 s, completed Jan 29, 2019, 6:22:00 PM
生成的 .jar 不包含我对扩展所做的修改。我认为这与“[警告] 工作树不干净......”有关。
是这样吗?
解决方法是什么?
文件层次结构:
Scala-Plume-Model
build.sbt
src
PlumeModelExtension.scala
build.sbt
enablePlugins(org.nlogo.build.NetLogoExtension)
name := "plume-scala"
version := "0.1"
scalaVersion := "2.12.0"
netLogoExtName := "plume-scala"
netLogoClassManager := "PlumeModelExtension"
netLogoZipSources := false
scalaSource in Compile := baseDirectory.value / "src"
scalacOptions ++= Seq("-deprecation", "-unchecked", "-Xfatal-warnings", "-encoding", "us-ascii")
netLogoVersion := "6.0.4"
简短的回答:将 isSnapshot := true
添加到您的 build.sbt
,然后 package
sbt 任务应该开始创建输出 jar 和 zip 文件,而不管 [=25] 的当前状态=].
更长的答案:NetLogo Extension SBT 插件对何时进行打包有一些预期。如果 isSnapshot
是 false
或未设置,插件会假定您正在尝试进行 "production" 发布。但是对于生产版本,您可能不想从脏存储库中编译和打包。所以它会警告您并且不会创建工件。
正常的工作流程是在开发过程中保留 isSnapshot := true
,然后在完成所有提交并准备好发布后,添加一个提交以设置 isSnapshot := false
(可能连同扩展的版本提升),打包并标记发布,然后立即添加提交设置 isSnapshot := true
。
我正在为 NetLogo 开发 Scala 扩展 (repo). I am following both the Extension API example and NetLogos Sample-Scala-Extension。
我看到了:
[info] Done packaging.
To compare two paths outside a working tree:
usage: git diff [--no-index] <path> <path>
[warn] working tree not clean when packaging; target not created
[success] Total time: 6 s, completed Jan 29, 2019, 6:22:00 PM
生成的 .jar 不包含我对扩展所做的修改。我认为这与“[警告] 工作树不干净......”有关。
是这样吗? 解决方法是什么?
文件层次结构:
Scala-Plume-Model
build.sbt
src
PlumeModelExtension.scala
build.sbt
enablePlugins(org.nlogo.build.NetLogoExtension)
name := "plume-scala"
version := "0.1"
scalaVersion := "2.12.0"
netLogoExtName := "plume-scala"
netLogoClassManager := "PlumeModelExtension"
netLogoZipSources := false
scalaSource in Compile := baseDirectory.value / "src"
scalacOptions ++= Seq("-deprecation", "-unchecked", "-Xfatal-warnings", "-encoding", "us-ascii")
netLogoVersion := "6.0.4"
简短的回答:将 isSnapshot := true
添加到您的 build.sbt
,然后 package
sbt 任务应该开始创建输出 jar 和 zip 文件,而不管 [=25] 的当前状态=].
更长的答案:NetLogo Extension SBT 插件对何时进行打包有一些预期。如果 isSnapshot
是 false
或未设置,插件会假定您正在尝试进行 "production" 发布。但是对于生产版本,您可能不想从脏存储库中编译和打包。所以它会警告您并且不会创建工件。
正常的工作流程是在开发过程中保留 isSnapshot := true
,然后在完成所有提交并准备好发布后,添加一个提交以设置 isSnapshot := false
(可能连同扩展的版本提升),打包并标记发布,然后立即添加提交设置 isSnapshot := true
。