OpenLiberty / OpenLiberty/ci.common

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

Open
#412 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
4
Forks
32
Avg merge
1d 5h
Merged PRs (30d)
5

Description

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:

  • XPATH_SERVER_APPLICATION = xPath.compile("/server/application");
  • XPATH_SERVER_WEB_APPLICATION = xPath.compile("/server/webApplication");
  • XPATH_SERVER_ENTERPRISE_APPLICATION = xPath.compile("/server/enterpriseApplication");

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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in ServerConfigDocument.parseIncludeVariables and parseInclude, then trace initializeAppsLocation and parseNames. Determine how each included application's id is merged and how the include element's onConflict setting should affect the three listed application XPath elements; done means included applications follow those rules consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.