mirror of https://github.com/mingrammer/diagrams
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
1.9 KiB
78 lines
1.9 KiB
# Development Guide
|
|
|
|
## Docker local development setup
|
|
|
|
You should have docker installed in your system, if not click [here](https://docs.docker.com/get-docker/).
|
|
|
|
1. Go to diagrams root directory.
|
|
|
|
2. Build the docker image.
|
|
|
|
```shell
|
|
docker build --tag diagrams:1.0 -f ./docker/dev/Dockerfile .
|
|
```
|
|
|
|
3. Create the container, run in background and mount the project source code.
|
|
|
|
```shell
|
|
docker run -d \
|
|
-it \
|
|
--name diagrams \
|
|
--mount type=bind,source="$(pwd)",target=/usr/src/diagrams \
|
|
diagrams:1.0
|
|
```
|
|
|
|
4. Run unit tests in the host using the container to confirm that it's working.
|
|
|
|
```shell
|
|
docker exec diagrams python -m unittest tests/*.py -v
|
|
```
|
|
|
|
5. Run the bash script `autogen.sh` to test.
|
|
|
|
```shell
|
|
docker exec diagrams ./autogen.sh
|
|
```
|
|
|
|
6. If the unit tests and the bash script `autogen.sh` is working correctly, then your system is now ready for development.
|
|
|
|
|
|
## Mac local development setup
|
|
|
|
To be able to develop and run diagrams locally on you Mac device, you should have [Python](https://www.python.org/downloads/), [Go](https://golang.org/doc/install) and [brew](https://brew.sh/) installed on your system.
|
|
|
|
1. Go to diagrams root directory.
|
|
|
|
2. Install poetry, the Python project management package used by diagrams.
|
|
|
|
```shell
|
|
pip install poetry
|
|
```
|
|
|
|
3. Install the project's Python dependencies.
|
|
|
|
```shell
|
|
poetry install
|
|
```
|
|
|
|
4. Install diagrams binary dependencies.
|
|
|
|
```shell
|
|
brew install imagemagick inkscape black
|
|
go get github.com/mingrammer/round
|
|
```
|
|
|
|
5. Run unit tests to confirm that it's working.
|
|
|
|
```shell
|
|
python -m unittest tests/*.py -v
|
|
```
|
|
|
|
6. Run the bash script `autogen.sh` to test.
|
|
|
|
```shell
|
|
./autogen.sh
|
|
```
|
|
|
|
7. If the unit tests and the bash script `autogen.sh` is working correctly, then your system is now ready for development.
|