gpt4 book ai didi

scala - scala-js 的无形端口 : create artifact with few external dependencies

转载 作者:行者123 更新时间:2023-12-03 02:41:51 24 4
gpt4 key购买 nike

scala-js 有一个 Shapeless 库的端口 ( https://github.com/alexander-myltsev/shapeless )。我需要正确发布工件,并减少对原始无形状的可能依赖。

现在我 fork 了 Miles Sabin 的存储库,并添加了生成 scala-js 库所需的更改:添加 scalajs-sbt-plugin、调整 build.scala、添加 bintray-sbt-plugin。

要求无形的维护者合并我的分支是错误的,因为 scala-js 可能会破坏他们的构建。

另一方面,我也希望对原始存储库有最小的依赖。理论上和理想情况下,我想要的是从头开始创建 shapeless-scalajs sbt-project。然后以某种方式引用原始的无形库。然后从 shapeless-build-scala 派生并进行所需的重写,以针对 scala-js 构建它并发布到我的 bintray。

我相信全能的 sbt :) 我有什么选择来解决这个任务?

最佳答案

我认为最简单的方法是(不涉及 sbt 黑客行为):

  1. fork 形状不定
  2. 创建 Scala.js 分支
  3. 根据需要更改构建文件。也就是说,像在 PR 中一样直接修改 shapelessCore 项目。 (添加 scalaJSSettings,您的存储库坐标)
  4. 提交
  5. 将 Shapeless 发布到您的 Maven 中心
  6. 当 Shapeless 的新版本出现时,只需将 shapeless/master 与您的 scala.js 分支合并即可。如果构建文件没有发生任何更改,这将很好地合并。
  7. 重新发布

这比依赖于外部项目(即 doable ,但不允许您直接重用设置等)的 sbt 项目要容易得多

关于scala - scala-js 的无形端口 : create artifact with few external dependencies,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24440346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com