mirror of https://github.com/mingrammer/diagrams
parent
3d8ab9fc91
commit
999c0c1c0a
@ -0,0 +1,97 @@
|
||||
# Contribution Guide - How to Setup Environment
|
||||
|
||||
# WARNING - 18 Apr 2020 - THIS DOES NOT WORK YET!
|
||||
|
||||
Whilst using Diagrams is easy and some folks will find setting up and extending Diagrams easy - for others with Python, Bash and Go dependancies it is harder...
|
||||
|
||||
So a worked guide to setting up a VM with linux so you can contribute to Diagrams.
|
||||
|
||||
Disclosure: This was written using ubuntu 18.04 on Azure.
|
||||
|
||||
## VM
|
||||
Easiest and cleanest way is to boot a new Linux VM on your cloud provide of choice.
|
||||
* 16 GB HDD is more than enough
|
||||
* 2 GB Ram is more than enough
|
||||
|
||||
## Required Software
|
||||
|
||||
To contribute to Diagrams you will need the required software (all installed from command prompt):
|
||||
|
||||
* Python 2.7.x (comes pre-installed)
|
||||
|
||||
* pip (to make your life easier)
|
||||
```shell
|
||||
sudo apt update
|
||||
sudo apt install python-pip
|
||||
```
|
||||
* Git
|
||||
```shell
|
||||
sudo apt install git
|
||||
```
|
||||
* Go
|
||||
* Security warning (hence --classic) and hence why use VM
|
||||
```shell
|
||||
sudo snap install go --classic
|
||||
```
|
||||
|
||||
|
||||
## Requirements as per Contributing page
|
||||
* Round
|
||||
```shell
|
||||
go get github.com/mingrammer/round
|
||||
sudo cp go/bin/round /bin
|
||||
```
|
||||
|
||||
* Inkscape
|
||||
```shell
|
||||
sudo apt install inkscape
|
||||
```
|
||||
* Convert
|
||||
```shell
|
||||
pip install convert
|
||||
```
|
||||
|
||||
## Grab the Diagrams Code
|
||||
```shell
|
||||
git clone https://github.com/mingrammer/diagrams.git
|
||||
```
|
||||
## To Run the Build
|
||||
```shell
|
||||
cd diagrams
|
||||
./autogen.sh
|
||||
```
|
||||
|
||||
# Known Issues
|
||||
When trying to run the build - which is needed to be able to be done before being able to contribute - autogen.sh causes:
|
||||
|
||||
```shell
|
||||
....../diagrams$ ./autogen.sh
|
||||
converting the svg to png using inkscape for provider 'onprem'
|
||||
Traceback (most recent call last):
|
||||
File "/usr/lib/python2.7/runpy.py", line 163, in _run_module_as_main
|
||||
mod_name, _Error)
|
||||
File "/usr/lib/python2.7/runpy.py", line 102, in _get_module_details
|
||||
loader = get_loader(mod_name)
|
||||
File "/usr/lib/python2.7/pkgutil.py", line 462, in get_loader
|
||||
return find_loader(fullname)
|
||||
File "/usr/lib/python2.7/pkgutil.py", line 472, in find_loader
|
||||
for importer in iter_importers(fullname):
|
||||
File "/usr/lib/python2.7/pkgutil.py", line 428, in iter_importers
|
||||
__import__(pkg)
|
||||
File "scripts/__init__.py", line 7
|
||||
def app_root_dir(pvd: str) -> str:
|
||||
^
|
||||
SyntaxError: invalid syntax
|
||||
```
|
||||
Hence we need to understand the dependancy which is missing to be able to contribute
|
||||
|
||||
## Comment
|
||||
autogen.sh
|
||||
* is using bash which is installed
|
||||
* The 'app_root_dir="diagrams"' does run
|
||||
* The checks for round, inkscape and convert all pass
|
||||
|
||||
But its failing as per error message above - which is beyond by Google-foo... (Or my Python knowledge which is not the greatest :-)
|
||||
|
||||
# TO DO
|
||||
* Add how to run modified code locally
|
Loading…
Reference in new issue