Consider replacing jgitflow-maven-plugin with gitflow-maven-plugin

Description

The jgitflow-maven-plugin is not maintained anymore, the last commit was made 2015. There are some issues that are open and most likely will not be fixed, espacially the out-dated TLS / SSH support.

Due to this bug (https://ecosystem.atlassian.net/browse/MJF-301) it's no longer possible to use a Github Repository with SSH but you need to fallback to https.

I'd recomment to use the actively maintained gitflow-maven-plugin instead. It provides the required configurations currently used and some additional ones (e.g. automatic push of the changed branches & tags).

What are your thoughts ?

Activity

Show:
Stefan Seifert
August 10, 2020, 1:23 PM

the outstanding issues in versions-maven-plugin are fixed and version 2.8.1 is included in the next version of global-parent 35.
with this gitflow-maven-plugin should be fully supported even in scenarios where are multiple release artifacts in a single git repo.

Stefan Seifert
May 20, 2020, 1:37 PM

there is one nasty issue left which occurs when releasing a sub-module that is part of a local aggregator - in this case the gitflow-release-plugin updates other versions as well that are outside the directory of what is intended to be released.

the source of the problem is again delegating to versions-maven-plugin, the problem seems to exactly match with this issue #82. the problem may affect all projects which do not release everything in the git repository but only parts of it of the same aggregator.

a rather cosmetic problem is also #321 where poms with slightly invalid XML are ignored without notice during release.

Stefan Seifert
May 14, 2020, 1:10 PM

i think it's difficult to provide replacement for all jgitflow-maven-plugin parameters esp. when the semantic applies to a different concept than the gitflow-maven-plugin. however i've updated to POM to allow easy override of our preconfigured settings via maven properties.

example to change the goals to be executed after the release to not include the deploy goal:

Masoud Rozati
May 14, 2020, 9:53 AM
Edited

We use the jgitflow flag noDeploy in our release pipelines to prevent pushing artifacts to artifact repository before release is completed successfully.
https://bitbucket.org/atlassian/jgit-flow/wiki/goals/release-finish#!nodeploy
This is especially useful in multi-module projects, because if the release fails on one of the modules, you have a half release in your repo and most repos do not allow re-deployment of the same version.

Since gitflow plugin does not have this flag, it would be great if we introduce a property in the global-parent to switch off the postReleaseGoals without having to override the config in each project

Alexander Muthmann
May 14, 2020, 6:53 AM

Oh, that was fast, thanks!

Fixed

Assignee

Stefan Seifert

Reporter

Alexander Muthmann

Labels

None

Components

Fix versions

Priority

Major