ja/Projects/wija

概要

wija は Java 2 Standard Edition により記述されています。 Java 2 Standard Edition による開発には JDK (Java Developers Kit) が必要です。

Nightly build (夜ごとのビルド)

wija-devel(-en) のメンバは、 Perforce によるレビューメッセージを受け取ることで、 更新があったときに最新のソフトウェアやドキュメンテーションを試用できます。

しかし、Perforce で取得できるのはソースコードですので (ヘルプページも「オムニドキュメント」という形式で書かれたソースコードが バージョン管理の対象となります)、実際に試用するためには、 開発ツールを用いてビルドする必要があります。

開発ツールを用いない方でも、更新があったときにそれを試せるように、 内部リリースを行います。

この内部リリースは、更新があった翌日の、日本時間の明け方に行われます。 (将来的には自動化する予定ですが、当面、手作業で行いますので、実施時間にブレが生じます。)

開発ツール

Perforce の導入と設定

ダウンロードとインストール

Perforce で用いる環境変数

環境変数名意味設定する内容
P4CLIENTクライアント名ユーザが用いるワークスペースを識別するのに用いられます。
P4EDITORエディタユーザが普段用いているエディタプログラム
P4PASSWDパスワードお知らせしたパスワード
P4PORTサーバ名:ポートperforce.media-art-online.org:1666
P4USERユーザ名お知らせしたユーザ名

主な Perforce コマンド

コマンド名機能
p4 addファイルの追加
p4 clientクライアントの作成・編集・削除
p4 clientsクライアントの一覧表示
p4 deleteファイルの削除
p4 editファイルを編集のためにオープン
p4 resolve編集内容の衝突の解決
p4 revert提出前の変更の取り消し
p4 submit追加・編集・削除内容の depot への提出
p4 syncdepot からファイルを取得してワークスペースを更新
p4 userユーザの作成・編集・削除
p4 usersユーザの一覧表示

MAO WSCM Depot の構成

パス意味
//depot/wcm/...Media Art Online Web サイト (wija ヘルプページを含む)
//depot/scm/...Media Art Online ソフトウェア (wija を含む)
//depot/docs/...Media Art Online パブリケーション (論文、発表資料等)

wija-devel(-en) メーリングリストのメンバは、//depot/wcm/... と //depot/scm/... の内容をレビューする (変更が加えられた時に通知を受け取る) ように設定されています (設定はご自分で変更可能です)。 wija-devel(-en) メーリングリストのメンバのうち、村井研究室のメンバは、 更に //depot/docs/... の内容をレビューするように設定されています。

ソフトウェア開発のためのディレクトリ構成

+-java----+ ↓java ディレクトリ以下は p4 sync で自動的に作成されます。
|         |
|         +-org-+
|               |
|               +-media-art-online-+
|                                  |
|                                  +-encoding (符号化ライブラリ)
|                                  |
|                                  +-gnupg    (GnuPG ライブラリ)
|                                  |
|                                  +-helpgen  (ヘルプページ作成ツール)
|                                  |
|                                  +-iwat     (i-WAT プラグイン)
|                                  |
|                                  +-iwatsrv  (i-WAT ロボットプラグイン)
|                                  |
|                                  +-jabber   (Jabber/XMPP ライブラリ)
|                                  |                                    
|                                  +-omelets  (OMELETS (LETS) ライブラリ)
|                                  |
|                                  +-plugin   (プラグインライブラリ)
|                                  |
|                                  +-qtx      (Cutie X プラグイン)
|                                  |
|                                  +-spotlite (SpotLite プラグイン)
|                                  |
|                                  +-tunes    (Tunes プラグイン)
|                                  |
|                                  +-whp      (WIDE Hours プラグイン)
|                                  |
|                                  +-whpsrv   (WIDE Hours ロボットプラグイン)
|                                  |
|                                  +-wija     (wija ライブラリ)
|                                  |
|                                  +-wija_    (wija 主プログラム)
|                                  |
|                                  +-wijabot  (wija ロボット主プログラム)
|                                  |
|                                  +-xml      (XML ライブラリ)
|
|
+-javadoc (ドキュメントディレクトリ; ant doc で自動的に作成されます)
|
+-javaout (出力ディレクトリ; ビルドする前に作成しておく必要があります)

ドキュメント開発のためのディレクトリ構成

+-gnupg--+
|        |
|        +-help            (GnuPG ヘルプページ)
|
+-iwat---+                 (i-WAT 主ページ)
|        |
|        +-help            (i-WAT ヘルプページ)
|
+-java---+
|        |
|        +-help            (Java ヘルプページ)
|
+-png                      (画像ファイル)
|
+-png-en                   (画像ファイル - 英語版用)
|
+-wija---+                 (wija 主ページ)
         |
         +-help            (wija ヘルプページ)
         |
         +-download-+      (wija ダウンロードページ)
                    |
                    +-0.07 (version 0.07 リリースファイル)
                    |
                    :

パブリケーションのためのディレクトリ構成

+-tex-+     (論文/発表資料の LaTeX2εソースファイル)
      |
      +-eps (論文/発表資料に挿入する図版)

Perforce チュートリアル

ユーザの設定

$ p4 user ユーザ名
Password:    ****** ←書き換えます
Reviews:
    //depot/wcm/... ←ドキュメントの更新のレビューメッセージを受け取ることを示します
    //depot/scm/... ←ソフトウェアの更新のレビューメッセージを受け取ることを示します

クライアントの作成

$ p4 client クライアント名
Root: 基点となるディレクトリ名 (例: /Users/alice/Programs)
View:
    //depot/scm/main/java/org/... //クライアント名/java/org/...
View:
    //depot/wcm/main/gnupg/...          //クライアント名/gnupg/...
    //depot/wcm/main/iwat/...           //クライアント名/iwat/...
    //depot/wcm/main/java/...           //クライアント名/java/...
    //depot/wcm/main/png/...            //クライアント名/png/...
    //depot/wcm/main/png-en/...         //クライアント名/png-en/...
    //depot/wcm/main/wide_hour/help/... //クライアント名/wide_hour/help/...
    //depot/wcm/main/wija/...           //クライアント名/wija/...

ワークスペースの構築と更新

$ p4 -c クライアント名 sync

ビルド

$ cd Programs/java/org/media_art_online/wija_
$ ant package
$ cd ../iwat
$ ant package

レビューメッセージを受け取ったら…

$ p4 -c クライアント名 sync

ファイルの追加

$ p4 -c クライアント名 add -t ファイルタイプ ファイル名...
ファイルタイプ意味
text+kテキストファイル (キーワード変換あり)
binaryバイナリファイル

ファイルの編集

$ p4 -c クライアント名 edit ファイル名...

変更内容の depot への提出

$ p4 -c クライアント名 submit

Description を記述します (なるべく英語を用いてください)。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS