enhancement
major
minor
defect
critical
major
minor
major
#30103
tl-maven-plugin: If merging the view overlays fails during application build, the build remains green
Error
When building an application with the tl-app packaging tool, TLAppWar merges the view overlays (TLAppWar.createLayouts → LayoutCreator.mergeViewOverlays → ViewOverlayMerger.mergeOverlaidViews). If the merging fails, the error is only logged, and the build ends with BUILD SUCCESS. The overlay is then missing from the application without any indication.
Example: The tax application (tl-factory-app, repository TopLogic/tl-factory) places its sidebar entries in the shell WEB-INF/views/app.view.xml from tl-layout-view. Since the shell organizes the entries into the application and system sections, this anchor no longer exists. The build reports:
ERROR com.top_logic.layout.view.ViewLoader - No corresponding ConfigurationItem found for reference 'system-separator'; possible values are: application, system at file:///WEB-INF/views/app.view.xml line 41 column 15. ERROR com.top_logic.layout.view.ViewOverlayMerger - Failed to merge view overlays: /WEB-INF/views/app.view.xml [INFO] BUILD SUCCESS
Afterward, the running application does not display any of its own entries in the sidebar. This was first noticed during a check in the browser.
Solution
- An error merging the view overlays in TLAppWar causes the build to fail and specifies the affected view and the cause.
- Test: An application whose overlay uses a nonexistent reference (config:reference) fails to build.
Issue #30107 resolves the same behavior for invalid layouts.