加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 将特定目录及其内容添加到Universal目标

发布时间:2020-12-16 19:22:20 所属栏目:安全 来源:网络整理
导读:我正在从maven切换到sbt我正在研究的S??cala项目.我曾经使用maven程序集插件,您可以将工作空间中的任何目录映射到程序集中的目标目录.我在sbt-native-package中找不到任何等价物,值得为Universe类提供此功能. 我知道通用子目录中存在的所有东西都被复制到包
我正在从maven切换到sbt我正在研究的S??cala项目.我曾经使用maven程序集插件,您可以将工作空间中的任何目录映射到程序集中的目标目录.我在sbt-native-package中找不到任何等价物,值得为Universe类提供此功能.

我知道通用子目录中存在的所有东西都被复制到包中,它就像一个魅力,但我缺少类似下面的代码片段.

mappings in Universal += {
  directory("my/local/dir") -> "static/dirInPackage"
}

我想知道是否已经有办法做到这一点,在这种情况下,我很乐意知道如何做到这一点,如果你愿意,我建议我帮助提交该部分的文档.
如果没有办法进行这种定制,我很乐意在讨论规范后提出补丁.

顺便说一句,干得好,你的打包机工作得非常好,谢谢!

解决方法

在与sbt-native-manager团队讨论并首次“拒绝”拉取请求之后,这里是在build.sbt文件中执行此目录映射的方法(请参阅提供模式详细文档的pull request https://github.com/sbt/sbt-native-packager/pull/160):

mappings in Universal <++= (packageBin in Compile,target ) map { (_,target) =>
    val dir = target / "scala-2.10" / "api"
    (dir.***) pair relativeTo(dir.getParentFile)
}

为了减少上述代码片段的详细程度,有一个问题(https://github.com/sbt/sbt-native-packager/issues/161)提出了一种更易读的方式来表达这个目录映射:

mappings in Universal ++= allFilesRelativeTo(file(target / "scala-2.10" / "api"))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读