A very basic language-agnostic "dependency manager" using Git.
Project description
Getting Started
Requirements
Python 3.3+
Latest version of 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-hypernode.com/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.1 (2015/03/12)
Automatically track dependencies that are on branches.
Require ‘–force’ when there are untracked files.
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.
Source Distribution
Built Distribution
File details
Details for the file GDM-0.2.1.tar.gz
.
File metadata
- Download URL: GDM-0.2.1.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d9be1888eba9b74e5ec40d60f687f8b225b666f76bfc7b414f5bf5a1c78d417 |
|
MD5 | 56cceb0287bcc05a3cdb2daed42b2b82 |
|
BLAKE2b-256 | 5a8dff45707d16657cd1e9826f2b85ca17535d7f950b3188dfef0eaa4491ef3a |
File details
Details for the file GDM-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: GDM-0.2.1-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24f3663bd17cd31d3f4e1d0629353d8f1af7803209777f499fb8bec0fd664dce |
|
MD5 | 9a712d4c1069d7ef1c7f79ac996844c4 |
|
BLAKE2b-256 | 5d15d7424da1694a34a00eeeecf0f19d11b3249d470c3e82c34defcc6bf4087b |