2016-10-24 8 views
1

上記のsbtプラグインを使用して、私が作業しているアプリケーションのバージョンを取得しています。sbt-buildinfoで生成されたオブジェクトは参照できません

プロジェクトにはサブモジュールがあります。ここで予想されるように生成BuildInfo.scalatarget/scala-2.11/src_managed/main/sbt-buildinfo/BuildInfo.scala下にありbuild.sbt

... 

lazy val abandon = (project in file(".")). 
    aggregate(base, cli, gui). 
    dependsOn(base, cli, gui). 
    enablePlugins(BuildInfoPlugin). 
    settings(commonSettings: _*). 
    settings(
    name := "abandon", 
    fork in run := true, 
    buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion), 
    buildInfoPackage := "co.uproot.abandon" 
) 

lazy val base = (project in file("base")). 
    settings(commonSettings: _*). 
    settings(
    name := "abandon-base", 
    fork in run := true 
) 


lazy val cli = (project in file("cli")). 
    dependsOn(base). 
    settings(commonSettings: _*). 
    settings(
    name := "abandon-cli", 
    fork in run := true 
) 

lazy val gui = (project in file("gui")). 
    dependsOn(base). 
    settings(commonSettings: _*). 
    settings(
    name := "abandon-gui", 
    fork in run := true 
) 

主です。私はpackage co.uproot.abandon内のファイルに移動し、私はサブモジュールでの問題と、このプラグインhereについて読み、最終的にthis回避策が、それのdidn」を試してみました

Error:(256, 42) object BuildInfo is not a member of package co.uproot.abandon 
    co.uproot.abandon.BuildInfo.version 

取得BuildInfo.versionを参照しよう

package co.uproot.abandon 

import scala.Predef._ 

/** This object was generated by sbt-buildinfo. */ 
case object BuildInfo { 
    /** The value is "abandon". */ 
    val name: String = "abandon" 
    /** The value is "0.3.1". */ 
    val version: String = "0.3.1" 
    /** The value is "2.11.8". */ 
    val scalaVersion: String = "2.11.8" 
    /** The value is "0.13.12". */ 
    val sbtVersion: String = "0.13.12" 
    override val toString: String = { 
    "name: %s, version: %s, scalaVersion: %s, sbtVersion: %s" format (
     name, version, scalaVersion, sbtVersion 
    ) 
    } 
} 

助けてください。

ご協力いただければ幸いです!

+0

私は* very *同様の設定のプロジェクトを持っていますが、問題はありません。ここで設定したようにしたら、IntelliJの 'File'メニューで 'Invalidate Caches/Restart'を試しましたか? IntelliJ/SBT/Scalaのどのバージョンをお使いですか? –

+0

@ NathanielFord私はちょうどあなたの提案ごとにそれを助けませんでした。参照のために私は使用します: IntelliJ - ** 2016.2.5 ** SBT - ** 0.13.12 ** スカラ - ** 2.11.6 ** – zaxme

答えて

0

問題を解決しました。

ちょうどあなたがプロジェクト全体のためにとないそれを使用したいと思い特定のサブモジュールのためのプロジェクト構造にソースとしてtarget/scala-2.11/src_managed/main/sbt-buildinfo/BuildInfo.scalamain一部を設定してください。

それ以外は構文の強調表示が壊れているので、以前と同じように表示されます。つまり、コンパイルされていないときと同じです。それを避けるにはのリンクに従ってください。

+0

ああ!あなたが答えを見つけてうれしく思いました。あなたが参照していたプロジェクトを指定していれば、明らかでした(私はパッケージに基づいてルートを想定していました)。あなたは将来の人々のためにあなたの答えに働く設定を加えるべきです! –

関連する問題