3 unstable releases
0.2.0 | Apr 23, 2019 |
---|---|
0.1.1 | Feb 12, 2019 |
0.1.0 | Feb 12, 2019 |
#797 in Build Utils
27KB
478 lines
dep
A very basic, git based, flat dependency manager
Warning:
Currently only public repos or repos with ssh are supported. So, no user-pass authentication.
Commands
dep global // prints the global config path
dep init // creates an empty project config
dep update // updates all dependencies
Sample Config
The configuration format is heavily inspired by the cargo package format, with some minor changes.
[project]
# required
name = 'dep'
# optional
# if lib-dir isn't set, default-lib-dir (defined in $HOME/.deprc) is used
lib-dir = 'VENDOR'
authors = ['hardliner66']
descrption = 'My cool project'
homepage = 'https://github.com/hardliner66/dep'
repository = 'https://github.com/hardliner66/dep'
git-server = 'git.myserver.com'
[dependencies]
# public git repo
some_repo = { git = 'https://my.gitserver.com/user/some_repo' }
# custom lib-dir for this dependecy
some_repo2 = { git = 'https://my.gitserver.com/user/some_repo2', into = 'custom_lib_dir' }
# rename output dir (inside lib-dir) for this dependency
some_repo3 = { git = 'https://my.gitserver.com/user/some_repo3', as = 'mylib' }
# private git repo
some_private_repo = { git = 'git@my.gitserver.com:user/some_private_repo' }
# alternative syntax for private repos (only if git-server is set)
some_private_repo2 = { repo = 'user/some_private_repo2' }
# branches
some_other_private_repo = { git = 'git@my.gitserver.com:user/some_other_private_repo', branch = 'feature3' }
# local folders
some_local_repo = { path = '../some/local/folder' }
TODOs / Planed features
- write better documentation
- local overrides file
Dependencies
~11MB
~267K SLoC