9

sbtベースのプロジェクトのカスタム ディレクトリ レイアウトを指定するにはどうすればよいですか? オンライン資料を見てきましたがsbt、この情報を見つけるのに苦労しています...

ドキュメントで見つけたのは、デフォルトの場所でした:

  • ベース ディレクトリのソース
  • src/main/scalaとのソースsrc/main/java
  • src/test/scalaとでのテストsrc/test/java
  • src/main/resourcesおよびのデータ ファイルsrc/test/resources
  • 管理されていない jar ファイルlib/

ファイルでこれらを上書きするにはどうすればよいbuild.sbtですか?

現在、私のプロジェクト構造は次のとおりです。

  • ソース:[workspace]/sandbox-scala/src/sbt/myFirst/
  • ライブラリ:[workspace]/java-lib/common/lib/

どんな助けでも感謝します。

4

1 に答える 1

3

多くの sbt のデフォルトのディレクトリの場所を上書きできます。これは、sbt が「管理されていない」依存関係/jar ファイルを見つけることを期待するディレクトリをオーバーライドする例です:

unmanagedBase := baseDirectory.value / "custom-jars-directory"

(依存関係に関連するその他の例は sbt ドキュメントにあります。)

特定の「タスク」に固有のディレクトリを構成することもできます...たとえば、テストケースのソースコードがあるディレクトリを設定するには、次を試してください。

scalaSource in Test := { (baseDirectory in Test)(_ / "test") }.value

そして、コア アプリケーションのソース コードは別の場所にある可能性がありますsrc/

scalaSource in Compile := { (baseDirectory in Compile)(_ / "src") }.value

: の古いバージョンではsbt、次の (現在は非推奨になっている) 構文が必要になる場合があります。

unmanagedBase <<= baseDirectory { base => base / "custom-jars-directory" }
scalaSource in Compile <<= (baseDirectory in Compile)(_ / "src")

この構文は、の新しいバージョンでは機能しませんsbt(0.13.13 以降だと思います)。

于 2013-05-07T02:11:27.270 に答える