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. netapp

    Enjoy extremely fast cloning with NetApp VAAI-NAS

    まとめVirtual Storage Console をインスト…

  2. nicolas vibert

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

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

  3. storage

    ESXi における 512e ディスク フォーマットの認識方法

    ESXi でのディスク フォーマットの確認方法ESXi で物理ブロ…

  4. vcenter

    vMotion の歴史 (2) – VirtualCenter 1.0 ~ 2.5

    前回のエントリでは vMotion の歴史を機能を元に振り返りました。…

  5. nicolas vibert

    災害対策

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

  6. Tong-Sai@Naka Island, Thailand

    powercli

    vSphere PowerCLI のビルド番号やバージョンを確認する

    現在の PowerCLI のバージョンを確認するコマンドレット。P…

コメント

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

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










  1. vmware

    PowerPoint for Mac の無限 AutoRecovery を止める…
  2. haswell

    SUPERMICRO & SOFTBANK TECHNOLOGY の H…
  3. storage

    ESXi における 512e ディスク フォーマットの認識方法
  4. powershell

    PowerShell -Split 演算子で “.” (…
  5. vmware

    L1TF 情報 – VMware
PAGE TOP
Translate »