Skip to content

Commit ea91f25

Browse files
committed
📝 add README
1 parent 6f8eb94 commit ea91f25

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

README.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
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).

0 commit comments

Comments
 (0)