Recherche…


Création et utilisation d'un simple package Swift

Pour créer un package Swift, ouvrez un terminal puis créez un dossier vide:

mkdir AwesomeProject
cd AwesomeProject

Et initiez un dépôt Git:

git init

Ensuite, créez le paquet lui-même. On pourrait créer la structure du paquet manuellement mais il existe un moyen simple d'utiliser la commande CLI.

Si vous voulez faire un exécutable:

swift package init --type executable

Plusieurs fichiers seront générés. Parmi eux, main.swift sera le point d'entrée de votre application.

Si vous voulez créer une bibliothèque:

swift package init --type library

Le fichier AwesomeProject.swift généré sera utilisé comme fichier principal pour cette bibliothèque.

Dans les deux cas, vous pouvez ajouter d'autres fichiers Swift dans le dossier Sources (les règles habituelles pour le contrôle d'accès s'appliquent).

Le fichier Package.swift lui-même sera automatiquement rempli avec ce contenu:

import PackageDescription

let package = Package(
    name: "AwesomeProject"
)

La version du paquet est faite avec les tags Git:

git tag '1.0.0'

Une fois transféré dans un dépôt Git distant ou local, votre package sera disponible pour d'autres projets.

Votre paquet est maintenant prêt à être compilé:

swift build

Le projet compilé sera disponible dans le dossier .build / debug .

Votre propre package peut également résoudre les dépendances vers d'autres packages. Par exemple, si vous souhaitez inclure "SomeOtherPackage" dans votre propre projet, modifiez votre fichier Package.swift pour inclure la dépendance:

import PackageDescription

let package = Package(
    name: "AwesomeProject",
    targets: [],
    dependencies: [
        .Package(url: "https://github.com/someUser/SomeOtherPackage.git",
                 majorVersion: 1),
    ]
)

Ensuite, reconstruisez votre projet: le gestionnaire de paquets Swift va automatiquement résoudre, télécharger et créer les dépendances.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow