Go Utiliser govendor pour ajouter des packages externes


Exemple

Govendor est un outil utilisé pour importer des packages tiers dans votre référentiel de code d'une manière compatible avec la vente de golang.

Dites par exemple que vous utilisez un package tiers bosun.org/slog :

package main

import "bosun.org/slog"

func main() {
    slog.Infof("Hello World")
}

Votre structure de répertoire peut ressembler à:

$GOPATH/src/
├── github.com/me/helloworld/
|   ├── hello.go 
├── bosun.org/slog/
|   ├── ... (slog files)

Cependant, une personne qui clone github.com/me/helloworld peut ne pas avoir $GOPATH/src/bosun.org/slog/ , ce qui provoque l'échec de leur compilation en raison de paquets manquants.

L'exécution de la commande suivante à l'invite de commandes permet de récupérer tous les packages externes de votre package Go et de regrouper les bits requis dans un dossier fournisseur:

govendor add +e

Cela demande à govendor d'ajouter tous les packages externes dans votre référentiel actuel.

La structure des répertoires de votre application ressemblerait maintenant à:

$GOPATH/src/
├── github.com/me/helloworld/
|   ├── vendor/
|   |   ├── bosun.org/slog/
|   |   |   ├── ... (slog files)
|   ├── hello.go 

et ceux qui clonent votre dépôt vont également récupérer les paquets tiers requis.