Gradle 5.5

Mittlerweile ist es schon einen Monat her, dass Gradle 5.5 veröffentlicht wurde, also höchste Zeit, sich die neuesten Änderungen anzuschauen.

Als erstes neues Feature fällt sofort auf, dass der Init Task von Gradle jetzt direkt anbietet, JUnit Jupiter als Testframework vorzukonfigurieren. Außerdem hat der Init Task jetzt auch gelernt, Gradle Plugin Projekte zu generieren, welches die Entwicklung eigener Plugins deutlich vereinfacht.

Für Unternehmen, die bislang einen Mechanismus zum Vorgeben von unternehmensweiten Einstellungen vermisst haben, gibt es jetzt die Option, eine eigene Gradle Distribution zu erstellen. In diese können bereits vorkonfigurierte gradle.properties Dateien inkludiert werden. Dies ermöglicht es, Standardeinstellungen festzulegen, erlaubt aber auch einzelnen Projekten, diese zu überschreiben.

Für Plugin-Autoren sind eine ganze Reihe kleinerer Verbesserungen eingeführt worden, im Speziellen existiert jetzt eine ObjectFactory, die es ermöglicht, viele Objekttypen zu erstellen, welche zuvor eine Projekt Instanz benötigten. Dies vereinfacht nicht nur die Erstellung der Objekte, sondern ermöglicht es auch Plugins, die nicht auf Projektebene arbeiten, lazy evaluiert zu werden.

Nicht zuletzt wurde die Eclipse-Integration weiter verbessert. Buildship ist jetzt in der Lage, mehrere Projekte mit identischen Namen in Eclipse zu importieren.

Posted in Build, config and deploy | Tagged | Leave a comment

Java Commercial Support Preisvergleich

Nachdem wir uns in den vergangenen Blog-Artikeln der Serie mit den Lizenzänderungen beschäftigt und unsere Möglichkeiten evaluiert haben, weiterhin kostenlos Java zu benutzen, wollen wir uns nun den kostenpflichtigen Alternativen zu Oracles LTS zuwenden. Was kostet es, sich von einem der anderen Anbieter supporten zu lassen und was hat man davon?

Continue reading
Posted in Politics | Tagged , , | Leave a comment

Docker Best Practices: Alle Wege führen nach Docker

Dieser Beitrag ist der Auftakt zu einer mehrteiligen Docker-Best-Practices Reihe und eine kurze Einführung in die Nutzung auf der Kommandozeile. Docker ist mittlerweile aus Anwendungslandschaften und der Software-Entwicklung nicht mehr wegzudenken. Selbst wenn man es nicht in der Produktionsumgebung zur Verfügung hat, kann man schon in der Software-Entwicklung oder als persönliches Werkzeug viele Vorteile dieses Tools genießen.

Continue reading
Posted in Java Runtimes - VM, Appserver & Cloud | Leave a comment

Statische Codeanalyse mit unmittelbarem Feedback in der IDE mit SonarLint und SonarQube

Um in der Softwareentwicklung die Codequalität zu erhöhen, gibt es einige Tools zur statischen Codeanalyse, die unterschiedliche Sprachen und Kriterien abdecken. Während wir es gewohnt sind, beim Schreiben von Code von einer IDE mit Compiler, Debugger und dergleichen unterstützt zu werden, laufen solche Codeanalysetools regelmäßig im Zusammenhang mit einem Buildprozess, der separat angestoßen werden muss. Oder sie laufen im Rahmen einer Continuous Integration zentral, und man erhält als Entwickler erst im Nachhinein durch den Report Hinweise auf potentielle Probleme und Verbesserungsvorschläge. Und wie werden die Konfigurationen synchronisiert, wenn es nicht zentral auf einem Server läuft?

Continue reading
Posted in Java and Quality | Tagged , , , | Leave a comment

Parametrisierte Tests in JUnit 5

Parametrisierte Tests in JUnit 5 ermöglichen es uns, einen Test mehrmals mit verschiedenen Argumenten auszuführen. Dafür benutzt man die Annotation @ParameterizedTest an einer Testmethode anstelle der @Test Annotation. Außerdem ist noch mindestens eine Datenquelle zu definieren, die die Argumente für die Testmethode liefert. Zum Definieren von Datenquellen gibt es verschiedene Annotationen.

Continue reading
Posted in Java and Quality | Tagged , | Leave a comment

Welche neuen Features bringt Angular 8?

Geplant war das Release der neuen Angular-Version für Mai 2019 und tatsächlich, da ist es mit dem Release von Version 8.0.0 am 28.05.2019. Auch wenn Angular 7 noch bis April 2020 weiter unterstützt wird, macht es Sinn, sich mit der neuen Version jetzt schon vertraut zu machen.

In diesem Blog-Post werden wir uns daher anschauen, welche neuen Features bzw. Änderungen die neunte Version des Frameworks mit sich bringt. Eines dieser Features (das Ivy-Projekt) ist dabei etwas größer. Deshalb werden wir darauf zu Beginn einen genaueren Blick werfen.

Continue reading
Posted in Web as a Platform | Tagged , , , , | Leave a comment

Serverless Architecture, der neue Trend

Die Industrie hat gerade erst kürzlich den letzten größeren architekturellen Hype durchgemacht. Das Aufteilen traditionell monolithischer Applikationen in Microservices und das Betreiben dieser in der Cloud ist ein großer Schritt in eine neue Welt. In dieser neuen Welt scheint alles unendlich skalierbar und modularisierbar. Nun soll es aber jenseits dessen, in Form der Serverless Architecture, noch einen Schritt weiter gehen. Dieser Blog-Post beschäftigt sich mit den grundlegenden Fragen: was ist eigentlich Serverless und welche Vor- und Nachteile hat es?

Continue reading
Posted in Java Runtimes - VM, Appserver & Cloud | Tagged , , , | Leave a comment