Skip to content

Instantly share code, notes, and snippets.

View gnodet's full-sized avatar

Guillaume Nodet gnodet

View GitHub Profile
@gnodet
gnodet / mvn4-bench.sh
Last active August 2, 2026 23:32
Maven 4 vs Maven 3 performance benchmark (resolver LayeredMap + model builder optimizations)
#!/usr/bin/env bash
#
# Maven 4 Performance Benchmark
# ==============================
# Self-contained script to benchmark Maven 3.9.x vs Maven 4 RC6 vs optimized Maven 4 SNAPSHOT
# on both a small (36-module) and large (4383-module) reactor project.
#
# Prerequisites: JDK 21+, git, curl/wget
# Usage: ./mvn4-bench.sh [workdir]
# Default workdir: /tmp/mvn4-bench
@gnodet
gnodet / mvn3-flamegraph.svg
Created August 1, 2026 21:36
Maven 3 vs Maven 4 (perf PRs) flame graphs — 4383-module benchmark, 2026-08-01
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@gnodet
gnodet / maven-4-migration-analysis.md
Created July 24, 2026 16:44
Maven Plugin Ecosystem: 4.0.x Migration & Dual-Branch Analysis (2026-07-24)

Maven Plugin Ecosystem: 4.0.x Migration & Dual-Branch Analysis

Date: 2026-07-24 | Scope: All 40 apache/maven-*-plugin repos + 5 infrastructure components

Migration Scorecard

Only 7 of 40 plugins (17.5%) have migrated master to Maven 4.x API.

Status Count Plugins

Maven 3 vs Maven 4: Plugin Dependency Resolution

TL;DR

Maven 3 gives a mojo one dependency resolution — a single Set<Artifact> for one scope, stuffed into a mutable MavenProject. A mojo that needs multiple scopes must request the broadest (TEST) and filter, but filtering a combined graph does not reproduce independent resolution — test-scoped roots alter conflict mediation for non-test artifacts, silently producing wrong versions. The maven-dependency-plugin is the worst offender: nearly every goal resolves at TEST scope and exposes includeScope/excludeScope as if they're

@gnodet
gnodet / camel-tui-improvement-plan.md
Last active June 29, 2026 21:15
Apache Camel TUI & Shell — Improvement Plan (test coverage + CamelMonitor decomposition)

Apache Camel TUI & Shell — Improvement Plan

Two high-impact areas for the camel-jbang-plugin-tui module.


Progress

✅ Merged (2026-06-29)

Apache Maven PR Tracking (>= #12083)

Last updated: 2026-05-20T$(date -u +%H:%M:%S)Z

Open PRs

PR Title Base CI Reviews Status
#12083 Fix #12080: mvnup - comment out dependencies with undefined property expressions master ✅ All green none Ready for review
#12099 [4.0.x] Fix #12080: mvnup - comment out dependencies with undefined property expressions maven-4.0.x ✅ All green none CI green, backport of #12083
@gnodet
gnodet / functional-floating-octopus.md
Last active May 20, 2026 08:05
Embedded Runtime MCP Server for Apache Camel - Design Proposal

Embedded Runtime MCP Server for Apache Camel

Context

AI agents debugging Camel routes have no MCP-based way to inspect live route stats, trace exchanges, check health, or interact with the debugger. Camel has rich runtime observability via the DevConsole SPI (~47 consoles) and a BacklogDebugger, but these are only accessible via the dev console HTTP API or JBang CLI file-based protocol.

This plan introduces a new camel-mcp-server module that embeds an MCP server directly inside a running Camel application using the official MCP Java SDK. Tools call DevConsoleRegistry and BacklogDebugger directly — no file I/O, no polling, no latency. The module supports pluggable transports: STDIO, Unix domain sockets, and TCP sockets.

This complements (not replaces) the existing camel-jbang-mcp catalog server, which remains the standalone tool for catalog lookups, migration guides, and OpenAPI tooling.

@gnodet
gnodet / parallel-rolling-bird.md
Created May 13, 2026 10:18
Plan: Migrate ai-agents-oss-helper commands to a single background skill

Plan: Migrate commands to a single background skill

Context

The project currently ships 25 markdown files in commands/ that are installed as individual /oss-* commands for various AI agents. Claude Code has evolved: commands are now merged into skills, and skills are recommended going forward. Skills support auto-invocation, supporting files, and frontmatter control.

The goal is to replace the 25 individual commands with one background skill (user-invocable: false) that Claude auto-loads when the user's request is relevant (e.g., "review PR #42", "fix issue CAMEL-123"). No explicit / invocation needed.

Source structure change

@gnodet
gnodet / maven-branch-analysis.md
Last active May 13, 2026 10:00
Maven: master vs maven-4.0.x branch analysis (2026-05-13)

Maven: master vs maven-4.0.x branch analysis (2026-05-13)

Maven: master vs maven-4.0.x Branch Analysis

Generated on 2026-05-13

Overview

master maven-4.0.x
@gnodet
gnodet / palette-preview.svg
Created April 29, 2026 15:21
CAMEL-21975 route-diagram color palette preview
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.