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

    VMware 製品のうるう秒 (2016 年 12 月 31 日 23時 59 分 60 秒) 対応…

    毎回ジラされるのですが ようやく 2016 Dec 版のうるう秒対応の…

  2. powercli

    Onyx for the Web Client

    Flings と OnyxVMware R&D で開発され…

  3. devbox

    Insight into VMware Photon Controller – devbox 03 …

    はじめに Insight of ~ ではなく Insight …

  4. vcenter

    vMotion の歴史 (1) – 概要

    vmworld 2015 US の中でも感慨深いセッションがあったので…

  5. vmware

    VMware から提供されるサービス

    はじめにVMware Cloud on AWS は、AWS のデー…

コメント

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

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










  1. vsphere client

    vSphere Client (C#) 5.5 update 2 へのアップグレ…
  2. intellij

    IntelliJ IDEA 15.0.1 (Build-IU 143.382) …
  3. powercli

    VMware PowerCLI 6.5.1 のアンインストール
  4. VMConAWS

    VMware Cloud on AWS 概要
  5. vmotion

    vMotion の歴史 (5) – vCenter Server 5…
PAGE TOP
Translate »