簡體   English   中英

跨項目重用 Scalafmt 配置文件

[英]Reuse Scalafmt Config File Across Projects

我有一組 Scala 項目,對於所有這些項目,我想介紹一些 scala 源代碼格式,我正在使用 scamafmt sbt 插件。 我已經編譯了配置文件,這個配置文件在一個單獨的項目倉庫中。 我現在想在所有其他 Scala 項目中重復使用它。 我看到兩種可能性:

  1. 在我要運行 scala 格式化程序的所有其他 10 個項目中,使用 conf 文件所在的 repo 作為 git 子模塊

  2. 什么都不做,只添加一個 README 文檔,每個在代碼庫上工作的用戶都應該將 scalafmt conf 文件下載到項目中(我會預先向所有項目添加 a.gitignore 以忽略本地 conf 文件)

還有其他方法嗎? 如果我在所有項目中保持原樣,我絕對不希望 conf 文件出現分歧。

根據文檔,一種選擇是使用您的配置構建(並在您的組織中發布)一個 SBT 插件:

https://scalameta.org/scalafmt/docs/installation.html#share-configuration-between-builds

要在不同的 sbt 構建之間共享配置,請創建自定義 sbt 插件,在構建重新加載時生成 .scalafmt-common.conf,然后包含生成的文件 from.scalafmt.conf

 // project/MyScalafmtPlugin.scala import sbt._ object MyScalafmtPlugin extends AutoPlugin { override def trigger = allRequirements override def requires = plugins.JvmPlugin override def buildSettings: Seq[Def.Setting[_]] = { SettingKey[Unit]("scalafmtGenerateConfig"):= IO.write( // writes to file once when build is loaded file(".scalafmt-common.conf"), "maxColumn = 100".stripMargin.getBytes("UTF-8") ) } }
 //.scalafmt.conf include ".scalafmt-common.conf"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM