[maven-4.0.x] Fix [unknown project] messages in error output (#11324) by gnodet · Pull Request #11349 · apache/maven (original) (raw)
Resolves issue apache#11292 where Maven shows '[unknown project]' in error messages when using -e -X flags, particularly in CI environments.
The issue occurred because DefaultProjectBuilder was creating DefaultProjectBuildingResult with null project information when ModelBuilderResult.getEffectiveModel() returned null, resulting in empty projectId and causing ProjectBuildingException.createMessage() to display '[unknown project]' as a fallback.
This fix extracts project identification from available model data (rawModel or fileModel) when effectiveModel is null, following the same pattern used in ModelBuilderException.getModelId().
Changes:
- Added extractProjectId() helper method that falls back to rawModel or fileModel when effectiveModel is null
- Modified project building result creation to use extracted projectId and POM file information instead of null values
- Maintains backward compatibility: when all models are null, still returns empty string to preserve '[unknown project]' fallback for truly unknown projects
This provides better error messages showing meaningful project identification like 'com.example:my-project:jar:1.0.0' even when project building fails, while maintaining existing error handling patterns.
(cherry picked from commit cb5ee55)