@davecheney davecheney released this Jun 26, 2016 · 65 commits to master since this release

Assets 2

The 0.4 series focuses on improvements to project dependency management.

New features (since 0.4.2)

  • gb now has the ability to automatically download released dependencies.

    Briefly summarised, if a dependency is listed in $PROJECT/depfile but is not present in the users' cache, gb will attempt to fetch it.

    NOTE: currently only dependencies hosted on github are fetched. Vanity import paths, bitbucket, private git repos, etc. are not yet supported.

    ####$PROJECT/depfile syntax

    A valid depfile lives at $PROJECT/depfile. It contains one or more lines of text. The format of the line is:

    name key=value [key=value]...

    name is an import path representing a remote repository. The only supported key is version, a valid version value is any SemVer 2.0.0 value. This version must match a release tag in the format

    v<semver version>

    For example:

    github.com/pkg/profile version=1.1.0

    Will fetch the github release tagged v1.1.0.

    Sample $PROJECT/depfile

    Elements can be separated by whitespace. Lines that do not begin with a letter or number are ignored. This provides a simple mechanism for commentary.

    # some comment
    github.com/pkg/profile version=1.1.0
    
    ; some other comment
    // third kind of comment
    lines starting with blank lines are also ignored
    github.com/pkg/errors version=0.7.0
    

    Full documentation is available on the getgb.io website. Updates #536

    Please leave feadback on this feature via the issue tracker.

  • gb now depends has an external dependency on github.com/pkg/errors.