A very basic language-agnostic "dependency manager" using Git.
Project description
Getting Started
Requirements
Python 3.3+
Git (with stored credentials)
OSX/Linux (with a decent shell for Git)
Installation
GDM can be installed with pip:
$ pip3 install gdm
or directly from the source code:
$ git clone https://github.com/jacebrowning/gdm.git $ cd gdm $ python3 setup.py install
Setup
Create a GDM configuration file (gdm.yml or .gdm.yml) in the root of your working tree:
location: .gdm
sources:
- repo: https://github.com/kstenerud/iOS-Universal-Framework
dir: framework
rev: Mk5-end-of-life
- repo: https://github.com/jonreid/XcodeCoverage
dir: coverage
rev: master
link: Tools/XcodeCoverage
Ignore GDM’s dependency storage location:
$ echo .gdm >> .gitignore
Basic Usage
Get the specified versions of all dependencies:
$ gdm install
which will essentially:
create a working tree at root/location/dir
fetch from repo and checkout the specified rev
symbolicly link each location/dir from root/link (optional)
repeat for all nested working trees containing a configuration file
To display the specific versions installed:
$ gdm list
To remove all installed dependencies:
$ gdm uninstall
For Contributors
Requirements
Make:
Windows: http://cygwin.com/install.html
Linux: http://www.gnu.org/software/make (likely already installed)
virtualenv: https://pypi.python.org/pypi/virtualenv#installation
Graphviz: http://www.graphviz.org/Download.php
Installation
Create a virtualenv:
$ make env
Run the tests:
$ make test $ make tests # includes integration tests
Build the documentation:
$ make doc
Run static analysis:
$ make pep8 $ make pep257 $ make pylint $ make check # includes all checks
Prepare a release:
$ make dist # dry run $ make upload
Changelog
0.2 (2015/03/10)
Added ‘list’ command to display current URLs/SHAs.
0.1.4 (2014/02/27)
Fixed an outdated index when checking for changes.
0.1.3 (2014/02/27)
Fixed extra whitespace when logging shell output.
0.1.2 (2014/02/27)
- Added ‘–force’ argument to:
overwrite uncommitted changes
create symbolic links in place of directories
Added live shell command output with ‘-vv’ argument.
0.1 (2014/02/24)
Initial release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.