Tong-Sai@Naka Island, Thailand

intellij

Photon Controller のコードを Intellij IDEA で開く

昨日 Photon Controller が公開されましたが、Java、Python、Ruby など様々な言語を使っている上にモジュールも多数あるため、ソースコードを閲覧するにも統合開発環境の方が閲覧が楽になります。開発チームも Intellij IDEA を使っているので、読む側も、是非 Intellij IDEA で見ましょう。

なお、Java は Root Scheduler、API FrontEnd、HouseKeeper、CloudStore、Chairman、Deployer といった Photon OS 上のコンテナの中で動作するモジュールで利用され、Intermidiate Scheduler、Leaf Scheduler、Agent といった ESXi で動作するモジュールは Python で記述されています。これらのモジュール間の RPC は Apache Thrift で定義され、さらにモジュール間の協調動作は Apache Zookeeper が使われています。

Ruby は CLI 向けに使われていますが、Getting Started では Go で実装された CLI が提供されていたり…。Go にしようだぜ、Go に。

Intellij IDEA

JetBrains s.r.o. というチェコにある会社が開発している統合開発環境。Java の開発環境としては Eclipse、NetBeans、Intellij IDEA が現在のメジャーどころらしい。Community Edition と Ultimate Edition があり、Community は無償で利用できますが Ultimate は有償となります。ライセンスなど詳しいことは、日本の代理店である サムライズム をご参照くださいませ。

コマンド

$ brew install thrift
$ brew install gradle
$ mkdir ${SOMEWHERE}
$ cd ${SOMEWHERE}
$ git clone https://github.com/vmware/photon-controller.git
$ cd photon-controller
$ cd java
$ gradle idea
$ gradle assemble
$ open java.ipr

gradle idea で Intellij IDEA のプロジェクトファイルを作成します。これだけでは thrift ファイルから生成される Java のコードがないため gradle assemble で Thrift 周りの Java コードを生成させます。

open した後は、Intellij IDEA 上で chairman/build/generated-sources/main を “右クリック” > “Mark Directory as” > “Sources Root” としておくと import の依存関係が解決できて良い感じにソースコードを読むことが出来ます。

thrift/ の .thrift ファイルの Service と、java/api-frontend/src/main/java/com/vmware/photon/controller/apife/resources/.java あたりから読むと捗るかも…。

正直 Dropwizard も Thrift も Photon Controller ではじめて漁るので非常につらい…Orz

まとめ

  • VIVA Intellij IDEA !!
  • thrift と gradle は事前にインストールしておく
  • gradle idea, gradle assemble
  • open java.ipr

関連記事

  1. vmware

    PowerPoint for Mac の無限 AutoRecovery を止める

    まとめPowerPoint for Mac (16.17 (…

  2. vmware

    NSX L2 VPN

    この記事は Nicolas Vibert 氏のブログ NSX L2 …

  3. fusion

    IME 切替 on MacBook Pro + VMware Fusion + Windows Gu…

    まとめVMware Fusion のゲスト OS としてインスト…

  4. nicolas vibert

    ゲートウェイ ファイアウォール

    この記事は Nicolas Vibert 氏のブログ Edge Fi…

  5. console

    VMware Remote Console 9.0 was just released

    VMware Remote Console (VMRC) 9.0 が …

  6. nicolas vibert

    インターネット アクセスと設計の Deep Dive

    この記事は Nicolas Vibert 氏のブログ Interne…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。










  1. powercli

    オフラインで VMware PowerCLI 6.5.1 をインストールする
  2. vcenter

    vMotion の歴史 (2) – VirtualCenter 1.…
  3. angularjs

    VMwware Host Client と Chrome 57 の組み合わせでロ…
  4. vcenter

    vMotion の歴史 (1) – 概要
  5. ipmi

    Memorandum: Virtual Media Wizard not wor…
PAGE TOP
Translate »