Tower を使って Git リポジトリを WordPress Plugin Directory(SVN)にプッシュする
今回、WordPress プラグインを公式 Plugin Directory に登録しました。→ 記事公開前に確認アラートを表示する「One Step Before Publishing」が WordPress プラグインディレクトリに掲載されました · rakuishi.com
プラグインを公開するまでの流れ
WordPress のプラグインを公開するには、以下のステップが必要でした。
- プラグインの入った zip ファイルを提出。GitHub にある zip リンクで OK
- 審査後に送られてくる SVN repository URL にプッシュする
プラグインは Git(GitHub)で管理していたのですが、WordPress Plugin Directory は、SVN で管理されています。幸い Git には、Git と SVN を双方向にブリッジする git svn
があるため、そのツールを使って対応します。
普段 Git のために使っている Tower という GUI アプリが、SVN にも対応しているため、その操作を中心にした記事になります。この記事では、Git リポジトリを Wordpress SVN repository に登録するまでをメモします。
リモートリポジトリに WordPress SVN repository を追加する
既に GitHub がリモートに追加されているリポジトリを開きます。
[Repository Settings…] を選択します。Remotes タブ → 左下 [Add SVN Remote Repository …] から新しく SVN をリモート先として追加します。Repository URL には、審査後のメールに記載されている URL を入力。Username と Password は、WordPress.org の情報を入力しました。
Add したのですが、“Please install the latest Xcode command line” と言われる。
Xcode から Xcode Command Line Tools をダウンロードする必要があるみたいです。Xcode 5.1 の Command Line Tools は、以前のバージョンとは落とせる場所が違っていて、Xcode → [Xcode] → [Open Developer Tool] → [More Developer Tools…] を選択し、Apple Developer サイトからダウンロードする。
ダウンロード後、Mac を再起動し、もう一度 SVN レポジトリを追加する手順を踏んだのですが、まだエラーが出る。OS X Mavericks では、git svn
に必要な Perl ライブラリとのリンクが繋がれていないみたいです。こちらの記事を見ながら、シンボリックリンクを作成する。
$ sudo ln -s /Applications/Xcode.app/Contents/Developer/Library/Perl/5.16/darwin-thread-multi-2level/SVN /System/Library/Perl/Extras/5.16/SVN
$ sudo ln -s /Applications/Xcode.app/Contents/Developer/Library/Perl/5.16/darwin-thread-multi-2level/auto/SVN/ /System/Library/Perl/Extras/5.16/auto/SVN
これで SVN レポジトリを追加出来るようになります。ですが、Fetching From Remote… の処理が異常にかかる(45 分かかった)。
SVN リモートにプッシュする
Tower の左カラムの REMOTES に SVN レポジトリが追加されました。この trunk にあるコミット履歴には「adding one-step-before-publishing by rakuishi」のような最初のコミットが既に存在している。
これを副クリックして、[Create Branch from This Commit…] → [Checkout Branch] にチェックを入れてから、新しくローカルにブランチを作ります。ブランチ名は分かりやすいように svn にした。
このローカルブランチ svn に最新のブランチをマージして、リモート trunk にプッシュすれば OK です。
タグを発行する
WordPress Plugin Directory では、タグを発行すると自動で zip のパッケージが作られるそうです。Tower 上でタグを付けて、Terminal から SVN にタグを発行しました(Tower で完結する方法が分からなかったから)。
$ git tag
1.0.0
$ git svn tag 1.0.0
処理後、SVN リポジトリ内 tags/ に、タグが追加されていることが確認出来ます。
以上の処理を行えば、WordPress.org の Plugin Directory に掲載されます。