jgitver / jgitver/jgitver-maven-plugin
maven multi-modules flat project layout not covered by jgitver-maven-plugin
- Dominant language
- Groovy
- Stars
- 166
- Forks
- 42
- PR merge metrics
- No merged PRs in 30d
Description
1.7.1:
Maven allows flat project structure layout to organize multi-modules projects directories.
In our case, we have all projects directories at the root of the git repository without nesting :
- git workdir
- bom (declare external dependencies versions)
- aggregator (declaring modules, used for global build on the developer local machine)
- parent project (importing bom project, share maven configuration for all other projects)
- project 1
- project i ( having parent project as parent, potentially referencing sibling projects)
- project n
We have several big and old developments that are structured this way, containing tenths of maven projects.
As far as I can understand, the jgitver-maven-plugin uses directory tree structure to identify projects that have to be managed with the calculated version. This approach supposes that the "aggregator" project directory (called multiModuleDirectory in the code) is an ancestor directory of all other projects which version is to be managed by the jgitver plugin.
This is not compatible with the flat directory layout where all projects directories are sibling directories.
Am I wrong saying : given that the goal of this plugin is to calculate a version code, based on the state of the git repository, only projects that are managed in this git repository are eligible to be impacted by the process, whatever is the directory structure of all these projects.
If this assumption is valid, do you think that a more suitable strategy could be implemented to identify projects which version must be managed by the plugin ?
Thank you for your answer and for the work already done.
Contributor guide
Assessment
This issue has not been assessed yet.