====== Entwicklungsumgebung BiDiB-Wizard ====== Der BiDiB-Wizard und die Bibliothek jbidibc sind in //Java// geschrieben. Die Projekte basieren auf //Maven// (maven3). Um die beiden Projekte zu builden, muss folgendes installiert sein: * Java Development Kit (JDK 11 oder besser JDK17), * Maven 3 * git Client (z.B. [[https://github.com/git-for-windows/git/releases|PortableGit]], TortoiseGit oder SourceTree unter Windows, git Client für Linux ist meistens schon vorinstalliert) * Entwicklungsumgebung (z.B. [[https://eclipse.org/downloads/eclipse-packages/|Eclipse - Eclipse IDE for Java Developers]]) ===== JDK und Maven installieren ===== JDK 11 oder 17 von [[https://bell-sw.com/pages/downloads/#/java-17-lts%20/%20current|Bellsoft Liberica]] runterladen und installieren. Maven 3 als //Binary zip archive// (Windows) oder //Binary tar.gz archive// (Linux) von [[https://maven.apache.org/download.cgi|Apache Maven]] downloaden und durch Entpacken //installieren//. 8-) Hinweis: Maven wird während dem ersten Build sehr viele Abhängigkeiten (Dependencies) herunterladen! Die Konfigurationsdatei von Maven liegt unter ''/conf/settings.xml''. Hier kann man Einstellungen anpassen um z.B. den Ablageort des lokalen //Maven-Repository// festzulegen. Standardmässig wird das //Maven-Repository// unter dem Benutzerverzeichnis angelegt (''.m2/repository''). Wenn man das //Maven-Repository// an einen anderen Ort legen will muss man im ''settings.xml'' den Eintrag '''' machen/anpassen: D:/.m2/repository In diesem Fall liegt das lokale Maven-Repository dann unter ''D:/.m2/repository''. Damit Maven funktioniert muss das JDK in den Pfad aufgenommen werden. Dazu das JDK (C:\Program Files\BellSoft\LibericaJDK-17\bin) entweder in den globalen Pfad hinzufügen oder eine Batch-Datei bauen, welche den Pfad setzt. Ich verwende z.B. folgendes Skript: SET JAVA_HOME=C:\Program Files\BellSoft\LibericaJDK-17 SET M2_HOME=D:\tools\apache-maven-3.9.2 SET GIT_HOME=D:\tools\PortableGit-2.10.0 SET PATH=%M2_HOME%\bin;%JAVA_HOME%\bin;%GIT_HOME%\bin;%PATH% SET MAVEN_OPTS=-Xmx1024m rem mvn clean install rem mvn clean install -DskipTests=true call CMD.EXE Durch Doppelklick im Explorer wird eine Console (Command Prompt) geöffnet und man kann folgendes Maven-Kommando eingeben: ''mvn --version'' D:\git\jbidibc>mvn --version Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true Apache Maven 3.9.2 (c9616018c7a021c1c39be70fb2843d6f5f9b8a1c) Maven home: D:\tools\apache-maven-3.9.2 Java version: 17.0.7, vendor: BellSoft, runtime: C:\Program Files\BellSoft\LibericaJDK-17 Default locale: en_GB, platform encoding: Cp1252 OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" Maven wurde erfolgreich installiert :-) ===== PortableGit installieren ===== PortableGit kann von Github heruntergeladen werden: [[https://github.com/git-for-windows/git/releases|https://github.com/git-for-windows/git/releases]] Unter dem Punkt //Git for Windows// findet man mehrere Installationsmöglichkeiten, unter anderem auch //PortableGit//. Ich habe in diesem Beispiel ''https://github.com/git-for-windows/git/releases/download/v2.10.0.windows.1/PortableGit-2.10.0-64-bit.7z.exe'' heruntergeladen. Anschliessend das //exe// ausführen und den Ort der Installation wählen: {{ :wizard:eclipse:git-portable-install.png |}} Anschliessend werden die Git-Programmdateien in dieses Verzeichnis kopiert. ===== Clonen der Sourcen ===== Die Sourcen sind in einem git-Repo auf Sourceforge abgelegt. Um die aktuellen Sourcen auf den Rechner zu bekommen müssen die Repositories gecloned werden. Dies erfolgt mit git über das HTTP-Protokoll (geht auch durch Firewalls) oder das git-Protokoll. ==== jbidibc ==== Das aktuelle jbidibc-Git-Repository ist kein public Repository. Der alte Stand auf sourceforge wird nicht mehr gepflegt. \\ Bei Interesse bitte über das Forum melden. :!: Das Git-Repository ist nicht das gleiche wie das Maven-Repository. Um das clonen zu starten kann im Verzeichnis wo die Sourcen abgelegt werden sollen folgender Befehl ausgeführt werden: git clone https:// jbidibc-code Dadurch werden die Sourcen in das neue Unterverzeichnis ''jbidibc-code'' geladen. ===== Builden auf Kommandozeile ===== Nach dem Wechsel in das Verzeichnis mit den Sourcen kann man direkt das Maven-Kommando eingeben: ''mvn clean install'' Dieses Kommando startet den Maven-Build. Wenn der Build erfolgreich durchgelaufen ist kommt am Ende folgende Ausgabe: [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] jBiDiB :: Parent ................................... SUCCESS [ 1.096 s] [INFO] jBiDiB :: jbidibc Core ............................. SUCCESS [ 17.867 s] [INFO] jBiDiB :: jbidibc Serial ........................... SUCCESS [ 2.602 s] [INFO] jBiDiB :: jbidibc RXTX ............................. SUCCESS [ 0.489 s] [INFO] jBiDiB :: jbidibc Net .............................. SUCCESS [ 1.901 s] [INFO] jBiDiB :: jbidibc Simulation ....................... SUCCESS [ 4.214 s] [INFO] jBiDiB :: jbidibc Tools ............................ SUCCESS [ 1.374 s] [INFO] jBiDiB :: jbidibc Assembly ......................... SUCCESS [ 1.426 s] [INFO] jBiDiB :: jbidibc SCM .............................. SUCCESS [ 1.717 s] [INFO] jBiDiB :: jbidibc Debugger ......................... SUCCESS [ 2.027 s] [INFO] jBiDiB :: jbidibc Decoder .......................... SUCCESS [ 6.116 s] [INFO] jBiDiB :: jbidibc Exchange ......................... SUCCESS [ 9.246 s] [INFO] jBiDiB :: jbidibc Experimental ..................... SUCCESS [ 2.750 s] [INFO] jBiDiB :: jbidibc POM update ....................... SUCCESS [ 2.705 s] [INFO] jBiDiB :: jbidibc UI components .................... SUCCESS [ 2.578 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 58.378 s [INFO] Finished at: 2016-09-15T22:14:10+02:00 [INFO] Final Memory: 51M/467M [INFO] ------------------------------------------------------------------------ Keine Angst, nachher geht das aus Eclipse raus ... ;-) ===== Eclipse IDE installieren ===== Download von der Eclipse Seite: [[https://eclipse.org/downloads/eclipse-packages/|https://eclipse.org/downloads/eclipse-packages/]] Hier kann die //Eclipse IDE for Java Developers// verwendet werden. In dieser Version sind die Plugins für Maven und Git schon installiert. Nach dem Download des für das OS passenden Pakets (ZIP) kann der Inhalt an einen beliebigen Ort entpackt werden. Eclipse wird durch Ausführen von //eclipse.exe// gestartet, welches sich im Root des entpackten Verzeichnis befindet. Man kann //eclipse.exe// auch an der Taskbar festpinnen lassen, dann kann es direkt aus der Taskbar gestartet werden. Eclipse arbeitet mit sogenannten //Workspaces// in welchen die Daten abgelegt werden, welche von Eclipse zur Laufzeit benötigt werden. Wenn man mehrere Projekte hat, kann man für jedes Projekt eine andere Workspace verwenden. Man kann Eclipse auch mehrfach starten und dabei mehrere Workspaces parallel offen haben (den gleichen Workspace nicht mehrfach!). Nach dem Starten von Eclipse kommt der Auswahldialog wo der Workspace erzeugt werden soll. {{ :wizard:eclipse:eclipse-select-workspace.png |}} Anschliessend wird eine Begrüssungsseite auf der man am besten die Checkbox zum Anzeigen bei jedem Neustart deselektiert. {{ :wizard:eclipse:eclipse-welcome.png |}} Danach kann in die Workbench gewechselt werden. Dieser Schritt entfällt beim nächsten Neustart wenn der gleiche Workspace verwendet wird. 8-) Gleich noch ein Hinweis: In ganz seltenen Fällen (... meistens nach Updates von Eclipse-Plugins ...) kann der Workspace korrupt werden (zumindest war es früher so). Dann hilft nur noch das Löschen und Neuanlegen des Workspace. Und gleich der nächste Hinweis: Das ist mir aber in den letzten Jahren nicht mehr oft passiert :-) Jetzt noch den Desktop einrichten (sind nur Vorschläge): * Mylyn und Task List schliessen * Outline View neben den Package Explorer verschieben {{ :wizard:eclipse:eclipse-desktop-einrichten.png |}} ==== Maven-Integration einrichten ==== Anschliessend muss die Maven-Installation ausgewählt werden, welche verwendet werden soll. Das ist wichtig weil sonst unter Umständen das lokale Maven-Repository an einem anderen Ort (default ...) nochmals angelegt wird. Über das Menü Windows > Preferences wird der Preferences-Dialog geöffnet. Im Preferences-Dialog dann zu Maven > Installations wechseln. {{ :wizard:eclipse:eclipse-preferences-maven-installation.png |}} Mit Klick auf Add öffnet sich der folgende Dialog: {{ :wizard:eclipse:eclipse-preferences-add-maven-runtime.png |}} Über den //Directory//-Button kann das Verzeichnis der lokalen Maven-Installation ausgewählt werden und nach dem Klick auf //Finish// wird die lokale Installation in der Liste angezeigt. Diese Installation muss jetzt noch selektiert (Checkbox aktivieren) werden und die Änderungen mit //Apply// übernommen werden. {{ :wizard:eclipse:eclipse-preferences-added-maven-inst.png |}} Anschliessend in Maven > User Settings nachschauen ob das //Local Repository// an den gleichen Ort zeigt wie die Daten aus den Schritten oben. Normalerweise ist dies nicht der Fall. Deshalb muss unter //Global Settings// das //settings.xml// der lokale Maven-Installation (unter //conf/settings.xml//) ausgewählt werden. Ein Klick auf //Update Settings// sollte dann unter //Local Repository// das lokale Maven-Repository anzeigen. {{ :wizard:eclipse:eclipse-preferences--maven-usersettings.png |}} Anschliessend müssen diese Einstellungen mit //Apply// übernommen werden. Danach den Settings-Dialog mit //OK// schliessen. 8-) Hinweis: Man kann das //settings.xml// auch im User-Home unter //.m2// ablegen. Wenn dort eine Datei mit dem Namen //settings.xml// existiert, überschreiben die Informationen in dieser Datei die "globalen" Daten. Der Vorteil von Maven-Settings in ///.m2/settings.xml// ist, dass man die Maven-Settings für mehrere Versionen von Maven definieren kann, statt bei jeder Maven-Version immer das //settings.xml// unter ///conf// anpassen zu müssen. Falls das jemand machen will: Man kann mit dem Explorer kein Verzeichnis oder Datei mit einem "." beginnend erzeugen, also ".m2" geht nicht. Es funktioniert aber aus der Kommandozeile heraus, also Command Prompt aufmachen, in das Verzeichnis wechseln und dort ''md .m2'' ausführen. ==== Maven-Projekte importieren ==== Als nächster Schritt werden die Maven-Projekte in Eclipse importiert. Dazu muss die Package Explorer View aktiviert werden und dort über das Kontext-Menü //Import ...// (oder über das Menü //File > Import ...//) der Import-Dialog aufgerufen werden. {{ :wizard:eclipse:eclipse-import-menu.png |}} Im Import-Dialog steht unter //Maven > Existing Maven Projects// ein Wizard zum Importieren der Maven-Projekte zur Verfügung. {{ :wizard:eclipse:eclipse-import-maven-project-dialog.png |}} Im nächsten Schritt wird als //Root Directory// das Verzeichnis mit den Sourcen ausgewählt. Das ist das Verzeichnis wohin die Sourcen gecloned wurden. Anschliessend werden unter //Projects// alle Maven-Module angezeigt die gefunden wurden. Als //Maven-Module// bezeichne ich die Sub-Projekte des Maven-Projekt. {{ :wizard:eclipse:eclipse-import-maven-projects-all.png |}} Da nicht alle //Maven-Module// gebraucht werden, kann man jetzt das oberste ''pom.xml'' und das Modul ''jbidibc-assembly/pom.xml'' deselektieren. {{ :wizard:eclipse:eclipse-import-maven-projects-selected.png |}} Nach dem Klick auf //Finish// werden die Maven-Module in den Eclipse Workspace importiert. Dabei erkennt Eclipse dass die Projekte mit Git verwaltet werden und stellt automatisch eine entsprechende Verbindung her. {{ :wizard:eclipse:eclipse-import-maven-projects-git.png |}} Wenn der Import abgeschlossen ist, werden die Maven-Module im //Package Explorer// angezeigt und gebuildet. {{ :wizard:eclipse:eclipse-maven-projects-imported.png |}}