From 1f8b782ff1b146db6c1619534bc50ea9f3384802 Mon Sep 17 00:00:00 2001 From: Volodymyr Medvid Date: Tue, 3 Feb 2026 23:12:20 +0100 Subject: [PATCH] Delegate getValue/setValue in DefaultBuildContext to legacy build API This prevents objects from being stored in the singleton DefaultBuildContext instead of the thread-local build context (ThreadBuildContext) in Eclipse, avoiding unintended cross-project state sharing. --- .../org/codehaus/plexus/build/DefaultBuildContext.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/codehaus/plexus/build/DefaultBuildContext.java b/src/main/java/org/codehaus/plexus/build/DefaultBuildContext.java index 2b34e71..5cde79a 100644 --- a/src/main/java/org/codehaus/plexus/build/DefaultBuildContext.java +++ b/src/main/java/org/codehaus/plexus/build/DefaultBuildContext.java @@ -153,12 +153,18 @@ public boolean isIncremental() { /** {@inheritDoc} */ public Object getValue(String key) { - return contextMap.get(key); + if (isDefaultImplementation()) { + return contextMap.get(key); + } + return legacy.getValue(key); } /** {@inheritDoc} */ public void setValue(String key, Object value) { - contextMap.put(key, value); + if (isDefaultImplementation()) { + contextMap.put(key, value); + } + legacy.setValue(key, value); } /** {@inheritDoc} */