| // Package cfg handles working with the Glide configuration files. |
| // |
| // The cfg package contains the ability to parse (unmarshal) and write (marshal) |
| // glide.yaml and glide.lock files. These files contains the details about |
| // projects managed by Glide. |
| // |
| // To convert yaml into a cfg.Config instance use the cfg.ConfigFromYaml function. |
| // The yaml, typically in a glide.yaml file, has the following structure. |
| // |
| // package: github.com/Masterminds/glide |
| // homepage: https://masterminds.github.io/glide |
| // license: MIT |
| // owners: |
| // - name: Matt Butcher |
| // email: technosophos@gmail.com |
| // homepage: http://technosophos.com |
| // - name: Matt Farina |
| // email: matt@mattfarina.com |
| // homepage: https://www.mattfarina.com |
| // ignore: |
| // - appengine |
| // excludeDirs: |
| // - node_modules |
| // import: |
| // - package: gopkg.in/yaml.v2 |
| // - package: github.com/Masterminds/vcs |
| // version: ^1.2.0 |
| // repo: git@github.com:Masterminds/vcs |
| // vcs: git |
| // - package: github.com/codegangsta/cli |
| // - package: github.com/Masterminds/semver |
| // version: ^1.0.0 |
| // |
| // These elements are: |
| // |
| // - package: The top level package is the location in the GOPATH. This is used |
| // for things such as making sure an import isn't also importing the top level |
| // package. |
| // - homepage: To find the place where you can find details about the package or |
| // applications. For example, http://k8s.io |
| // - license: The license is either an SPDX license string or the filepath to the |
| // license. This allows automation and consumers to easily identify the license. |
| // - owners: The owners is a list of one or more owners for the project. This |
| // can be a person or organization and is useful for things like notifying the |
| // owners of a security issue without filing a public bug. |
| // - ignore: A list of packages for Glide to ignore importing. These are package |
| // names to ignore rather than directories. |
| // - excludeDirs: A list of directories in the local codebase to exclude from |
| // scanning for dependencies. |
| // - import: A list of packages to import. Each package can include: |
| // - package: The name of the package to import and the only non-optional item. |
| // - version: A semantic version, semantic version range, branch, tag, or |
| // commit id to use. |
| // - repo: If the package name isn't the repo location or this is a private |
| // repository it can go here. The package will be checked out from the |
| // repo and put where the package name specifies. This allows using forks. |
| // - vcs: A VCS to use such as git, hg, bzr, or svn. This is only needed |
| // when the type cannot be detected from the name. For example, a repo |
| // ending in .git or on GitHub can be detected to be Git. For a repo on |
| // Bitbucket we can contact the API to discover the type. |
| // - testImport: A list of development packages not already listed under import. |
| // Each package has the same details as those listed under import. |
| package cfg |