

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# À utiliser CodeArtifact avec deps.edn
<a name="maven-deps"></a>

Vous utilisez `deps.edn` with `clj` pour gérer les dépendances des projets Clojure. Cette section explique comment configurer l'utilisation `deps.edn` d'un CodeArtifact référentiel.

**Topics**
+ [Extraire les dépendances](#fetching-dependencies-deps)
+ [Publier des artefacts](#publishing-artifacts-deps)

## Extraire les dépendances
<a name="fetching-dependencies-deps"></a>

Pour configurer `Clojure` afin de récupérer les dépendances d'un CodeArtifact référentiel, vous devez modifier le fichier de configuration Maven,. `settings.xml`

1. Dans`settings.xml`, ajoutez une `<servers>` section avec une référence à la variable d'`CODEARTIFACT_AUTH_TOKEN`environnement afin que Clojure transmette le jeton dans les requêtes HTTP.
**Note**  
Clojure s'attend à ce que le fichier settings.xml se trouve à l'`~/.m2/settings.xml`adresse. Si ce n'est pas le cas, créez le fichier à cet emplacement.

   ```
   <settings>
   ...
       <servers>
           <server>
               <id>codeartifact</id>
               <username>aws</username>
               <password>${env.CODEARTIFACT_AUTH_TOKEN}</password>
           </server>
       </servers>
   ...
   </settings>
   ```

1. Si vous n'en avez pas déjà un, générez un XML POM pour votre projet à l'aide de`clj -Spom`.

1. Dans votre fichier `deps.edn` de configuration, ajoutez un dépôt correspondant à l'identifiant du serveur de Maven`settings.xml`.

   ```
   :mvn/repos {
     "clojars" nil
     "central" nil
     "codeartifact" {:url "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/"}
   }
   ```
**Note**  
`tools.deps`garantit que les `clojars` référentiels `central` et seront d'abord vérifiés pour les bibliothèques Maven. Ensuite, les autres référentiels répertoriés dans `deps.edn` seront vérifiés.
Pour empêcher le téléchargement directement depuis Clojars et Maven Central, `central` `clojars` vous devez le configurer sur. `nil`

   Assurez-vous d'avoir le jeton CodeArtifact Auth dans une variable d'environnement (voir[Transmettre un jeton d'authentification à l'aide d'une variable d'environnement](tokens-authentication.md#env-var)). Lors de la création du package après ces modifications, les dépendances `deps.edn` seront CodeArtifact extraites.
**Note**  
Pour utiliser un point de terminaison à double pile, utilisez le `codeartifact.{{region}}.on.aws` point de terminaison.

## Publier des artefacts
<a name="publishing-artifacts-deps"></a>

1. Mettez à jour vos paramètres Maven et `deps.edn` incluez-les en CodeArtifact tant que serveur reconnu par Maven (voir). [Extraire les dépendances](#fetching-dependencies-deps) Vous pouvez utiliser un outil tel que [deps-deploy](https://github.com/slipset/deps-deploy) pour télécharger des artefacts vers. CodeArtifact

1. Dans votre`build.clj`, ajoutez une `deploy` tâche pour télécharger les artefacts requis dans le `codeartifact` référentiel précédemment configuré.

   ```
   (ns build
   (:require [deps-deploy.deps-deploy :as dd]))
   
   (defn deploy [_]
     (dd/deploy {:installer :remote
             :artifact "PATH_TO_JAR_FILE.jar"
             :pom-file "pom.xml" ;; pom containing artifact coordinates
             :repository "codeartifact"}))
   ```

1. Publiez l'artefact en exécutant la commande suivante : `clj -T:build deploy`

Pour plus d'informations sur la modification des référentiels par défaut, consultez [la section Modification des référentiels par défaut dans les documents](https://clojure.org/reference/deps_and_cli#_modifying_the_default_repositories) *Clojure Deps et la justification de référence de la CLI*.