

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzare CodeArtifact con deps.edn
<a name="maven-deps"></a>

Si utilizza `deps.edn` with `clj` per gestire le dipendenze per i progetti Clojure. Questa sezione mostra come configurare l'uso di un `deps.edn` repository. CodeArtifact 

**Topics**
+ [Recupera le dipendenze](#fetching-dependencies-deps)
+ [Pubblica artefatti](#publishing-artifacts-deps)

## Recupera le dipendenze
<a name="fetching-dependencies-deps"></a>

`Clojure`Per configurare il recupero delle dipendenze da un CodeArtifact repository, è necessario modificare il file di configurazione di Maven,. `settings.xml`

1. Inoltre`settings.xml`, aggiungi una `<servers>` sezione con un riferimento alla variabile di `CODEARTIFACT_AUTH_TOKEN` ambiente in modo che Clojure passi il token nelle richieste HTTP.
**Nota**  
Clojure si aspetta che il file settings.xml si trovi in. `~/.m2/settings.xml` Se altrove, crea il file in questa posizione.

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

1. Se non ne hai già uno, genera un file XML POM da utilizzare `clj -Spom` per il tuo progetto.

1. Nel file `deps.edn` di configurazione, aggiungi un repository corrispondente all'id del server di 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/"}
   }
   ```
**Nota**  
`tools.deps`garantisce che i `clojars` repository `central` and verranno controllati prima per le librerie Maven. Successivamente, verranno controllati gli altri repository elencati in. `deps.edn`
Per impedire il download diretto da Clojars e Maven Central, `central` è necessario impostarlo su. `clojars` `nil`

   Assicurati di avere il token di CodeArtifact autenticazione in una variabile di ambiente (vedi). [Passa un token di autenticazione utilizzando una variabile di ambiente](tokens-authentication.md#env-var) Quando si crea il pacchetto dopo queste modifiche, `deps.edn` verranno recuperate le dipendenze in. CodeArtifact
**Nota**  
Per utilizzare un endpoint dualstack, usa l'endpoint. `codeartifact.{{region}}.on.aws`

## Pubblica artefatti
<a name="publishing-artifacts-deps"></a>

1. Aggiorna le impostazioni di Maven e includile CodeArtifact come `deps.edn` server riconosciuto da Maven (vedi). [Recupera le dipendenze](#fetching-dependencies-deps) Puoi usare uno strumento come [deps-deploy](https://github.com/slipset/deps-deploy) per caricare artefatti su. CodeArtifact

1. Nel tuo`build.clj`, aggiungi un'`deploy`attività per caricare gli artefatti richiesti nel repository precedentemente configurato. `codeartifact`

   ```
   (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. Pubblica l'artefatto eseguendo il comando: `clj -T:build deploy`

Per ulteriori informazioni sulla modifica degli archivi predefiniti, vedere [Modifica dei repository predefiniti nel *Clojure Deps* and CLI](https://clojure.org/reference/deps_and_cli#_modifying_the_default_repositories) Reference Rationale.