ScalaのソースをEclipseでビルドしてみた

5,439 views
5,207 views

Published on

Published in: Education
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,439
On SlideShare
0
From Embeds
0
Number of Embeds
46
Actions
Shares
0
Downloads
11
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

ScalaのソースをEclipseでビルドしてみた

  1. 1. EclipseでScalaのソースをビルドしてみた<br />@kmizu<br />
  2. 2. EclipseのScalaプラグイン<br />
  3. 3. 結構長い間、「要らない子」扱いされてた<br />
  4. 4. 理由は色々ある<br />
  5. 5. 一番大きなのは開発リソースが十分でなかったこと<br />
  6. 6. 一番大きなのは開発リソースが十分でなかったこと<br />
  7. 7. 大事なことなので二度言いました<br />
  8. 8. そもそも、ScalaのEclipseプラグインは<br />Scalaチーム(公式)とは別に開発・メンテされてた<br />
  9. 9. で、結構長い間、「要らない子」扱いされてた<br />
  10. 10. Scalaチームが、Scala普及のために会社設立<br />
  11. 11. (Javaユーザへの)普及のためにはIDE重要<br />⇒本家Scalaチームに開発が移管<br />
  12. 12. それから凄い速度で進化<br />頻繁にリリース<br />
  13. 13. 最近のリリース<br />2011/07/21: Scala IDE for Eclipse 2.0 beta 9<br /> 2011/07/12: Scala IDE for Eclipse 2.0 beta 8<br /> 2011/06/30: Scala IDE for Eclipse 2.0 beta 7<br /> 2011/06/29: Scala IDE for Eclipse 2.0 beta 6<br /> 2011/06/02: Scala IDE for Eclipse 2.0 beta 5<br /> 2011/05/13: Scala IDE for Eclipse 2.0 beta 4<br /> 2011/05/06: Scala IDE for Eclipse 2.0 beta 3<br /> ...凄く早いです<br />...リリースのたびにどんどん改善されてます<br />...もう「要らない子」じゃありません<br />
  14. 14. Odersky先生曰く「I personally switched to the Eclipse plugin after 20 years of emacs. Certainly before then, I tried the plugin; but for the complex projects I do, it didn't live up to what I needed. Now, I would now never go back to emacs. 」<br />Interview with Scala's Martin Odersky<br />http://drdobbs.com/architecture-and-design/231001802?pgno=2<br />から引用<br />
  15. 15. Odersky先生曰く「私は20年間emacsを使ってきましたが、Eclipseプラグインに乗り換えました。実は以前にEclipseプラグインを試したことがありましたが、複雑なプロジェクトではうまく行きませんでした。今では、もうemacsに戻るなんて考えられません」。<br />Interview with Scala's Martin Odersky<br />http://drdobbs.com/architecture-and-design/231001802?pgno=2<br />から引用したものを(かなり)意訳<br />
  16. 16. 実際、Scalaの公式リポジトリには<br />Eclipseのプロジェクト設定ファイルが既にある<br />
  17. 17. 実際にEclipseでビルドできるのでは?<br />
  18. 18. ようやく本題<br />
  19. 19. 必要なもの:<br />Eclipse 3.7(Indigo) Classic<br />Eclipse EGitプラグイン<br />Scala IDE for Eclipse 最新版<br />
  20. 20. 注意事項:<br />Scala IDE for Eclipseはかなりリソース食い<br />速いマシンがお勧め<br />メモリもたくさん積んでおいた方がいい<br />
  21. 21. eclipse.iniの設定書き換え:<br />-startup<br />plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar<br />--launcher.library<br />plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502<br />-showsplash<br />org.eclipse.platform<br />--launcher.XXMaxPermSize<br />256m<br />--launcher.defaultAction<br />openFile<br />-vmargs<br />-Xms768m<br />-Xmx1024m<br />-Xmx1024mが推奨の最低サイズ<br />XXMaxPermSizeも多めに取っておいた方がいいかも<br />
  22. 22. というわけで、ソースを取ってきましょう<br />
  23. 23. 公式リポジトリはsvn<br />http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk<br />
  24. 24. ミラーリポジトリがgithubにある<br />サイト:https://github.com/scala/scala<br />リポジトリ:git://github.com/scala/scala.git<br />
  25. 25. githubの方使った方が色々便利<br />
  26. 26.
  27. 27.
  28. 28.
  29. 29. 全部選択したままにしとく<br />
  30. 30. そのままFinishでOK<br />この辺は人それぞれお好みで<br />
  31. 31. しばらく待ちます(10分くらいかかります)…<br />
  32. 32.
  33. 33.
  34. 34.
  35. 35. これで終了したかと思いきや…<br />
  36. 36. 要はscala-library.jarへのクラスパスが通ってないと言ってる<br />指示通りに、「Yes」をクリックしてしばし待つ<br />
  37. 37. なんかコンパイルエラーが残ってる…というかソースフォルダの指定がおかしいような…<br />
  38. 38. なんかコンパイルエラーが残ってる…というかソースフォルダの指定がおかしいような…<br />
  39. 39. 追加してみた<br />
  40. 40. scalaのコンパイラ/標準ライブラリ部分のエラーは消えた<br />調べてみると、テスト部分のエラーはEclipseのせいじゃない<br />
  41. 41. scalaのコンパイラ/標準ライブラリ部分のエラーは消えた<br />調べてみると、テスト部分のエラーはEclipseのせいじゃない<br />
  42. 42. 依存ライブラリ(jline.jar等)をビルドパスに追加してみたりとか<br />色々<br />
  43. 43. 結果<br />
  44. 44. 実行できるバイナリ(.class)ファイルは生成できた<br />でも、REPLを実行してみようとするとこける<br />
  45. 45. 雑感<br />巨大なscalaのソースをビルドできるくらいにプラグインが成長しているのは素晴らしい<br />・フルビルドでも、数分程度<br />リポジトリから取って来たプロジェクト設定ファイルだけだとビルドエラーが多発するのは×<br /> ・コミットログ見る限り、.classpathファイル周りの設定が十分整備されてない模様<br />一通り環境を整えれば、EclipseをScalaコンパイラ/ライブラリのソースビューアとして使うのはアリ<br />
  46. 46. 注意点<br />test系のディレクトリは<br />ソースフォルダに含めないようにする<br />依存ライブラリ(libディレクトリ以下のjar)は一通りビルドパスに突っ込んでおいた方が良さそう<br />まだ Scala IDE for Eclipseはbetaなので<br />人柱になるくらいの覚悟で<br />

×