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は彼らと友達ではありません。

Source: https://habr.com/ru/post/J134833/


All Articles