Greasemonkeyの開発環境
backlog2slimtimer(ベータ版) リリース! - @ikikko のはてなダイアリーの通り、ここのところグリモンを触っています。で、グリモンって皆どうやって開発しているのかな?エディタもそうですが、バージョン管理とかはどうやってるのかな?
それらしき単語でググってもなかなかヒットしなかったので、自分はこういう感じでやってますよというのを晒しておきます。私はEclipse + Subversive + Google codeの環境でやってますが、Subversionが使える環境だと基本変わりないでしょう。
- 参考
ディレクトリ構成
Subversionのレポジトリ構成は、trunk/tags/branchesの基本構成ですね。
一方、Greasemonkeyのディレクトリ構成は、以下のようになってます。[Firefox > Profiles > xxxxxxxx.default > gm_scripts]の下に各スクリプトのディレクトリが作成されています。
上記構成で、trunkを起点としてgm_scripts直下にチェックアウトします*1。その際、名前をスクリプト名(例ではbacklog2slimtimer)に変更してやります。
こうすることによって、Subversion/Greasemonkey双方の標準構成のもとで、バージョン管理下でスクリプト開発を進めることができます。
新規開発時・メタデータ修正時
基本的には上記の構成で進めていくのですが、スクリプトの新規作成時や(@includeといった)グリモンのメタデータを修正した場合は、これだけではうまくいきません。というのは、gm_scriptsにあるconfig.xmlでメタデータの管理を行っているので、メタデータを修正した場合にはこちらも修正する必要があるからです。
実際の手順は、↓のように進めています。
- スクリプトをアンインストール
- スクリプトディレクトリ削除
- これを行っておかないと、スクリプトを再インストールした際に「スクリプト名 + 連番」のディレクトリ名が作成されてしまう
- (.svnなどの)余計なファイルが無い場合は、アンインストールと同時に削除されている場合もあり
- (メタデータを修正した)スクリプトを再インストール
- svnリポジトリからスクリプトディレクトリにチェックアウト
- (.svnなどを追加して)スクリプトディレクトリをバージョン管理対象とするため
今はこのようにやっていますが、何かもっといいやり方があるなら教えてくださいな。特に、メタデータのconfig.xmlへの反映といったあたりは、自分でも煩雑やなぁと不満に思っているところなので。