jfrog / jfrog-azure-devops-extension

Apache License 2.0
47 stars 62 forks source link

JFrog task to provide full support for the 'Swift' package type #462

Open ashokm opened 10 months ago

ashokm commented 10 months ago

In 2022, JFrog offered the ability to create 'Swift' package type, providing a Swift registry to enable developers to use JFrog Artifactory for resolving Swift dependencies instead of enterprise source control (Git) systems.

For Azure DevOps users (specifically those using Azure Pipelines), they can use the JFrog Generic Artifacts task to perform generic actions on artifacts, such as:

The above task can be used to publish an XCFramework bundle, or artifact, that contains the binaries to Artifactory, however this is cumbersome in an end-to-end pipeline workflow and can be simplified if there was a JFrog task available to work with 'Swift' package type repositories.

Information that may be useful for the product development team:

Artifactory allows you to define any layout for your Swift registries. In order to upload packages according to your custom layout, you need to package your Swift files using the Swift source archive. This creates the .zip file for your package which you can then upload to any path within your local Swift repository.

Source: https://jfrog.com/help/r/jfrog-artifactory-documentation/set-up-a-local-swift-repository

To distribute code in binary form as a Swift package, create an XCFramework bundle, or artifact, that contains the binaries. Then, make the bundle available locally or on a server:

  • When you host the binaries on a server, create a ZIP archive with the XCFramework in its root directory and make it available publicly.

Source: https://developer.apple.com/documentation/xcode/distributing-binary-frameworks-as-swift-packages