使用sbt native packager的特定于环境的发行版

 卢培伟 发布于 2023-02-11 12:44

我正在尝试使用Play(2.2)中提供的sbt本机打包器功能创建/配置环境特定的发行版(用于开发,质量和生产).我尝试使用build.sbt文件中的以下设置来实现此目的:

val dev  = config("dev")  extend(Universal)
val qual = config("qual") extend(Universal)
val prod = config("prod") extend(Universal)


def distSettings: Seq[Setting[_]] =
  inConfig(dev)(Seq(
    mappings in Universal <+= (resourceDirectory in Compile) map { dir =>
     println("dev")
     (dir / "start.bat.dev") -> "bin/start.bat"
     // additional mappings
   }
  )) ++
  inConfig(qual)(Seq(
    mappings in Universal <+= (resourceDirectory in Compile) map { dir =>
      println("qual")
      (dir / "start.bat.qual") -> "bin/start.bat"
      // additional mappings
    }
  )) ++
  inConfig(prod)(Seq(
    mappings in Universal <+= (resourceDirectory in Compile) map { dir =>
      println("prod")
      (dir / "start.bat.prod") -> "bin/start.bat"
      // additional mappings
    }
  ))


play.Project.playScalaSettings ++ distSettings

在SBT控制台中,当我输入"dev:dist"时,我期望只看到"dev"作为输出,相应地只看到要使用的相应映射.相反,看起来所有配置中的所有映射都已合并.很可能我不明白配置如何在SBT中起作用.此外,可能有更好的方法可以实现我正在寻找的东西.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有