You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a maven project A that is with packaging pom and is the parent repo. Also I have a microservice B(maven project) which is the child of A. Now if the versions-maven-plugin is specified in project A and not project B, auto shipit command fails to detect it from the parent. So it falls back to manually modifying the pom and increment the version. But the issue with manual version change is, it changes the version for both the version tag inside (project A) as well as the normal version of B in B's pom. But I don't want to increment the parent project's version. I want to release only B.
To Reproduce
Create two maven projects A and B. A is parent for B. They are in separate repo and released separately. Put versions-maven-plugin in repo A.
Download the npm dependencies like auto, @auto-it/maven etc.
Configure autorc file for the B project.
Run the auto shipit command from project B and try to release a new patch version.
It'll try to increase patch version for parent A and B inside B's POM.xml
Expected behavior
It should only increase version for project B and not change the version inside <parent> tag in B's POM.xml
Environment information:
I am running this mostly inside enterprise Jenkins while getting the issue. While running locally it fails on other problems which is irrelevant.
+ npx auto info
(node:449) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
(Use `node --trace-warnings ...` to show where the warning was created)
Environment Information:
"auto" version: v10.37.6
"git" version: v2.30.0
"node" version: v16.13.2
GHE version: v3.5.3
Project Information:
��� Repository: owner/some-repo (���https://github.systems.***/owner/some-repo ���)
��� Author Name: Neloy Das
��� Author Email: [email protected]
��� Current Version: v1.1.1
��� Latest Release: v1.1.0 (���https://github.systems.***/owner/some-repo/releases/tag/v1.1.0���)
��� Labels configured on GitHub project
GitHub Token Information:
��� Token: [Token starting with ghp_]
��� Repo Permission: admin
��� User: user
��� API: https://github.systems.***/api/v3 (���https://github.systems.***/api/v3���)
��� Enabled Scopes: repo
��� Rate Limit: 9978/10000
Additional context
I was checking the index.ts inside maven folder and found that it is checking if the versions-maven-plugin exists or not by just parsing the POM. with this /project/build/plugins/plugin/artifactId[normalize-space(text())='versions-maven-plugin']. My suggestion would be to parse the maven effective pom not just the POM.xml file. Because the versions-maven-plugin can be located in parent pom.
So run this command first : mvn help:effective-pom -Doutput=effective-pom.xml. The output=effective-pom.xml part stores the effective pom in a file of that name. Then we can check that file instead to see if there's any versions-maven-plugin exists or not.
Here's the autorc file if you need it. I am using enterprise jenkins, github and jira here. The links are purposefully changed to remove company information.
neloydas
changed the title
Auto maven plugin does not consider versions-maven-plugin if it's in parent pom
Auto maven plugin does not consider versions-maven-plugin even if it's in parent pom
Sep 17, 2022
neloydas
changed the title
Auto maven plugin does not consider versions-maven-plugin even if it's in parent pom
Auto maven plugin does not consider versions-maven-plugin when it's in parent pom
Sep 18, 2022
Describe the bug
I have a maven project A that is with packaging pom and is the parent repo. Also I have a microservice B(maven project) which is the child of A. Now if the versions-maven-plugin is specified in project A and not project B,
auto shipit
command fails to detect it from the parent. So it falls back to manually modifying the pom and increment the version. But the issue with manual version change is, it changes the version for both the version tag inside (project A) as well as the normal version of B in B's pom. But I don't want to increment the parent project's version. I want to release only B.To Reproduce
@auto-it/maven
etc.auto shipit
command from project B and try to release a new patch version.Expected behavior
It should only increase version for project B and not change the version inside
<parent>
tag in B's POM.xmlEnvironment information:
I am running this mostly inside enterprise Jenkins while getting the issue. While running locally it fails on other problems which is irrelevant.
Additional context
I was checking the index.ts inside maven folder and found that it is checking if the versions-maven-plugin exists or not by just parsing the POM. with this
/project/build/plugins/plugin/artifactId[normalize-space(text())='versions-maven-plugin']
. My suggestion would be to parse the maven effective pom not just the POM.xml file. Because the versions-maven-plugin can be located in parent pom.So run this command first :
mvn help:effective-pom -Doutput=effective-pom.xml
. Theoutput=effective-pom.xml
part stores the effective pom in a file of that name. Then we can check that file instead to see if there's anyversions-maven-plugin
exists or not.Here's the autorc file if you need it. I am using enterprise jenkins, github and jira here. The links are purposefully changed to remove company information.
The text was updated successfully, but these errors were encountered: