I'd like to establish a proper release workflow for publishing:
the module plugin to the Gradle plugin repo, when there is a new (non-SNAPSHOT) version
the module generator-core lib, to maven central, when changes have been merged into master
to this repo's 'Releases', the generator-cli native-image binary for Linux, Mac and Windows platforms.
TBD - the mechanics of the release. One idea would be to use specially formatted git tags as the 'trigger' for when a release should occur. For example, pushing a 'plugin-vX.Y.Z' tag to the repo might result in running a 'publish plugin' action. We could use similar processes for publishing each of the core and CLI releases.
Alternatively, we could start targeting a 'dev' branch for PRs, and then use merges into 'master' as the signal for releasing.
The primary requirements for whichever process we choose:
The version of the generator-core and generator-cli may track with each-other (meaning, releasing one necessitates a release of the other), but do not necessarily need to
the module plugin must be able to version and release independent of the generator-core and generator-cli projects.
I'd like to establish a proper release workflow for publishing:
TBD - the mechanics of the release. One idea would be to use specially formatted git tags as the 'trigger' for when a release should occur. For example, pushing a 'plugin-vX.Y.Z' tag to the repo might result in running a 'publish plugin' action. We could use similar processes for publishing each of the core and CLI releases.
Alternatively, we could start targeting a 'dev' branch for PRs, and then use merges into 'master' as the signal for releasing.
The primary requirements for whichever process we choose:
Feel free to make suggestions.