SBT: compile & package - "рабочее дерево не чистое" - PullRequest
0 голосов
/ 30 января 2019

Я работаю над расширением Scala для NetLogo ( репо ).Я следую как за расширением API пример , так и за 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"

1 Ответ

0 голосов
/ 30 января 2019

Краткий ответ: добавьте isSnapshot := true к вашему build.sbt, а затем задача package sbt должна начать создавать выходные файлы jar и zip независимо от текущего состояния git.

Более длинный ответ:Плагин NetLogo Extension SBT имеет некоторые ожидания относительно того, когда произойдет упаковка.Если isSnapshot равно false или не установлено, плагин предполагает, что вы пытаетесь сделать «производственную» версию.Но для производственного выпуска вы, вероятно, не хотите компилировать и упаковывать из грязного репозитория.Поэтому он предупреждает вас и не создает артефактов.

Обычным рабочим процессом будет сохранение isSnapshot := true во время разработки, а затем, когда вы завершите все свои коммиты и будете готовы к выпуску, добавьте коммит, чтобы установить isSnapshot := false (возможно, вместе сизменение версии), упакуйте и отметьте релиз, а затем сразу добавьте параметр фиксации isSnapshot := true.

...