From a424c6b661cd7aedf8ac39a049e030dc48c63f5b Mon Sep 17 00:00:00 2001 From: Tamas Cservenak Date: Tue, 27 Aug 2024 17:16:25 +0200 Subject: [PATCH] [MJAVADOC-810] [REGRESSION] MJAVADOC-791 causes forked Maven execution fail if any toolchains or settings file isn't present As request carries the "effective" value (default or user overriden ones) but it does not mean they exist. And as invoker used, effect is same as user would use -s/-t CLI commands with non-existent files: mvn CLI failure. Co-authored-by: Michael Osipov This closes #313 --- .../maven/plugins/javadoc/JavadocUtil.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java index 5bd3fb7a3..ecd5d77b4 100644 --- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java +++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java @@ -780,10 +780,18 @@ protected static void invokeMaven( InvocationRequest request = new DefaultInvocationRequest(); request.setBaseDirectory(projectFile.getParentFile()); request.setPomFile(projectFile); - request.setGlobalSettingsFile(globalSettingsFile); - request.setUserSettingsFile(userSettingsFile); - request.setGlobalToolchainsFile(globalToolchainsFile); - request.setToolchainsFile(userToolchainsFile); + if (globalSettingsFile != null && globalSettingsFile.isFile()) { + request.setGlobalSettingsFile(globalSettingsFile); + } + if (userSettingsFile != null && userSettingsFile.isFile()) { + request.setUserSettingsFile(userSettingsFile); + } + if (globalToolchainsFile != null && globalToolchainsFile.isFile()) { + request.setGlobalToolchainsFile(globalToolchainsFile); + } + if (userToolchainsFile != null && userToolchainsFile.isFile()) { + request.setToolchainsFile(userToolchainsFile); + } request.setBatchMode(true); if (log != null) { request.setDebug(log.isDebugEnabled());