Windows: atlas-run.bat can't identify old vs new plugins in child pom.xml

Description

Problem

See this block

The command makes an attempt to identify whether the pom is using an old AMPS plugin or version and will not run if it finds old values.

It does this by checking:

1. For the presence of <amps.version> with a value >= 8
2. Whether the name of the AMPS plugin in use is new (AMPS 8+), e.g. jira-maven-plugin, or old (pre-AMPS 8), e.g. maven-jira-plugin.

In a project created by atlas-create-jira-plugin there is only a single pom.xml, which contains <amps.version>, and the first test passes, and everything works.

In a project with a parent pom.xml that contains <amps.version>, the first test fails and it checks the name of the plugin being used, using

for /F "tokens=3 delims=><. " %%a in ( … ) do (set PLUGIN_AMPS_PLUGIN_VERSION=%%a)

This will split the input on the characters ><. and take the 3rd element.

The input to this looks like:

" <artifactId>jira-maven-plugin</artifactId>"

This gives a split of
0: " "
1: "artifactId"
2: "jira-maven-plugin"
3: "/artifactId"

This means the plugin name used is "/artifactId". This is not a new plugin name so the check fails.

Workaround

Place <amps.version> in all child pom.xml files.

Potential fix

Correct the token count:

for /F "tokens=2 delims=><. " %%a in (…) do (set PLUGIN_AMPS_PLUGIN_VERSION=%%a)

Environment

None

Testing Notes

Add notes...

Activity

Show:
Chris Williams
March 11, 2021, 2:37 AM

No worries, was checking just in case. Have a good day!

Sujay Raj
March 10, 2021, 9:19 AM

Hi Chris. I have no idea how I’m shown as the assignee for this ticket. I’ve unassigned it now. Sorry for the inconvenience.

Chris Williams
March 10, 2021, 6:54 AM

Hi , I just wanted to check if you were working on this ticket or should we reassign it to the platform team?

Michael Minns
September 30, 2020, 3:45 PM

Interestingly this issue suggest it might have been fixed once, as it includes tokens=2

Fixed

Assignee

Chris Williams

Reporter

Michael Minns