0

多くのモジュール、別名 sbt サブプロジェクトを含む非常に重いプロジェクトがあり、それぞれに大きな会社名のプレフィックスが付いています。コマンド タスク キーを見つけprojectてオーバーライドしようとしましたが、成功しませんでした。これを行う方法はありますか?

4

1 に答える 1

0

最善の方法は、独自の Scala ファイルを使用して、def プロジェクトを定義する専用のオブジェクトを作成することです。

そうすれば、次のようなものを持つことができます:

[your company].scala:

object <your company> {
  def Project(name: String = "", path: sbt.File, dependencies: Seq[ModuleID] = Seq.empty, isCompanyProject: Boolean = true) = {
    val settings = ...
    val projectName = if (companyProject) {
      ... // [your company / your project / whatever] + "-" + name
    } else name

    val project = sbt.Project(projectName, path, settings = ...)

    project
  }
}

ApplicationBuild.scalaファイルと同じフォルダーに:

object ApplicationBuild extends Build {
  ...
  lazy val foo = <your company>.Project("foo", sbt.file("foo"), fooDependencies)
}

そうすれば、会社のプレフィックスで[your company]呼び出すタスクを作成できます。project

于 2013-08-05T15:13:25.643 に答える