PEARパッケージの簡単な公開

すぐに言います。PEARチャンネルを作成してパッケージを公開するのに約1時間かかりました。 しかし、すべてのデッドロックメソッドを削除し、グーグルを節約し、疑わしいユーティリティを使用しない場合、10分間を満たすことはかなり可能です。



PHPプログラマーには、PEARを愛するよりも愛するよりも多くの理由があります。 実際、過去5年間で、リポジトリ内のライブラリもインストーラ自体も実質的に変更されていないようです。

ただし、これまでのところ、PHPライブラリをインストールする最も簡単な方法はPEARを使用することです。 もちろん、これはシステム全体の需要が等しくなることを条件とします。 たとえば、PHPUnitやDocbloxなどの製品はPEARを介してインストールされますが、GitHubリポジトリを複製するなど、他の方法でインストールすることは非常に不便です。



ほとんどの場合、コミュニティと共有したいライブラリがあります。 さて、またはいつかそれが表示されます。 関係ありません 重要なことは、遅かれ早かれ、あなたの製品がたった2つのチームにインストールできることを確認したいということです...



これが紹介です。 さらに、純粋に実用的な推奨事項があります。

それらの1つ:pear.php.netのドキュメントは、役立つだけでなく、害を与えることもあります。 これらのPEAR、PEAR2、Pyrus、PEAR_PackageFileManager2、およびpackage.xml構造をすべて理解することは、原子力発電所のサービス指示を研究することに相当します。 ご覧のとおり、これがすべてなくてもかまいません。 さらに、時間には限りがあり、10分では余分な詳細を調べるのに十分ではありません。 そして何時間も。



私たちは実用主義者、合理主義者、まあ、ただの怠け者です。

たとえば、ホスティングのどこかにPEARサーバーを作成するのは面倒です。 はい、なぜですか? これにGitHubを適応させる方が良いです。



最初にPirumが必要です。 これは軽量のPEARチャネルマネージャーです。



奇妙なことに、PEARからもインストールされます。

$ pear channel-discover pear.pirum-project.org $ pear install pirum/Pirum
      
      





GitHubで設定されたサーバー自体は、 github.com / saucelabs / pearで取得できます。



指示に従ってください:

githubでpearリポジトリを作成します。



ローカルリポジトリを作成します。

 $ mkdir pear $ cd pear $ git init $ git remote add origin git@github.com:[username]/pear.git
      
      





pirum.xml構成ファイルを作成します。

 <?xml version="1.0" encoding="UTF-8" ?> <server> <name>[username].github.com/pear</name> <summary>[channel name]</summary> <alias>[shortname]</alias> <url>http://[username].github.com/pear</url> </server>
      
      







コマンドを実行します

 $ pirum build . $ git add . $ git commit -m "Initial server build"
      
      





githubページを装ってgithubリポジトリを注ぎます:

 $ git branch -m master gh-pages $ git push origin gh-pages
      
      





githubを使用すると静的サイトをホストでき、特別なブランチ(gh-pages)が使用されることを思い出してください。

リポジトリをサーバーにアップロードすると、https:// [ユーザー名] .github.com / pearに新しいチャネルが既に配置されます。

ちなみに、その使用のための指示。 残念なことに、そこにはまだ何も置くことはできません。



この欠陥を修正してください。 ライブラリ用に適切に作成されたpearパッケージが必要です。

Pearfarmユーティリティは、作成に役立ちます。 これはユーティリティであるだけでなく、梨パッケージをホストするサイトでもありますが、残念ながらあまり人気がありません。

実際、Pearfarmに自信があれば、上記の手順を実行する必要はありません。



ただし、ユーティリティ自体は機能し、パッケージをゼロから作成する際の生活を大幅に簡素化します。

インストールしてください...そうです、PEARからも:

 $ pear install pearfarm.pearfarm.org/pearfarm
      
      





ライブラリがあるディレクトリで、次のコマンドを実行します。

 $ pearfarm init
      
      







pearfarm.specファイルを作成します。メタパッケージと呼びましょう。 これは基本的に、パッケージを作成するための設定を便利に定義するPHPファイルです。

ここにあります:



 <?php $spec = Pearfarm_PackageSpec::create(array(Pearfarm_PackageSpec::OPT_BASEDIR => dirname(__FILE__))) ->setName('[dirname]') ->setChannel('TODO: Release channel here') ->setSummary('TODO: One-line summary of your PEAR package') ->setDescription('TODO: Longer description of your PEAR package') ->setReleaseVersion('0.0.1') ->setReleaseStability('alpha') ->setApiVersion('0.0.1') ->setApiStability('alpha') ->setLicense(Pearfarm_PackageSpec::LICENSE_MIT) ->setNotes('Initial release.') ->addMaintainer('lead', 'TODO: Your name here', 'TODO: Your username here', 'TODO: Your email here') ->addGitFiles() ->addExecutable('[dirname]') ;
      
      







すべてのフィールドを入力して入力するだけです。 ライセンスの記入が簡単であることに注意してください! デフォルトでは、gitリポジトリのすべてのファイルがパッケージに含まれます; addExcludeFilesRegex()メソッドを使用してそれらの一部を削除できます。

詳細な設定情報はこちら: pearfarm.org/help/spec



すべてのフィールドに入力した後、梨チャンネルに接続します。

 $ pear channel-discover [username].github.com/pear
      
      







そして、パッケージを作成します。

 $ pearfarm build
      
      





そして、すべてがうまくいった場合、出力でpackage.xmlファイル(PEARのパッケージ構成)とアーカイブ内のライブラリの最新ビルドを取得します。



ビルドをサーバーに追加します。

 $ pirum add [---pear-] [--]
      
      





更新されたサーバーにgithubを入力します。

 $ git add . $ git commit -m "first package added" $ git push origin gh-pages
      
      







できた! これで、オープンソースライブラリを簡単に公開でき、ローカルWebサーバーの腸でそれらを非表示にする必要がなくなりました。



そして、すべてが機能することを確認するために、行きましょう:



http:// [ユーザー名] .github.com / pear /



そして、パッケージがすでにそこにあることがわかります。 ライブラリをインストールするためのすべてのコマンドもそこにリストされています。

便利なライブラリを作成し、公開し、Habréでそれらについて書いてください。



ご清聴ありがとうございました。



私も注意してください:

-すべてがWindowsで動作します。

-チャネルサーバーの名前に大文字を使用しないでください。 PEARは彼らと友達ではありません。



All Articles