Swift Package Manager MVC
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Work on this issue](https://contributors.gitlab.com/manage-issue?action=work&projectId=278964&issueIid=12233) - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=12233) </details> <!--IssueSummary end--> ### Problem to solve The Swift Package Manager is a tool for managing distribution of source code. The tool directly addresses the challenges of compiling and linking Swift packages, managing dependencies, versioning, and supporting flexible distribution and collaboration models. Developers using Swift to build and deploy software on GitLab, need a mechanism for building, publishing and sharing packages. ### Intended users - [Software Developer](https://design.gitlab.com/research/personas#persona-sasha) - [DevOps Engineer](https://design.gitlab.com/research/personas#persona-devon) ### Proposal Add support for Swift packages to the GitLab Package Registry. As an MVC, we will focus on: - Set your GitLab project as a remote Swift repository. - Authenticate using your personal access, deploy, or job token. - Allow users to publish Swift packages to their GitLab project. - Allow those packages to be downloaded from that project. - Display Swift packages and basic metadata in the user interface - Measure a count of events using Snowplow #### Beyond the MVC - Extract and present all of a package's metadata - Link pipeline and build info with packages build using GitLab CI - Usage ping tracking #### Implementation Guide https://docs.gitlab.com/ee/development/packages/new_format_development.html ### Links - [Reference documentation](https://github.com/apple/swift-package-manager/blob/main/Documentation/Registry.md)
issue