
Johan Kragt contributed to the OpenRewrite and bmuschko/rewrite repositories by engineering automated migration and code quality solutions that streamline Java and Gradle modernization. He developed and refined static analysis tools, build script transformations, and migration recipes, focusing on maintainability and upgrade readiness. Using Java, Kotlin, and Groovy, Johan implemented features such as automated dependency management, Java version compatibility updates, and code formatting improvements. His work addressed complex scenarios like multi-module Gradle builds and cross-language compatibility, while also resolving bugs in annotation processing and static analysis. The depth of his contributions improved reliability, reduced technical debt, and accelerated large-scale codebase upgrades.

September 2025 monthly summary for openrewrite/rewrite-migrate-java: Completed Java 25+ modernization across critical API usage, resource management, and code hygiene. This work reduces upgrade risk, improves maintainability, and prepares the codebase for future Java upgrades. Key changes modernize API usage, tighten resource handling, and introduce reusable patterns to support ongoing Java modernization.
September 2025 monthly summary for openrewrite/rewrite-migrate-java: Completed Java 25+ modernization across critical API usage, resource management, and code hygiene. This work reduces upgrade risk, improves maintainability, and prepares the codebase for future Java upgrades. Key changes modernize API usage, tighten resource handling, and introduce reusable patterns to support ongoing Java modernization.
Concise monthly summary for 2025-07 (bmuschko/rewrite): Key features delivered include Gradle Dependency Version Management in buildscript.ext with support for variables (including string concatenation) and multi-module scenarios, plus a refactor to freestanding scripts and tests across dependency declaration formats. Major bugs fixed cover AddOrUpdateAnnotationAttribute value handling to correctly differentiate implicit vs explicit value parameters, and a comprehensive set of MinimumViableSpacing Java formatting fixes (imports, class annotations, modifiers, extends/implements, throws) with tests. Overall impact: improved reliability and maintainability of dependency version management and Java formatting, expanded test coverage, and reduced risk of build-time and style regressions in multi-module projects. Technologies/skills demonstrated: Gradle build scripting, freestanding script refactoring, Java annotation handling, test-driven development, multi-module configurations, and automated testing.
Concise monthly summary for 2025-07 (bmuschko/rewrite): Key features delivered include Gradle Dependency Version Management in buildscript.ext with support for variables (including string concatenation) and multi-module scenarios, plus a refactor to freestanding scripts and tests across dependency declaration formats. Major bugs fixed cover AddOrUpdateAnnotationAttribute value handling to correctly differentiate implicit vs explicit value parameters, and a comprehensive set of MinimumViableSpacing Java formatting fixes (imports, class annotations, modifiers, extends/implements, throws) with tests. Overall impact: improved reliability and maintainability of dependency version management and Java formatting, expanded test coverage, and reduced risk of build-time and style regressions in multi-module projects. Technologies/skills demonstrated: Gradle build scripting, freestanding script refactoring, Java annotation handling, test-driven development, multi-module configurations, and automated testing.
June 2025 monthly summary focused on delivering correctness improvements, cross-language compatibility, and migration automation across three repositories. Key work included: improving static analysis reliability by detecting infinite loops in FallThroughVisitor, hardening Lombok parsing to avoid IndexOutOfBoundsException, extending Java compatibility checks to Kotlin DSLs for Gradle, automating migration from Springfox Docket to GroupedOpenAPI with tests, and tightening annotation attribute handling with extra tests. These changes reduce risk in code analysis, broaden language/tool support, and accelerate maintainability efforts across the OpenRewrite ecosystem.
June 2025 monthly summary focused on delivering correctness improvements, cross-language compatibility, and migration automation across three repositories. Key work included: improving static analysis reliability by detecting infinite loops in FallThroughVisitor, hardening Lombok parsing to avoid IndexOutOfBoundsException, extending Java compatibility checks to Kotlin DSLs for Gradle, automating migration from Springfox Docket to GroupedOpenAPI with tests, and tightening annotation attribute handling with extra tests. These changes reduce risk in code analysis, broaden language/tool support, and accelerate maintainability efforts across the OpenRewrite ecosystem.
Summary for 2025-05: This month focused on licensing visibility, framework transformations, compatibility, and Gradle/Kotlin DSL tooling across OpenRewrite and bmuschko/rewrite. Highlights include licensing information accessibility across seven OpenRewrite repositories, enhanced log statement analysis and JavaParser configuration, Spring Web 6.x compatibility alignment, and a broad set of Gradle/Kotlin DSL improvements (HTTPS for Kotlin DSL repos, dependency-constraint-to-rule enhancements, YAML unfolding, and expanded Kotlin DSL support). Key reliability improvements were applied to static-analysis refactoring and Gradle idempotency fixes, improving build stability and upgrade-readiness. This work strengthens license transparency, developer productivity, and business readiness for upcoming releases.
Summary for 2025-05: This month focused on licensing visibility, framework transformations, compatibility, and Gradle/Kotlin DSL tooling across OpenRewrite and bmuschko/rewrite. Highlights include licensing information accessibility across seven OpenRewrite repositories, enhanced log statement analysis and JavaParser configuration, Spring Web 6.x compatibility alignment, and a broad set of Gradle/Kotlin DSL improvements (HTTPS for Kotlin DSL repos, dependency-constraint-to-rule enhancements, YAML unfolding, and expanded Kotlin DSL support). Key reliability improvements were applied to static-analysis refactoring and Gradle idempotency fixes, improving build stability and upgrade-readiness. This work strengthens license transparency, developer productivity, and business readiness for upcoming releases.
April 2025 monthly summary focused on delivering measurable business value through code quality improvements, migration consolidation, and proactive risk mitigation across multiple OpenRewrite repositories. The month emphasized integrating and standardizing automation recipes, strengthening validation and static analysis tooling, and advancing Java migration capabilities to enable safer, scalable upgrades for our users.
April 2025 monthly summary focused on delivering measurable business value through code quality improvements, migration consolidation, and proactive risk mitigation across multiple OpenRewrite repositories. The month emphasized integrating and standardizing automation recipes, strengthening validation and static analysis tooling, and advancing Java migration capabilities to enable safer, scalable upgrades for our users.
Overview of all repositories you've contributed to across your timeline