Skip to content

Commit

Permalink
Updated documentation after review.
Browse files Browse the repository at this point in the history
  • Loading branch information
SurajBDeore committed Oct 30, 2024
1 parent 2cd1323 commit 9763f11
Show file tree
Hide file tree
Showing 2 changed files with 114 additions and 46 deletions.
59 changes: 59 additions & 0 deletions dev_setup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Development environment setup

To contribute to TRLC you will need to be able to run the
testsuite. Currently this is only realistic on GNU/Linux, although it
may be possible to get it to work on other platforms.

## Setup

* You need a suitable version of Python3 (3.8 <= Python3 <= 3.12). You
can install this from your package manager. On Debian the package is
called `python3`.

* You also need an executable `cvc5` binary on your PATH. Download the
appropriate version from
https://github.com/cvc5/cvc5/releases/tag/cvc5-1.0.8 and rename
it. You can also build CVC5 from source if there is no pre-built
release available for your platform.

* You need to install the `cvc5` PyPI package, or build it from
source.

* You need GNU Make. This should be available on all sane GNU/Linux
distributions. On Debian the package is called `build-essential`.

* You need to install Graphviz. On Debian the package is called
`graphviz`.

* You need to install everything from
[requirements.txt](../requirements.txt).

* You also need to make available the relevant parts of lobster. You
can do this in one of two ways:

* Check out https://github.com/bmw-software-engineering/lobster and
put the root of the repo on your `PYTHONPATH`.

* Install from PyPI, carfully avoiding to install the TRLC
dependency as that will make things really confusing:

```bash
pip install bmw-lobster-core bmw-lobster-tool-python
pip install --no-deps bmw-lobster-tool-trlc
```

## Important make targets

* `make lint` to run pycodestyle and pylint.

* `make test` to run most tests and show coverage analysis.

* `make test-all` to run all tests. This is the same as above, except
we also include a massive test that takes a long time to
run. Generally this is not worth it, but maybe do it once before you
push.

* `make tracing` to build just the LOBSTER report.

* `make docs` to build all the documentation (including the LRM and
the LOBSTER report).
101 changes: 55 additions & 46 deletions documentation/dev_setup.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# Development environment setup

To contribute to TRLC, you will need to be able to run the
testsuite. Currently, this is only realistic on GNU/Linux and Windows,
although it may be possible to get it to work on other platforms.

testsuite. Therefore you need GNU make and GNU findutils.
We do provide setup steps for Windows and Linux.
If you run into any problems on macOS, make sure you install
the latest GNU make version.

## Setup

* You need a suitable version of Python3 (3.8 <= Python3 <= 3.12). You
Expand All @@ -15,69 +17,76 @@ although it may be possible to get it to work on other platforms.
https://github.com/cvc5/cvc5/releases/tag/cvc5-1.0.8 and rename
it. You can also build CVC5 from source if there is no pre-built
release available for your platform.

* You need to install the `cvc5` PyPI package, or build it from
source.

* You need to install everything from
[requirements.txt](../requirements.txt).

* You also need to make available the relevant parts of lobster. You
can do this in one of two ways:

* Check out https://github.com/bmw-software-engineering/lobster and
put the root of the repo on your `PYTHONPATH`.

* Install from PyPI, carfully avoiding to install the TRLC
dependency as that will make things really confusing:

```bash
pip install bmw-lobster-core bmw-lobster-tool-python
pip install --no-deps bmw-lobster-tool-trlc
```
# Linux Setup:
* You need GNU Make. This should be available on all sane GNU/Linux
distributions. On Debian the package is called `build-essential`.
* You need to install Graphviz. On Debian the package is called
`graphviz`.
```

# Linux Setup

* You need GNU Make. This should be available on all sane GNU/Linux
distributions. On Debian the package is called `build-essential`.

* You need to install Graphviz. On Debian the package is called
`graphviz`.

# Windows Setup

* You need to Install Scoop.
* Check out https://scoop.sh/

* Once Scoop is installed, install GNU findutils by running the following command:

```bash
scoop install findutils
```
* you need to install GNU Make. You can do this by running the following command:

```bash
scoop install make
```
* You need to install Graphviz.

```bash
scoop install Graphviz
```


* You need to Install Scoop.
* Check out https://scoop.sh/

* Once Scoop is installed, install GNU findutils by running the following command:

```bash
scoop install findutils
```

* you need to install GNU Make. You can do this by running the following command:

```bash
scoop install make
```

* You need to install Graphviz.

```bash
scoop install Graphviz
```

* You need to install coreutils.

```bash
scoop install coreutils
```

## Important make targets

* `make lint` to run pycodestyle and pylint.

* `make test` to run most tests and show coverage analysis.

* `make test-all` to run all tests. This is the same as above, except
we also include a massive test that takes a long time to
run. Generally this is not worth it, but maybe do it once before you
push.

* `make tracing` to build just the LOBSTER report.

* `make docs` to build all the documentation (including the LRM and
the LOBSTER report).

0 comments on commit 9763f11

Please sign in to comment.