SBT: Как включить файлы sbt из верхнего каталога в мой build.sbt? - PullRequest
0 голосов
/ 01 июля 2019

У меня много зависимых проектов sbt в одной папке.Все они имеют одинаковые значения в Build.sbt, например, зависимости.

Я хочу переместить одинаковые значения из всех файлов sbt в отдельный файл.Но не хочу использовать multibuild.Просто нужно включить некоторые другие файлы sbt из верхнего каталога.

Например, моя структура каталогов может выглядеть так:

MyRepository
  |- Dependencies.sbt
  |- MyProject1
      |- src
      |- Build.sbt
  |- MyProject2
      |- src
      |- Build.sbt

В этом примере, как я могу включить Dependencies.sbt в Build.sbt

1 Ответ

0 голосов
/ 01 июля 2019

Код повторно используется между файлами .sbt путем создания нормального файла .scala в проекте /.Код в проекте / будет доступен для использования в файлах .sbt.

Если я правильно помню, определения в одном .sbt не видны другим файлам .sbt, по крайней мере, в более старых версиях.

В основном решение заключается в использовании: Dependencies.scala ине Dependencies.sbt и определите общую часть там.

Проверьте иллюстрацию, которую можно найти здесь ,

Вы создаете проект / Dependencies.scala для отслеживания зависимостей водно место.

    import sbt._

    object Dependencies {
      // Versions
      lazy val akkaVersion = "2.3.8"

      // Libraries
      val akkaActor = "com.typesafe.akka" %% "akka-actor" % akkaVersion
      val akkaCluster = "com.typesafe.akka" %% "akka-cluster" % akkaVersion
      val specs2core = "org.specs2" %% "specs2-core" % "2.4.17"

      // Projects
      val backendDeps =
        Seq(akkaActor, specs2core % Test)
    }

Объект Dependencies будет доступен в build.sbt.Вам нужно, import Dependencies._ в вашем файле build.sbt.

    import Dependencies._

    ThisBuild / organization := "com.example"
    ThisBuild / version      := "0.1.0-SNAPSHOT"
    ThisBuild / scalaVersion := "2.12.8"

    lazy val backend = (project in file("backend"))
      .settings(
        name := "backend",
        libraryDependencies ++= backendDeps
      )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...