WordPress

Tower を使って Git リポジトリを WordPress Plugin Directory(SVN)にプッシュする

今回、WordPress プラグインを公式 Plugin Directory に登録しました。→ 記事公開前に確認アラートを表示する「One Step Before Publishing」が WordPress プラグインディレクトリに掲載されました · rakuishi.com

プラグインを公開するまでの流れ

WordPress のプラグインを公開するには、以下のステップが必要でした。

  1. プラグインの入った zip ファイルを提出。GitHub にある zip リンクで OK
  2. 審査後に送られてくる SVN repository URL にプッシュする

WordPress › WordPress Plugins

プラグインは 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 に掲載されます。

参考