yan's Handicraft

作成したフリーソフトを公開
Home » PC/システム開発 » android » sbteclipse を android-plugin に適用して eclipse で編集する

sbteclipse を android-plugin に適用して eclipse で編集する

11月 11th, 2011 Posted in android, sbt, scala, 作業メモ

Windowsで実施する前提で書きます

先日紹介した

sbt0.11を使ってscala androidプロジェクトをデプロイする の scala android プロジェクトを eclipse で編集できるようにします。

sbteclipse を使って、 eclipse 設定ファイルを生成しますが、 『こうなってくれたら』とは少し設定が違ってしまうので、 sbteclipse 適用後に手動で直すことにします。

sbteclipse を適用する前に、作成した scala androidプロジェクトの “project\build.scala”

scalaVersion := "2.9.0.1", 

の部分を、自分が使いたい scala のバージョンにあわせておきましょう。 (あわせておかないとうまく動きません)

sbteclipse について説明されているサイト

https://github.com/typesafehub/sbteclipse

sbteclipse をプロジェクトに適用

  1. scala android のプロジェクトディレクトリを[PRJ_HOME]として、 [PRJ_HOME]/project/plugins/build.sbt を編集する 一番最後の行に以下を追加する。(1行毎に改行必要なことに注意)
    resolvers += Classpaths.typesafeResolver
    
    addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse" % "1.4.0")
  2. コマンドプロンプトで [PRJ_HOME] を開き、 “sbt”実行し、sbtコマンド待ちにする
  3. “eclipse create-src” を実行すると、eclipse 設定ファイルが生成されます。 (以下のようなエラーがコマンドプロンプトに表示されましたが、今は放置します。エラーの意味がわかりません)
    [error] a module is not authorized to depend on itself: [プロジェクト名]#[プロジェクト名]_2.9.1;0.1
    [error] {file:[プロジェクトのパス]}tests/*:update: java.lang.IllegalArgumentException: a module is not authorized to depend on i tself: [プロジェクト名]#[プロジェクト名]_2.9.1;0.1
    [error] Error running externalDependencyClasspath task for tests
  4. eclipse で[PRJ_HOME]を開く。New Project で Scala Project を選択し、「Use default location」のチェックをはずして、[PRJ_HOME]を開く。
  5. eclipseでプロジェクト Java Builde Path の Source タブで 以下を削除
    src\main\resources
    src\test\resources

    以下を追加

    src\main\res
  6. 以下のディレクトリは不要なので削除
    src/main/resources
  7. eclipseでプロジェクト Java Builde Path の Libraries タブで以下を追加
    target[scalaバージョン]\classes

    また、Order and Export タブで、”target[scalaバージョン]\classes”の優先潤を最下位(一番下)にする。 このフォルダをクラスパスに設定するのは、scala android プラグインが “R.class”や”TR.class”を自動的に生成してくれるから。 よって、リソースを変更した場合は、

    sbt android:package-debug

    を再実行して、eclipse のプロジェクトを最新化する必要がある。 res/layout/.xml のような定義も、型安全にアクセスできます。

    参考サイト sbt-android-pluginで型安全にリソース取得

Leave a Reply

*