Skip to content

Commit

Permalink
Updated contribution-guidelines
Browse files Browse the repository at this point in the history
  • Loading branch information
dbaumgarten committed Aug 28, 2021
1 parent ec77602 commit baf36a0
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 0 deletions.
50 changes: 50 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,53 @@ If you are willing to implement it yourself: great, but you probably should wait
(Otherwise it could happen, that your PR is (for whatever reason) rejected and all your hard work is moot).

All PRs are done against the **develop** branch and will then be released with the next release.

## Build-environment

This whole project is usually built on Windows with WSL or on Linux. While building is probably possible on plain Windows, it would require a whole lot of messing with cygwin or similar.

If all you want to do are changes to the go-binary or the nolol stdlib, pure windows is fine.

## Full Dev-Setup
### Tools
- bash
- git
- GNU make
- go >= 1.14
- nodejs >= v16.1.0
- npm >= 7.11.2
- vscode (to debug the vscode-yolol extension)

### Setup
- Clone the repo
- cd into the directory
- ```make setup``` will checkout git-submodules, download go-dependencies and npm-dependencies
- ```make``` will build and test everything
- Check the makefile for possible make-commands (like ```make test```, ```make binaries```)


## Windows Dev-Setup
(For simple changes to the go-code or the stdlib)

### Tools
- go >= 1.14
- https://github.com/elazarl/go-bindata-assetfs

### Setup
- Clone the repo
- cd into the directory
- ```go build``` builds the yodk-binary for your current plattform
- ```go test ./...``` will run all the go-tests

## Changes to stdlib
Whenever files in stdlib/src are changed, the go-bindata assetfs tool needs to be run, to include the changes into the auto-generated code.
```make setup``` will install this tool automatically. On windows you need to run the following commands to install it:

```
go get github.com/go-bindata/go-bindata/...
go get github.com/elazarl/go-bindata-assetfs/...
```

After installing, you can run the tool:
- On linux/wsl: ```make stdlib```
- On windows: Go to the stdlib directory and run ```go-bindata-assetfs.exe -pkg stdlib -prefix src/ ./src```
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,4 +77,6 @@ Yodk (and therefore also vscode-yolol) supports the following Systems:
# Contributing
Found bugs, suggestions, want to add features? Just [open an issue](https://github.com/dbaumgarten/yodk/issues/new).

Check out the [contribution-guidelines](https://github.com/dbaumgarten/yodk/blob/master/CONTRIBUTING.md) for information on how to contribute and/or how to set up a dev-environment.

You can, of course, fork this repo and create your own version of the yodk, but please consider working on this together. This way we will achieve more.

0 comments on commit baf36a0

Please sign in to comment.