BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース JFrog ArtifactoryがSwift向けのバイナリ依存関係をサポート

JFrog ArtifactoryがSwift向けのバイナリ依存関係をサポート

原文(投稿日:2022/06/16)へのリンク

JFrogは、Swift Package Managerを使うことで、ArtifactoryリポジトリがSwift依存関係向けのバイナリパッケージレジストリとして使うことができることを発表した。

それがSwift 3で導入されて以来、AppleはSwift Package Managerを機能拡張して、Swiftエコシステム向けの主力のパッケージマネージャーにしている。もともと、Swift Package Managerはgitベースのリポジトリから取得できる、ソースのみのパッケージで動作するように設計されていた。

このアプローチは理にかなっている一方で、開発者や企業に多くの制限を課している。例えば、Swiftパッケージの作成のためだけにソースコードを公開する必要があり、Swift Package Managerビルドモデルに適合するビルドプロセスに制限される。さらに、開発者は、コミットによる依存関係の破損や、履歴の書き換え後のタグの消失など、他の種類の事故を経験している。

そのため、Appleは2020年にパッケージマネージャーのバイナリ依存関係を開始し、最終的にSwift 5.3リリースに加えられた。最近では、Appleはレジストリベースのパッケージ取得を追加でサポートする取り組みをしており、バイナリ依存関係を保存するためにGitHubやその他のソース管理サービスを使う方法とは別の道を切り開いている。

JFrogは現在、開発者がJFrog Artifactoryを使ってSwiftバイナリパッケージを提供できることを発表している。

現在、公開されているソース管理リポジトリには何千もの入手可能なパッケージがあり、複数のSCMプロバイダ間でURLを一意のIDにマッピングする方法が必要となります。幸いなことに、Artifactoryの柔軟なメタデータシステムにより、さまざまなURLを単一のIDに簡単にマッピングできるため、Swift Package Managerはレジストリにクエリを実行し、2つのIDシステム間での重複を回避できます。

Artifactoryは、ローカルリポジトリ、リモートリポジトリ、仮想リポジトリの3種類のリポジトリをサポートしている。ローカルリポジトリは、チーム内でのみ共有するためにパッケージをホストすることを目的としている。リモートリポジトリは、リモートURLで管理されるリポジトリに対するキャッシュプロキシである。仮想リポジトリは、ローカルリポジトリとリモートリポジトリの両方の機能を組み合わせたものである。

JFrogによると、レジストリベースの依存関係を使うことで、具体的なプロトコルを使うことによる効率性の向上、特定の依存関係バージョンを作成者に明示的に結び付ける機能、複数の言語における相互運用の安定性の向上、メタデータのサポートなど、多くのメリットを得ることができる。

JFrog Artifactoryは、セルフホストか、JFrogのクラウドプラットフォームで実行することができる。クラウドプラットフォームでは無料利用枠も提供される。

作者について

この記事に星をつける

おすすめ度
スタイル

BT