新しいConanCenterのご紹介:進化した検索機能

この記事では新たに強化されたConanCenterの検索機能をご紹介します。ConanとはGitのようにC/C++の開発者がプッシュ/プルモデルでパッケージを共有することができる分散型パッケージマネージャです。ConanCenterはJFrogが開発とメンテナンスを行っているオープンソースのConanパッケージ用集中型リポジトリです。今回、UI/UXが進化したことにより簡単にConan C/C++パッケージを検索できるようになりました。

ConanCenterの新機能について

新しいConanCenterにアクセスすると、まずページ中央に大きな検索バーが目に入ります。
ここで名前や説明からパッケージを検索し、バージョンとダウンロード数の入った結果のリストを得ることができます。

さらに新しいConanCenterのUIはJFrogのサービス全体に合わせ統一されました。これは検索の実行と結果の表示に重点を置いたデザインであり、パッケージ開発者がConanパッケージのレシピと構成情報に素早くアクセスし、豊富なメタデータを簡単に見つけられることを目的としています。

構成ページそのものはバイナリでホストされていた以前のバージョンから大幅に改善されています。Artifactoryがホストする新しいConanCenterを使用するとパッケージの各バージョンの豊富な構成にアクセスできます。任意のOSとアーキテクチャを設定し、利用可能なバイナリでコンパイラを選択すると多くの構成オプションが表示されます。パッケージの全ての構成がすぐに利用できるわけではないため、UIに反映されない場合にはパッケージ開発者がConanCenter-indexに追加する必要があることにご注意ください。

Artifactoryベースの技術を採用した新しい貢献プロセス

ConanCenterの大きな新機能として、JFrog Artifactoryベースの継続的インテグレーションシステムを通じて新しいパッケージとバージョンの管理ができるようになったことが挙げられます。このプロセスにはGitHubにあるconan-center-indexリポジトリのレシピに対するプルリクエストを通じて追加されたConan開発者による新しいパッケージの検証が含まれています。これによりパッケージがどのようにConanCenterに取り込まれているのかがより明確になり、個々のバイナリのトラッキングが改善されました。

これは以下で説明する「Early Access Program(EAP)」の一環として開始されており、2020年半ばにはこれが新しいConanCenterでパッケージを利用する唯一の方法になります。現在BintrayでConanパッケージをアップロードしている場合は、EAPに参加してパッケージの追加を行ってください。作成したパッケージを非公開でホストできるように、JFrogは無料のC / C++用Artifactory Community Editionも提供しています。

EAP:パッケージ開発者として参加するには

私たちはプロジェクト開始当初からパッケージ開発者が簡単にConanCenterへ新しいパッケージを追加できるようにしたいと考えていました。その考えは既に数万ものパッケージとそのバージョンが多数のオープンソースライブラリに属していることでご理解いただけると思います。

皆様がパッケージを提供して世界中の何千人ものConanCenterユーザとパッケージを共有することもできます。パッケージを提供するにはEarly Access Program(EAP)に参加する必要があります。

EAPに参加するにはGitHub issueにコメントを追加してください。EAPのメンバーになるとGitHubからConanCenterにパッケージを追加できるようになります。

conan.io/centerのトップページにあるAdd New Packagesボタンを押すとhttps://github.com/conan-io/ConanCenter-indexにプルリクエストで新しいレシピの追加ができます。新しいパッケージの具体的な追加方法は:

  1. conan-center-index gitリポジトリのフォーク後、クローンを作成
  2. Conanパッケージレシピ(conanfile.py)とメタデータを含んだ新しいフォルダを作成
  3. GitHubにプッシュし、プルリクエストを送信
  4. 自動ビルドサービスで100以上の異なる構成をビルドします。もしGitHubのプルリクエスト中に問題がある場合にはメッセージが表示されます。

プルリクエストがレビューされマージされると、パッケージはconan.io/centerに公開されます。詳細についてはConanドキュメント をご参照ください

ConanCenterへフィードバック

私たちのチームでは引き続き新しいConanCenterの検索機能とワークフローを強化していきます。ConanCenterが進化するにつれ、Conan C/C++パッケージの検索に役立つパッケージの検出、キュレーション、コンテンツの追加が期待されています。現在のConanCenterの機能改善、全体的なUI/UXの向上、パッケージ検索機能の向上について、ぜひ皆様のご意見をお聞かせください。

新しいConanCenterの検索の機能や結果は全体的に改善を続けていきますが、皆様のコメントやフィードバックもお待ちしております。GitHubに具体的なフィードバックをお寄せいただけるとありがたいです。よろしくお願いします。