Aufbau der Entwicklungsumgebung - GollmerSt/SolvisSmartHomeServer GitHub Wiki

Eclipse

Der SolvisSmartHomeServer wurde mittels dem IDE Eclipse unter Windows entwickelt. Nachfolgende Ausführungen basieren auf Eclipse unter Windows.

Notwendige Zusatztools

Neben dem IDE Eclipse werden noch folgende Tools benötigt:

Java Development Kit (JDK) Zur Erzeugung des Windows-Setup-File. Ich verwende aus Lizenzgründen die Version 8.
Inno-Setup 6 Zur Erstellung der Windows-Installations-Datei

Notwendige Environment-Variablen

Das Ant-File, das die Pakete erstellt, benötigt folgende Umgebungsvariablen:

Name Bedeutung
INNO_SETUP Pfad des Verzeichnisses, in das Inno-Setup installiert wurde.
JAVA_HOME Pfad zum JDK-Verzeichnis, das zur Erstellung der Pakete verwendet werden soll. Z.B. C:\Program Files\Java\jdk1.8.0_261
SOLVIS_SMART_HOME_SERVER_BASE_XML Umgebungsvariable mit dem Pfad der eigenen base.xml.

Zu beachten:

Da die base.xml persönliche Daten enthält (u.a. Mailadresse mit Passwort) muss man unbedingt darauf achten, dass man nicht versehentlich die private base.xml in GitHub eincheckt oder es nicht in den erstellten Installations-Packages enthalten ist. Das wird normalerweise bei Verwendung der obigen Environment-Variablen und der Generierung der Packages mittels des Ant-Files build-user.xml verhindert, das zum Paket gehört.

Einrichten von Eclipse

Folgendes ist in Eclipse einzurichten, um ein Paket bauen zu können:

  1. Working-Tree importieren
  2. Als Build-File rechts oben unter Ant “build-user.xml” hinzufügen

Ant file

Im Ant-File gibt es folgende Targets zur Paket-Erstellung:

Target Bedeutung
clean Löscht die durch Ant erstellten Verzeichnisse einschl. den Dateien
Build for me Erstellt das Verzeichnis private mit dem Paket für eine Linux-Umgebung und mit dem persönlichen base.xml. Dieses Paket darf daher nicht veröffenlicht werden, da es eigene Kennungen, Passwörter etc. enthält.
Build users Erstellt neben dem Verzeichniss private noch die Verzeichnisse publish Linux und publish Windows, in dem die Einzeldateien der zu veröffentlichten Pakete liegen. Zusätzlich wird das Verzeichnis zip files generiert, in dem die zu veröffentlichenden Zip-Dateien liegen.

Beim Debuggern muss man beachten, dass man immer als Aufruf-Parameter den folgenden mitgibt, damit die persönöliche base.xml verwendet wird:

--base-xml=%SOLVIS_SMART_HOME_SERVER_BASE_XML%

Folgende Debugging-Argumente sind sinnvoll:

Zum Debuggen des learnings --server-learn --base-xml=%SOLVIS_SMART_HOME_SERVER_BASE_XML%
Standard --base-xml=%SOLVIS_SMART_HOME_SERVER_BASE_XML%
⚠️ **GitHub.com Fallback** ⚠️