2022-03-30 18:00:21 +02:00
|
|
|
# ADS2 - Implementierung in Rust #
|
|
|
|
|
2022-04-10 15:59:37 +02:00
|
|
|
Im Ordner [./src/*](src/) findet Module mit Datenstrukturen und Algorithmen.
|
|
|
|
|
2022-04-19 09:02:10 +02:00
|
|
|
Im Ordner [./tests/*](tests/) findet man _unit tests_,
|
2022-04-10 15:59:37 +02:00
|
|
|
die die verschiedenen Datenstrukturen und Algorithmen mit Testfälle belasten.
|
|
|
|
Man kann auch direkt im Code von [./src/main.rs](src/main.rs) aus
|
|
|
|
die Methoden mit Daten ausprobieren.
|
|
|
|
|
|
|
|
## Voraussetzungen ##
|
|
|
|
|
2022-04-19 09:05:31 +02:00
|
|
|
1. Der Rust-Compiler **`^1.60.*`** wird benötigt und
|
|
|
|
hierfür ist der **`cargo`** Package-Manager zu empfehlen.
|
2022-04-10 15:59:37 +02:00
|
|
|
Siehe <https://www.rust-lang.org/tools/install> für die offizielle Anleitung.
|
2022-04-19 09:05:31 +02:00
|
|
|
2. Es ist auch empfehlenswert, **`make`** zu installieren.
|
2022-04-10 15:59:37 +02:00
|
|
|
- Linux/OSX: siehe <https://formulae.brew.sh/formula/make>.
|
|
|
|
- Windows: siehe <https://community.chocolatey.org/packages/make>.
|
|
|
|
|
|
|
|
## Build -> Test -> Run ##
|
|
|
|
|
2022-04-13 23:12:37 +02:00
|
|
|
In einem IDE in dem Repo zu diesem Ordner navigieren.
|
|
|
|
</br>
|
|
|
|
Eine bash-Konsole aufmachen und folgende Befehle ausführen:
|
2022-04-10 15:59:37 +02:00
|
|
|
|
2022-04-13 23:12:37 +02:00
|
|
|
Wer **make** installiert hat:
|
2022-04-10 15:59:37 +02:00
|
|
|
```bash
|
2022-04-13 23:12:37 +02:00
|
|
|
# Zum Kompilieren (nur nach Änderungen nötig):
|
2022-04-10 15:59:37 +02:00
|
|
|
make build;
|
2022-04-13 23:12:37 +02:00
|
|
|
# Zur Ausführung der unit tests:
|
2022-04-10 15:59:37 +02:00
|
|
|
make tests;
|
2022-04-13 23:12:37 +02:00
|
|
|
# Zur Ausführung des Programms
|
2022-04-10 15:59:37 +02:00
|
|
|
make run;
|
2022-04-13 23:12:37 +02:00
|
|
|
# Zur Bereinigung aller Artefakte
|
2022-04-10 15:59:37 +02:00
|
|
|
make clean;
|
|
|
|
```
|
|
|
|
Wer _kein_ make hat:
|
|
|
|
```bash
|
2022-04-13 23:12:37 +02:00
|
|
|
# Zum Kompilieren (nur nach Änderungen nötig):
|
2022-04-10 15:59:37 +02:00
|
|
|
cargo build --release;
|
2022-04-13 23:12:37 +02:00
|
|
|
# Zur Ausführung der unit tests:
|
2022-04-10 15:59:37 +02:00
|
|
|
cargo test;
|
2022-04-13 23:12:37 +02:00
|
|
|
# Zur Ausführung des Programms:
|
|
|
|
./dist/ads2
|
|
|
|
# bzw. ads2.exe für Windows.
|
|
|
|
# Alternativ kann man den gebauten Artefakt per doppelklicken ausführen.
|
2022-04-10 15:59:37 +02:00
|
|
|
```
|
2022-04-13 23:12:37 +02:00
|
|
|
Der `build` Schritt baut einen binären Artefakt
|
2022-04-10 15:59:37 +02:00
|
|
|
und kopiert dies nach dem [./dist/*](dist/) Ordner.
|
2022-04-13 23:12:37 +02:00
|
|
|
|
|
|
|
Man kann auch mit einem guten Editor/IDE die Tests einzeln ausführen.
|