我有一个库,它使用工件名称中的点,比如"org.scala-refactoring.library"。具有项目名称定义,如:
name := "org.scala-refactoring.library"这将在使用publish-local时转换为连字符,因此它成为"org-scala-refactoring-library“。
如何将这些点保留在已出版的艺术品中?
这似乎是在出版而不是包装中发生的事情。例如,以下内容没有任何效果:
artifactName := { (sv, module, artifact) =>
s"${name.value}_${sv.binary}-${module.revision}.${artifact.extension}"
}它确实是包装成
target/scala-2.11.0-RC1/org.scala-refactoring.library_2.11.0-RC1-0.6.2-SNAPSHOT.jar但它仍然发布到
~/.ivy2/local/org.scala-refactoring/org-scala-refactoring-library_2.11.0-RC1/0.6.2-SNAPSHOT发布于 2014-05-10 15:17:10
您可以通过显式定义moduleName来覆盖行为,例如:
moduleName := name.value发布于 2014-05-01 15:29:43
这似乎是常春藤的行为。您可以指定用于发布的自定义常春藤模式。
如果你读到常春藤模式:http://ant.apache.org/ivy/history/latest-milestone/concept.html,你可以看到有一个[originalname]选项,可以在这里做你想做的事情。我的猜测是,[artifact] ( sbt现在使用的东西)可能正在转义。
https://stackoverflow.com/questions/22147116
复制相似问题