【发布时间】:2019-01-04 00:57:48
【问题描述】:
我有一个 build.sbt 文件,我在其中定义了一个仅限 java 的子项目。所以在那个子项目中,我设置了crossPaths := false,这样scala版本就不会包含在工件名称中。
就目前而言,它可以工作,但是,如果我调用 sbt +publish,它会为两个版本的 scala 运行发布任务,并且由于它忽略了工件名称中的 scala 版本,因此发布在第二个跨 Scala 版本,因为在第一个版本上生成了同名的工件。
我可以通过允许在发布时覆盖来绕过它,但这有点难看,因为它不必要地重新生成工件,并且覆盖可能由于其他原因不安全。
我正在寻找一种在逻辑上等同于 skip in publish := false 的方法,用于除第一个版本之外的所有 scala 版本,特别是在 java 子项目中,但不是 scala 子项目。
【问题讨论】: