Skip to content

homelight/depper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Depper — Put Lids on your Go Dependencies

CircleCI GoDoc

Depper is used to express constraints on the go package dependency graph. Like its sibling lidder, depper works by defining various rules. Here is an example

rules:
  - name: utilities can use other utilities and config
    packages: util/.*
    may_depend:
      - <.*>
      - third_parties
      - config
      - .*util
    deprecated_dependencies:
      - util/old_and_clunky -> server
      - old_common

Each rule applies to a set of packages, and you can describe allowed dependencies i.e. may_depend, as well as know deprecated dependencies i.e. deprecated_dependencies.

Each may_depend entry is a set of packages. It can be

  • A specific package, i.e. foo; or
  • A pattern of packages, i.e. foo/.* or foo_[0-9];
  • Using <pattern> indicates matching against standard library packages; and
  • The special third_parties matches any third party package

The known deprecated_dependencies can be

  • Generic e.g. bar meaning that in the set of packages, some are known to depend on package bar, or
  • Specific e.g. foo -> bar indicating foo is known to depend on bar.

Configuration

You need to tell depper what is the working package, i.e. what the . package is

config:
  working_package: github.com/helloeave/depper/sample_deps

About

Depper — Put Lids on Go Depedencies

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages