scala – SBT常用构建设置
发布时间:2020-12-16 08:53:56 所属栏目:安全 来源:网络整理
导读:我有多个SBT项目都有一个共同的设置 – 例如多模块,发布设置等 我如何提供例如每个项目都可以从中扩展的CommonBuild类?例如: trait CommonBuild { val publishSettings = Seq( publishTo := Some("",""),credentials += ... ) def module(name: String) (
我有多个SBT项目都有一个共同的设置 – 例如多模块,发布设置等
我如何提供例如每个项目都可以从中扩展的CommonBuild类?例如: trait CommonBuild { val publishSettings = Seq( publishTo := Some("",""),credentials += ... ) def module(name: String) ( settings: Seq[Setting[_]],projectId: String = PROJECT + "-" + name,dirName: String = name,srcPath: String = PROJECT + name ) = Project(projectId,file(dirName),settings = (buildSettings ++ srcPathSetting(projectId,srcPath)) ++ publishSettings ++ settings) } 现在它可以被项目构建使用: object ProjABuild extends CommonBuild { // use CommonBuild methods / vals } object ProjBBuild extends CommonBuild { // use CommonBuild methods / vals } 解决方法
我也想这样做.重要的是,通用设置需要存在于子项目所依赖的项目中,以便对公共设置所做的更改自动在所有子项目中生效.实现此目的的唯一方法是将常用内容放入SBT插件中.
我写了一个名为iesl-sbt-base的插件.它提供了一堆样板文件,因此项目的Build.scala文件可以简单地缩短.它提供: >解析器配置 有关详细信息,请参阅https://github.com/iesl/iesl-sbt-base.您可能希望分叉以更改特定于我的设置的内容(例如,特别是解析程序URL).如果有需求,我可以考虑如何使其更具可配置性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |