0

sbt-releaseプラグインを Play フレームワークと組み合わせたい。

プラグインは、現在のバージョン番号をファイルから読み取りますversion.sbt。その内容は

version in ThisBuild := "0.41.0-SNAPSHOT"

この設定をメインのビルド ファイルで使用したいのですが、変数versionの型がsbt.SettingKey.

メソッドはありますが、evaluate私の人生では、で定義した文字列を取得するために何を渡すかわかりませんversion.sbt

4

2 に答える 2

2

受け入れられた回答の解決策を試しましたが、コンパイルされませんでした。(プレイ 2.1.5)

[error]   (ss: sbt.Project.Setting[_]*)sbt.Project <and>
[error]   => Seq[sbt.Project.Setting[_]]
[error]  cannot be applied to (Seq[sbt.ModuleID])
[error]   val main = play.Project(appName).settings(appDependencies).settings(releaseSettings).settings(
[error]                                    ^
[error] one error found

代わりに、私はこの解決策を思いつきました:

    ...
    lazy val appSettings = Defaults.defaultSettings ++ ... ++ releaseSettings

    val main = play.Project(appName, dependencies = appDependencies, settings = appSettings).settings(
      version <<= version in ThisBuild,
      ...
    )
于 2013-10-02T08:07:51.607 に答える
0

play.Projectこれは、設定キーからのものではなく、静的なバージョン番号を除いて、コンストラクターには少し欠点があります。

ただし、必要なパラメーターはアプリケーション名だけなので、次のように切り替えることができます。

val main = play.Project(appName, appVersion, appDependencies, settings = 
  Defaults.defaultSettings ++ releaseSettings ).settings(...)

val main = play.Project(appName).settings(appDependencies).
  settings(releaseSettings).settings(...)

通常、 で定義されているバージョンは、version.sbtここで自動的に取得されます。そうでない場合は、いつでも上記に追加できます。

.settings(applicationVersion <<= version in ThisBuild)
于 2013-08-08T12:22:25.097 に答える