Replies: 1 comment 2 replies
-
Hello! If I have understood you correctly, you want to use snapshots by default in PRs, so you are covered with
When that PR is merged, you want to push a tag based on some part of the last commit message to decide what scope will be used for that tag. Currently, the plugin does not support anything related to this or conventional commits, but you should be able to do that in two consecutive steps. As I don't know how Jenkins works, I am going to write it in pseudocode:
The complicated part is the Step 1
For the Step 2, you can also use Beside that, feel free to create a feature request for this, detailing how you would like to get this working. Without thinking a lot about this, probably My concern about that part is, you are indicating directly the scope in the commit message, and it could clash with a future implementation based on Conventional Commits, so we would need really good names for this and how if this would be designed to be only detected via Gradle Project properties ( enum class SemverMode {
ConventionalCommits,
LastCommitMessage,
Default,
}
semver {
mode = ConventionalCommits
} |
Beta Was this translation helpful? Give feedback.
-
I started with reckon and it is working fine for the case of a repo that is just one project, but am looking to move to a repo housing multiple projects in one repo and that each can have their own versioning which is what your plugin is designed to do.
All your examples seem to be designed around the flow that a project is built and pushed from a developer machine and semver steps are manual invocations of gradle.
I am not sure how to make that fit into a CI/CD world where builds and publication are done in Jenkins based off a main branch and PRs. This works with reckon because i just set the stage to final or snapshot based on whether it is a PR build. When I need to bump up the major or minor version number I can simply do that by putting a prefix of
major:
orminor:
in a commit messageI am trying to figure out what a similar workflow would be for this plugin. Lets say with the multiproject example and i am doing a PR that when merged needs to bump the major version number of project a, how might i accomplish that. In other words how can i automatically control the semver.scope of project a based only on what is in git?
It might be possible to devise something by scanning the commits and looking for something like a commit messsage that has a:major
Beta Was this translation helpful? Give feedback.
All reactions