OpenLiberty / ci.common

Common functionality for ci.maven and ci.gradle
Apache License 2.0
3 stars 30 forks source link

Handle `onConflict` setting for `include` elements related to application config #412

Open cherylking opened 1 year ago

cherylking commented 1 year ago

When gathering application names and locations from Liberty config files, they are added to a common collection with no regard to the onConflict setting for the <include> element that referenced the Liberty config file. The elements that are gathered from the Liberty config files are:

The methods that would need to query the onConflict setting and honor it are ServerConfigDocument.parseIncludeVariables and ServerConfigDocument.parseInclude. Also, the parseInclude method should probably call parseNames on the included file, just as it was called on the original config file in initializeAppsLocation. When merging multiple app elements for the same app, the id attribute is what connects them. Our code does not consider that attribute currently.

cherylking commented 1 year ago

See this doc describing the onConflict attribute. And this doc describes the merging behavior.