Continuous Integration ·Programmierung

ANTLR in pom.xml hinzufügen

Beim kompilieren eines Projektes hatte ich vor kurzem die folgende Fehlermeldung: [ERROR] /home/jenkins/wap/src/main/java/wap/org/homeunix/wap/table/symbol/SymbolTable.java:[15,25] package org.antlr.runtime does not exist [ERROR] /home/jenkins/wap/src/main/java/wap/org/homeunix/wap/table/symbol/SymbolTable.java:[16,30] package org.antlr.runtime.tree does not exist Das liegt daran, dass ANTLR (ANother Tool for Language Recognition) nicht in den Abhängigkeiten in der pom.xml aufgelistet war. Dazu reicht es folgendes in der pom.xml hinzuzufügen: <dependencies> <dependency> <groupId>org.antlr</groupId>… Weiterlesen ANTLR in pom.xml hinzufügen

Allgemein

[Jenkins] Failed to execute goal org.jenkins-ci.tools:maven-hpi-plugin:1.117:hpi

Momentan bin ich – als eine Art von Übung – dabei, eine Funktionalität in einen der Jenkins-Plugins hinzuzufügen, genauer gesagt, das Groovy-Postbuild Plugin. Mein erstes Ziel war es den Quelltext in Eclipse einzubinden und den Quelltext, so wie er zu dem Zeitpunkt war, zum Laufen zu bekommen, d.h. am Schluss sollte ich eine hpi-Datei bekommen.… Weiterlesen [Jenkins] Failed to execute goal org.jenkins-ci.tools:maven-hpi-plugin:1.117:hpi

Programmierung

[Eclipse] Plugin execution not covered by lifecycle configuration

Ich bin noch recht neu bei Eclipse. In einem Fall, bei dem ich lernen wollte, wie man ein Jenkins-Plugin schreibt, tauchte die Fehlermeldung auf: Plugin execution not covered by lifecycle configuration: org.codehaus.gmaven:gmaven-plugin:1.5-jenkins-1:testCompile (execution: test-in-groovy, phase: test-compile) Lösung Die Lösung war folgende: In der Menüleiste Windows -> Preferences anklicken. Es tauchte ein neues Fenster auf (Preferences).… Weiterlesen [Eclipse] Plugin execution not covered by lifecycle configuration

Continuous Integration ·Programmierung

[Jenkins/Groovy] Konsolenausgabe in Datei abspeichern

Wenn man die Konsolenausgabe eines Jobs in eine Datei abspeichern möchte, um diese Datei eventuell später zu analysieren oder nach Fehlern zu durchsuchen, dann kann man folgende Zeilen verwenden: import hudson.model.*; import hudson.*;   String getLog() { return manager.build.logFile.text; }   EnvVars envVars = manager.build.getEnvironment(manager.listener); this_ws = envVars.get(’WORKSPACE’);   // Wenn der Job im Master… Weiterlesen [Jenkins/Groovy] Konsolenausgabe in Datei abspeichern

Continuous Integration ·Programmierung

[Groovy Postbuild] Konsolenausgabe

Ich habe vergeblich versucht, mit Hilfe von Groovy etwas in die Konsoleausgabe zu schreiben, vor allem mit dem Groovy Postbuild Plugin von Jenkins. Doch jetzt habe ich zum Glück ein kleines Skript gefunden, in der genau das getan wird (https://gist.github.com/halyph/4610274): import hudson.model.*; import hudson.*;   void log(msg) { manager.listener.logger.println(msg); }   log("Hallo Welt :)"); Möchte… Weiterlesen [Groovy Postbuild] Konsolenausgabe

Allgemein ·Linux

Der (static) Linking Prozess mit dem GNU Linker

In diesem Post möchte ich kurz wiedergeben, wie der Link-Algorithmus (mit statischen Bibliotheken) bei dem GNU Linker verläuft. Dabei beziehe ich mich auf http://eli.thegreenplace.net/2013/07/09/library-order-in-static-linking, wo man neben dem Link-Algorithmus auch gut verständliche Beispiele findet (wenn auch nur auf englisch), die ich hier aber nicht nochmal beschreibe. Zu wissen, wie der Link-Algorithmus funktioniert ist wichtig wenn… Weiterlesen Der (static) Linking Prozess mit dem GNU Linker

Programmierung

[CMake] Paket nach dem Erstellen umbenennen

Vor kurzem wollte jemand wissen, ob man nach dem Erstellen eines Paketes mit Hilfe von CPack die Endung dieses Paket automatisch umbenennen kann. Ich glaube, so einfach ist das nicht. Jedenfalls habe ich (noch) keinen Weg gefunden. Aber eine Art „Zwischending“ (wenigstens für Linux). Die Idee ist folgende: CMake erstellt ein Makefile. Dieses Makefile bekommt… Weiterlesen [CMake] Paket nach dem Erstellen umbenennen

Continuous Integration

Jenkins Pipeline Plugin – Scripts not permitted to use staticMethod hudson.model.Hudson getInstance

Vor kurzem wollte ich ein wenig das Jenkins Plugin Pipeline etwas besser kennen lernen. Dazu habe ich das Plugin installiert und anschließen einen neuen Pipeline Job erstellt. Mein Pipeline Skript, das ich anschließend starten wollte, sah so aus: import hudson.model.*;   node { echo "Hallo :)";   // get all jobs jobs = Hudson.getInstance().getAllItems(FreeStyleProject) for… Weiterlesen Jenkins Pipeline Plugin – Scripts not permitted to use staticMethod hudson.model.Hudson getInstance

Continuous Integration

Jenkins absichern mit dem Benutzer-/Gruppenverzeichnis

Heute habe ich ein wenig mit dem der Absicherung von Jenkins mit Hilfe von einem Linux Benutzer- / Gruppenverzeichnis gespielt. Ich habe das getan, um noch ein bisschen vertrauer mit Jenkins zu werden. Diese Absicherung mit Hilfe von einem Benutzer- / Gruppenverzeichnis basiert auf den Benutzern des Betriebssystems, auf dem Jenkins gerade läuft. D.h. wenn… Weiterlesen Jenkins absichern mit dem Benutzer-/Gruppenverzeichnis