|
|
|
|
|
|
|
# Clojure-Installation und Kompilieren der Messprogramme
|
|
|
|
|
|
|
|
## Vorbereitung
|
|
|
|
|
|
|
|
Die folgenden Schritte sind als Vorbereitung des Kompilierens und zur Ausführung der Messprogramme notwendig.
|
|
|
|
|
|
|
|
```
|
|
|
|
sudo apt install default-jre curl rlwrap ant
|
|
|
|
|
|
|
|
/etc/environment <-- Variablen (CE3 / SE3)
|
|
|
|
METIS*
|
|
|
|
CAL*
|
|
|
|
JAVA*
|
|
|
|
|
|
|
|
Der spätere Build-Prozess benutzt nicht oder nicht immer die übliche Umgebungsvariable `https_proxy` für das Herunterladen externer Bibliotheken. Um trotzdem erfolgreich zu sein, muss die folgende Konfigurationsdatei angelegt werden und Angaben zum Proxy-Server enthalten:
|
|
|
|
|
|
|
|
```
|
|
|
|
touch ~/.m2/settings.xml
|
|
|
|
https://gitlab1.ptb.de/vaclab/metis
|
|
|
|
```
|
|
|
|
|
|
|
|
## Clojure-Installation
|
|
|
|
|
|
|
|
```
|
|
|
|
curl -L -O https://github.com/clojure/brew-install/releases/latest/download/linux-install.sh
|
|
|
|
chmod +x linux-install.sh
|
|
|
|
sudo ./linux-install.sh
|
|
|
|
rm linux-install.sh
|
|
|
|
```
|
|
|
|
|
|
|
|
Anmerkung: Dieser Ablauf führt zur Installation der Clojure-Skripte
|
|
|
|
und -Bibliotheken (siehe [»Install Clojure«](https://clojure.org/guides/install_clojure)):
|
|
|
|
|
|
|
|
```
|
|
|
|
/usr/local/bin/clj
|
|
|
|
/usr/local/bin/clojure
|
|
|
|
/usr/local/lib/clojure
|
|
|
|
```
|
|
|
|
|
|
|
|
## Kompilieren der jar-Dateien für die Messprogramme »devhub«, »devproxy« und »metis«
|
|
|
|
|
|
|
|
### Klonen des Programmcodes
|
|
|
|
|
|
|
|
Wegen der Übersichtlichkeit sollten die folgenden Git-Repositorien unterhalb eines Unterverzeichisses (z.B. `~/myapps`) angelegt werden.
|
|
|
|
|
|
|
|
```
|
|
|
|
git clone https://$(printf %s 'USERNAME'|jq -Rr @uri):$(printf %s 'PASSWORD'|jq -Rr @uri)@gitlab1.ptb.de/vaclab/devproxy.git
|
|
|
|
git clone https://$(printf %s 'USERNAME'|jq -Rr @uri):$(printf %s 'PASSWORD'|jq -Rr @uri)@gitlab1.ptb.de/vaclab/devhub.git
|
|
|
|
git clone https://$(printf %s 'USERNAME'|jq -Rr @uri):$(printf %s 'PASSWORD'|jq -Rr @uri)@gitlab1.ptb.de/vaclab/metis.git
|
|
|
|
```
|
|
|
|
|
|
|
|
Anmerkung: Mithilfe der Konstrukte `$(printf %s '??????????'|jq -Rr @uri)` werden Nutzername und Password URL-encoded zu Bestandteilen der Gitlab-URL (siehe danach Eintrag in `.git/config`). Damit erübrigt sich jetzt und später deren manuelle Eingabe.
|
|
|
|
|
|
|
|
Installation einer für »devhub« benötigte Java-Bibliothek (VXI11-Kommunikation):
|
|
|
|
|
|
|
|
```
|
|
|
|
git clone https://github.com/mikef5410/jvxi11.git
|
|
|
|
|
|
|
|
cd jvxi11
|
|
|
|
ant
|
|
|
|
# Der Fehler beim Erzeugen der Dokumentation wegen fehlendem
|
|
|
|
# Programm »javadoc« kann ignoriert werden.
|
|
|
|
cd ..
|
|
|
|
cp -pvr --parents jvxi11/external jvxi11/dist devhub/resources/
|
|
|
|
```
|
|
|
|
|
|
|
|
Anmerkung: Es ist nicht ausgeschlossen, dass sich die Erzeugung der jvxi11-Bibliothek auch automatisieren ließe, wenn man die Angaben in `devhub/deps.edn` geeignet anpassen könnte/würde.
|
|
|
|
|
|
|
|
### Erzeugen der jar-Dateien für die Messprogramme
|
|
|
|
|
|
|
|
```
|
|
|
|
cd devhub
|
|
|
|
./make_jar
|
|
|
|
|
|
|
|
cd devproxy
|
|
|
|
./make_jar
|
|
|
|
|
|
|
|
cd metis
|
|
|
|
./make_jar
|
|
|
|
```
|
|
|
|
|
|
|
|
Die gewünschten jar-Dateien befinden sich danach jeweils in `target/`.
|
|
|
|
|
|
|
|
|
|
|
|
|