Get source and compile/ja

From Second Life Wiki
< Get source and compile
Revision as of 10:12, 1 May 2015 by Oz Linden (talk | contribs) (Text replacement - "hg.secondlife.com" to "bitbucket.org/lindenlab")
Jump to navigation Jump to search

この情報は、ビューアのソースコードを使って何かしたい人に向けて書かれたものです。

Snowstorm プロジェクト

こちらにあるのが、最新のビューアのソースコードとなります。 ビューアのソースコードは、オープンソースのリポジトリサイト、bitbucket の Mercurial (hg) リポジトリにあります。そこにはたくさんのバージョンがありますが、多くの人が関心があるのは、おそらく以下のバージョンでしょう。

普通の Web ブラウザでソースコードをブラウズすることもできますし、パソコンにダウンロードすることもできますし、Mercurial を使って好きなように操作することもできます。

Viewer-Development ブランチの面白い特徴の一つに、Linden の担当者がバグフィックスや新しい機能を目の前で追加していくのを文字通り観察できる、というのがあります。

それ以外にソースコードをブラウズするやり方として、Doxygen を使う方法があります。この方法では、UML ダイアグラムも参照することができます。

必ず Creating a version control repository をご一読ください。

バージョン管理

ビューアの開発には Mercurial (hg) 分散バージョン管理システムを利用しています。現在のリリースのリポジトリをクローンするには、以下のコマンドを使ってください。

hg clone http://bitbucket.org/lindenlab/viewer-release

Linden Lab Mercurial Tools もインストールすることを強くお奨めします。

(上記の手順で取得した)最初のクローンに自分の変更を加えるという、ソース管理のワークフローの概要を逐一説明したものは、Steps To Submit a Change にあります。

コンパイル

プラットフォームごとのコンパイル手順が、以下のページに記載されています。

補足

Autobuild

Autobuild は、ビューアからサードパーティーのライブラリまで、あらゆるものを管理/ビルドする Linden Lab の新しいフレームワークです。

手順の説明:

実行する際のヒント

チャネルとバージョンについて

チャネルというものは、単にバージョンをグループ化したものです。Linden Lab ではチャネルを使い、 Project、Beta、Release Vewers のそれぞれに対してアップデートの追跡/提供を行っています。

自分でコンパイルしたビューアを起動したときに強制アップデートを伝えるメッセージが出ても、あわてる必要はありません。自分が作ったものは全く消えません。(通常は)新しいソースリリースに対して変更を適用しなくても、自分のソースコードをテストできます。ここで、チャネルの出番です。

ログインするときに、チャネル名とバージョンの組み合わせが、リストと照合されます。チャネルごとに、特定のバージョンのログインが許可されたり、ブロックされたりします。ブロックされるビューアは、危険なビューア (セキュリティ問題があるもの)、非互換なビューア (プロトコルが著しく変更されたもの)、サポートが打ち切られたビューア (古すぎてサポートの提供が割に合わないとリンデン社が判断したもの)、(ここで最も関係あるものとして)テストチャネルにあるビューア(Release Candidate, First Look) です。Linden Lab は、最新バージョンのビューアで生成されるデータだけをテストしたいと考えています。

Setting a Channel and Version for an Open Source Viewer に、ソースコードでこれを行う方法が説明されています。

Channel and Version Requirements に、Linden Lab が Second Life でチャネルとバージョンを扱う際の公式なポリシーが詳細に説明されています。

The Third Party Viewer Policy で、全てのビューアには一意のチャネル名を付けなければならない旨が規定されています。詳細は こちらを参照してください。