-
Notifications
You must be signed in to change notification settings - Fork 2
The Great Git Grand Unification Theory #1
For reference, the current list of tools - seeking some sort of "grand unification"? https://github.com/GitTools/Roadmap/wiki/Tools-for-Consolidation
-
One single commandline.exe interface - e.g GitTools.exe this will give end users one API to work with when setting up their automation (Team City, Octopus etc etc) - no matter which features they need.
-
Pluggable / Extensible. We would implement the following as seperate individual plugins for GitTools.exe:
- Issue tracker support (GitHub, Bitbucket, Jira etc)
- Release Notes Formatters (Markdown, JSON, Html etc)
- Release Creation (Github, BitBucket, Jira etc)
Unclear where the following tools would fit into this sort of unification as I am not familiar with them at present:-
- GitLink
- APIComparer
- APIApprover
Plugins would need some way to surface their particular command line options / arguments to GitTools.exe. This would require basically an extensible command line architecture - could be tricky. For example, the BitBucket releases plugin may require additional / different command line arguments than say, the Github releases plugin. Initial thought for dealing with this is that the command line exe is kept dumb, and the command itself contains just enough info for the core to identify the plugin to pass control too. The plugin is left in charge of validating the arguments passed.