WP-CLI 1.0.0 がリリースされました!

WP-CLI の 1.0.0 がリリースされました。

http://wp-cli.org/blog/version-1.0.0.html

Over the course of 5+ years, hundreds of contributors have worked to bring you WP-CLI v1.0.0, which I’m proud to announce today.

5年以上にわたる長い道のりと数百人の貢献者のみなさんによって WP-CLI 1.0.0 がリリースされました。私は今日このことをアナウンスできることを誇りに思っています。

上の写真は1.0.0がリリースされた翌日にリードディベロッパーの Daniel さんとお会いした時に撮った写真。

 

The WP-CLI project will shift its focus to the WP-CLI package ecosystem, where it will enable innovation by building and encouraging new features as standalone packages.

WP-CLI は今後、パッケージエコシステムの構築にフォーカスを移し、新しい機能はパッケージとしてリリースしていくことを推奨することでイノベーションを可能にしていきます。

We hope this approach will promote faster iteration and more creativity, and more sustainably distribute the maintenance burden. As these community packages find success, we’ll bring their learnings back into WP-CLI, alongside bug fixes and minor enhancements.

わたしたちはこのアプローチがスピードと創造性をもたらし、メンテナンスの負担が分散されることを期待しています。そしてこれらのコミュニティパッケージからのフィードバックをWP-CLIにその他のバグ修正や改善などとともに反映させていきたいと思っています。

ちょっと解説しますと、WP-CLI には、サードパーティのコマンドをつくるためのインターフェースが用意されています。

http://wp-cli.org/package-index/

たとえば VCCW では、VCCW環境を簡単に構築するためのコマンドとして、`wp scaffold vccw` というパッケージコマンドを用意しています。

https://github.com/vccw-team/scaffold-vccw

またデジタルキューブの新サービス Shifter でも WordPress を移行するツールを WP-CLI コマンドで用意しています。

https://github.com/getshifter/wp-cli-shifter

さらに WP Super Cache などメジャーなプラグインのいくつかは、それ専用のコマンドを用意しています。

つまり今後の WP-CLI の新機能はこんな感じでサードパーティのコマンドとしてリリースし、しばらく様子をみてから本体に実装していくよということですね。

仕様変更について

今回のバージョンアップでひとつだけ大きな仕様変更がありました。

WP-CLI には、いくつかのコマンドで、複数のパラメータを受け付けるものがあります。

たとえば、以下のコマンドでは、simple-mapwp-total-hacks という二つのプラグインをオプションとして指定し、これらをインストールしています。

$ wp plugin install simple-map wp-total-hacks

このどちらかのプラグインのインストールに失敗した時に、従来はコマンドの終了コードが 0 でした。

たとえば以下のコマンドでは、3つ目のプラグインとして xxxx を指定していますが、これは存在しませんので、先の二つのプラグインだけインストールされ最後の xxxx は失敗します。

$ wp plugin install simple-map wp-total-hacks xxxx
$ echo $?
0

従来のバージョンの WP-CLI では、このようなケースでも、終了コードが 0 だった($? の値が 0)ので、たとえばシェルスクリプトからこのコマンドを実行した際には成功したと見なされていました。

しかし、バージョン 1.0.0 から、コマンドの終了コードが 1 になるよう修正されました。

$ wp plugin install simple-map wp-total-hacks xxxx
$ echo $?
1

この変更によって Chef や Ansible などのプロビジョナーやシェルスクリプトがエラーで終了するようになるかもしれませんので、WP-CLI をそれらに使用しているみなさんはご注意ください。