[Seasar-user:12508] ResourceSynchronizer 0.0.1 リリース

taichi sato [E-MAIL ADDRESS DELETED]
2008年 1月 15日 (火) 15:52:11 JST


太一です。

eclipseと独立したプロセス内で作成されたマテリアルを、
eclipseワークスペースをリフレッシュする事で、
自動的にリソースをeclipseワークスペース内に認識させる為のeclipseプラグイン
ResourceSynchronizerをリリースします。


以下の Update サイトからインストールすることができます.
http://eclipse.seasar.org/updates/3.3/

現在のリリースでは、以下の実行環境でのみ、適切に動作します.
動作するJREは、1.5以上
eclipseは、3.3
です。

eclipseは、eclipse以外のプロセスが生成したマテリアルを、
例えそれが、ワークスペース内にあったとしても適切に検知する事が出来ず、
検知する為には、ワークスペース内をリフレッシュする必要があります。
例えば、antやmavenでリソースを生成する場合がこれにあたります。

ResourceSynchronizerでは、
外部のプロセスから、導入されているeclipseに対して、
HTTPリクエストを送信する事で、
自動的にワークスペース内をリフレッシュする事が出来ます。

具体的には、以下の機能を持ちます。

・ワークスペースのリフレッシュする。
http://localhost:8386/
http://localhost:8386/refresh

対応するHTTPリクエストメソッドは、「GET」及び「POST」です。

リクエストパラメータを含まないHTTPリクエストを送信するとワークスペース全体をリフレッシュします。
リクエストパラメータとして、

ワークスペース内における相対パス=深度

を付加してHTTPリクエストを送信すると、それに応じた範囲をリフレッシュします。
深度としては、
ZERO
 指定したパスのみリフレッシュ。対象のパスがファイルである場合のみ有効です。
ONE
 指定したパス及び、その下の一階層のみリフレッシュ。
INFINITE
 指定したパス及び、その下に含まれる全階層をリフレッシュ。

レスポンスとして、リフレッシュに成功したパスを改行区切りで返します。


例えば、ワークスペース内に、プロジェクトとして「exampleproject」があり、
そのプロジェクトに含まれる全てのリソースツリーをリフレッシュする場合には、

http://localhost:8386/refresh?exampleproject=INFINITE

となります。
同様に、「exampleproject」の「src」フォルダの下一階層のみ、
加えて、「test」フォルダの下にある「HogeTest.java」をリフレッシュする場合には、

http://localhost:8386/refresh?exampleproject/src=ONE&test/HogeTest.java=ZERO

となります。


・ワークスペース内に含まれるリソースの一覧取得する。
http://localhost:8386/list

リクエストパラメータを含まないHTTPリクエストを送信するとプロジェクト名の一覧を改行区切りで返します。
対応するHTTPリクエストメソッドは、「GET」及び「POST」です。

リクエストパラメータとして、

ワークスペース内における相対パス

を付加してHTTPリクエストを送信すると、そのパスがディレクトリである場合、それに含まれるパスの一覧を、改行区切りで返します。
その際、パラメータの値は特に評価しません。


例えば、ワークスペース内に、プロジェクトとして「exampleproject」がある場合、

http://localhost:8386/list?exampleproject

と送信すると、それに含まれるリソースのパスを以下の様に返します。

exampleproject/src/
exampleproject/test/
exampleproject/.project
exampleproject/.classpath
exampleproject/.metadata

複数のパスをリクエストパラメータとして送信すると、それぞれについて同様の処理を行い同時に一覧として返します。


・ワークスペース内に含まれるJavaプロジェクトのソースフォルダをOSの絶対パスで取得する。
http://localhost:8386/srcloc

対応するHTTPリクエストメソッドは、「GET」及び「POST」です。

リクエストパラメータとして、

ワークスペース内におけるJavaプロジェクトの相対パス(プロジェクト名)

を付加して、HTTPリクエストを送信すると、それに含まれるソースフォルダをOSの絶対パスで返します。
複数のパスが存在する場合、改行区切りとなります。

例えば、Windows上に存在するワークスペース内に、プロジェクトとして「exampleproject」がある場合、

http://localhost:8386/srcloc?exampleproject

と送信すると、それに含まれるソースフォルダをOSの絶対パスで以下の様に返します。

c:/development/java/workspace/exampleproject/src
c:/development/java/workspace/exampleproject/test


以上、よろしくおねがいします。


Seasar-user メーリングリストの案内