File tree Expand file tree Collapse file tree 1 file changed +70
-0
lines changed
Expand file tree Collapse file tree 1 file changed +70
-0
lines changed Original file line number Diff line number Diff line change 1+ # Shipp - Deadly simple package manager
2+
3+ Managing dependencies yourself in a C/C++ project can be a pain. Conan and vcpkg
4+ might be a solution, but as far as I know, those requires a registry.
5+
6+ I just want to point to a git repository and say "this is my dependency, build it".
7+
8+ This is how ** Shipp** was born. If you want to read more about it, I wrote an
9+ article on my blog [ here] ( https://david-delassus.medium.com/555eecbf7d2e?source=friends_link&sk=0a6649fef2325de32ca8ad6f51aaefd5 ) .
10+
11+ ## Installation
12+
13+ ```
14+ $ cargo install --path .
15+ ```
16+
17+ Then make sure ` $HOME/.cargo/bin ` is in your ` $PATH ` .
18+
19+ ## Usage
20+
21+ Create a package by adding a ` shipp.json ` file at the root of your Git
22+ repository:
23+
24+ ``` json
25+ {
26+ "name" : " mypackage" ,
27+ "version" : " 0.1.0" ,
28+ "scripts" : {
29+ "build" : " make all DESTDIR=$SHIPP_DIST_DIR" ,
30+ "install" : " make install DESTDIR=$SHIPP_DIST_DIR"
31+ },
32+ "dependencies" : [
33+ {
34+ "name" : " libfoo" ,
35+ "url" : " https://github.com/example/libfoo.git" ,
36+ "version" : " 0.1.0"
37+ }
38+ ]
39+ }
40+ ```
41+
42+ Then run the following commands:
43+
44+ ** To fetch dependencies (` git clone ` or ` git pull ` ) in ` .shipp/deps/ ` :**
45+
46+ ```
47+ $ shipp deps.get
48+ ```
49+
50+ ** To build dependencies and install them in ` .shipp/dist/ ` :**
51+
52+ ```
53+ $ shipp deps.build
54+ ```
55+
56+ ** To build the current project and install it in ` .shipp/dist/ ` :**
57+
58+ ```
59+ $ shipp build
60+ ```
61+
62+ ** To create a ` tar.gz ` archive of the ` .shipp/dist/ ` folder:**
63+
64+ ```
65+ $ shipp dist
66+ ```
67+
68+ ## License
69+
70+ This project is released under the terms of the [ MIT License] ( ./LICENSE.txt ) .
You can’t perform that action at this time.
0 commit comments