<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Open-Source on JAVAPRO International</title><link>https://javapro-en.svenruppert.com/tags/open-source/</link><description>Recent content in Open-Source on JAVAPRO International</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Tue, 12 May 2026 07:00:00 +0000</lastBuildDate><atom:link href="https://javapro-en.svenruppert.com/tags/open-source/index.xml" rel="self" type="application/rss+xml"/><item><title>Stop Writing YAML: How to Define, Test, and Deploy Your Cloud in Pure Java</title><link>https://javapro-en.svenruppert.com/stop-writing-yaml-how-to-define-test-and-deploy-your-cloud-in-pure-java/</link><pubDate>Tue, 12 May 2026 07:00:00 +0000</pubDate><guid>https://javapro-en.svenruppert.com/stop-writing-yaml-how-to-define-test-and-deploy-your-cloud-in-pure-java/</guid><description>&lt;h2 id="1-introduction"&gt;&lt;strong&gt;1. Introduction&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;As Java developers, we apply rigorous engineering practices to application code: type safety, unit testing, refactoring, code review. Then we switch to deploying that code and write hundreds of lines of YAML, accepting the lack of expressiveness, missing abstractions, and missing flexibility as the cost of doing business. Or worse, we log into the cloud console and click our way through to the deployment.&lt;/p&gt;
&lt;p&gt;This article explores an alternative: defining cloud infrastructure in Java, with the same tools and practices we use for application code. We&amp;rsquo;ll build a working example, a Java service deployed on AWS, covering the full lifecycle from resource definition through testing to CI/CD. While this example uses Quarkus, the infrastructure patterns demonstrated here apply equally for Spring Boot, Jakarta EE, or any other containerized Java framework. The companion code is available at &lt;a href="https://github.com/wlami/stop-writing-yaml-javapro"&gt;github.com/wlami/stop-writing-yaml-javapro&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Why I Abandoned my 30-year Open Source Project</title><link>https://javapro-en.svenruppert.com/why-i-abandoned-my-30-year-open-source-project/</link><pubDate>Fri, 20 Feb 2026 07:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/why-i-abandoned-my-30-year-open-source-project/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;I started an open-source project in 1996, I am abandoning now. It was not my first OSS project and certainly not the last one. It definitely was the one that lasted the longest and that I had the most faith in having an impact on the industry.&lt;/p&gt;
&lt;p&gt;The project aimed to create a new approach to document maintenance, and over the years, I developed a few versions of software solutions that supported the idea.&lt;/p&gt;</description></item><item><title>Maintaining the IntelliJ “Save Actions” Plugin: A Community Effort to Keep Development Tools Up to Date</title><link>https://javapro-en.svenruppert.com/maintaining-the-intellij-save-actions-plugin-a-community-effort-to-keep-development-tools-up-to-date/</link><pubDate>Wed, 12 Nov 2025 12:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/maintaining-the-intellij-save-actions-plugin-a-community-effort-to-keep-development-tools-up-to-date/</guid><description>&lt;p&gt;For many developers working with IntelliJ IDEA, the &lt;strong&gt;“Save Actions” plugin&lt;/strong&gt; has long been a trusted companion for maintaining consistent and clean codebases. By automatically performing configurable actions on file save—such as optimizing imports, reformatting code, rearranging members, or applying small quick fixes—the plugin helps ensure that projects stay uniform across entire teams.&lt;/p&gt;
&lt;p&gt;After the original development of “Save Actions” came to a halt several years ago, the plugin risked falling out of compatibility with newer IntelliJ versions. To prevent this, &lt;em&gt;XDEV Software&lt;/em&gt; stepped in as the dedicated maintainer and continues to provide updates and maintenance releases through the JetBrains Marketplace. The goal has remained simple: to keep the plugin functional, compatible, and stable for the growing developer community that relies on it.&lt;/p&gt;</description></item><item><title>MockServer NeoLight: A Lightweight Alternative for API Testing with Testcontainers</title><link>https://javapro-en.svenruppert.com/mockserver-neolight-a-lightweight-alternative-for-api-testing-with-testcontainers/</link><pubDate>Fri, 17 Oct 2025 07:00:02 +0000</pubDate><guid>https://javapro-en.svenruppert.com/mockserver-neolight-a-lightweight-alternative-for-api-testing-with-testcontainers/</guid><description>&lt;p&gt;The open-source project &lt;a href="https://github.com/xdev-software/mockserver-neolight"&gt;MockServer NeoLight&lt;/a&gt; has been released as a lightweight rewrite of the original &lt;a href="https://github.com/mock-server/mockserver"&gt;MockServer&lt;/a&gt;. Its primary focus lies on &lt;strong&gt;simplicity&lt;/strong&gt;, &lt;strong&gt;maintainability&lt;/strong&gt;, and seamless integration with &lt;a href="https://java.testcontainers.org/"&gt;&lt;strong&gt;Testcontainers&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The MockServer concept allows developers to mock HTTP and HTTPS requests in order to &lt;strong&gt;simulate APIs for testing purposes&lt;/strong&gt;. By setting expectations for incoming requests and defining responses, it creates controlled environments for integration testing. This isolates the system under test from real external dependencies, leading to predictable and repeatable results.&lt;/p&gt;</description></item><item><title>Supercruising with Testcontainers: Making Tests Faster and More Flexible</title><link>https://javapro-en.svenruppert.com/supercruising-with-testcontainers-making-tests-faster-and-more-flexible/</link><pubDate>Fri, 10 Oct 2025 07:00:01 +0000</pubDate><guid>https://javapro-en.svenruppert.com/supercruising-with-testcontainers-making-tests-faster-and-more-flexible/</guid><description>&lt;p&gt;&lt;strong&gt;Testcontainers&lt;/strong&gt; has become an essential tool in many Java projects to run integration and system tests in realistic environments. However, when test scenarios grow complex, developers often run into limitations—especially around configuration, parallelization, and resource usage. An open-source framework built on top of Testcontainers addresses some of these challenges with powerful extensions.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/xdev-software/tci-base"&gt;&lt;strong&gt;Testcontainers Infrastructure (TCI) Framework&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="1-improve-customizability-and-parallelization"&gt;&lt;strong&gt;1. Improve customizability and parallelization&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;By using the factory pattern when creating containers, the goal is to make it easier for developers to adjust the containers as needed.&lt;/p&gt;</description></item><item><title>Testing Done Right!</title><link>https://javapro-en.svenruppert.com/testing-done-right/</link><pubDate>Thu, 28 Aug 2025 07:00:00 +0000</pubDate><guid>https://javapro-en.svenruppert.com/testing-done-right/</guid><description>&lt;p&gt;Oh no! Not another article about testing! You can find a lot of publications about automated testing in software development, but there is a good reason for it. Testing your code is one of the most important aspects in software development!&lt;/p&gt;
&lt;p&gt;I’m not going to write yet another article about how you should write your tests. I’m also not covering the details of various types of tests. I will elaborate on some pitfalls you should be aware of when writing tests and how to solve them. This is not a scientific approach; it is just my opinion. What&amp;rsquo;s covered in this article? Let&amp;rsquo;s start with discussing why testing is so important in software development. Next, I’ll elaborate on some risks and how we can avoid them. I will also dive into sociable testing and test data generation.&lt;/p&gt;</description></item><item><title>A New Generation’s Chance to Shape the Future: Building the Next Great Java IDE in Open Source</title><link>https://javapro-en.svenruppert.com/a-new-generations-chance-to-shape-the-future-building-the-next-great-java-ide-in-open-source/</link><pubDate>Wed, 16 Jul 2025 07:00:03 +0000</pubDate><guid>https://javapro-en.svenruppert.com/a-new-generations-chance-to-shape-the-future-building-the-next-great-java-ide-in-open-source/</guid><description>&lt;h3 id="a-new-generations-chance-to-shape-the-future-building-the-next-great-java-ide-in-open-source"&gt;&lt;strong&gt;A New Generation’s Chance to Shape the Future: Building the Next Great Java IDE in Open Source&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;The Eclipse IDE has been a key platform for Java developers and a pillar of the open source community for over two decades. It has helped countless developers build applications, from enterprise software to experimental projects, supporting Java’s ecosystem growth. But like all technology, it must evolve to stay relevant. Enter &amp;ldquo;Initiative 31&amp;rdquo;: a bold step toward reimagining what an IDE can be in the 21st century.&lt;/p&gt;</description></item><item><title>Minimize Costs by Utilizing Cloud Storage with Spring-Data-Eclipse-Store</title><link>https://javapro-en.svenruppert.com/minimize-costs-by-utilizing-cloud-storage-with-spring-data-eclipse-store/</link><pubDate>Mon, 29 Jul 2024 07:52:28 +0000</pubDate><guid>https://javapro-en.svenruppert.com/minimize-costs-by-utilizing-cloud-storage-with-spring-data-eclipse-store/</guid><description>How to save money storing data in Cloud blob-stores instead of expensive databases through the use of the open-source Spring-Data-Eclipse-Store library.</description></item></channel></rss>