GitTools / GitReleaseManager

Tool for creating and exporting releases for software applications hosted on GitHub
https://gittools.github.io/GitReleaseManager/docs/
MIT License
303 stars 39 forks source link

Switch to Spectre.Console Command Line Library #126

Open gep13 opened 5 years ago

arturcic commented 5 years ago

Was planning the same for Gitversion

arturcic commented 5 years ago

Hey @gep13 , have you had a look at this? command-line-api

gep13 commented 5 years ago

@arturcic I have had a look at that yes. I have debated about it, but it feels like there is a bit too much "magic" happening in there for my taste. Might have to have another look, but for now, I think I am happy to proceed with Spectre.Cli.

arturcic commented 5 years ago

I was also planning to change the GitVersion command line, and I can see here and in the cake project the chosen library is Spectre.Cli. I might consider the same library for GitVersion.

AdmiringWorm commented 4 years ago

I have bumped this to the 0.11.0 version as we can't implement this yet. Not until Spectre.Cli supports set names for options, or until we can remove authentication through Username+Password (first they need to be deprecated though, see #158 for tracking that).

gep13 commented 4 years ago

@AdmiringWorm makes sense. Thanks for bumpig this.

akordowski commented 4 years ago

Not until Spectre.Cli supports set names for options

Can you please explain what you mean by that? I would like to understand the issue. Thanks!

AdmiringWorm commented 4 years ago

@akordowski the CommandLine parser supports providing something called SetName for arguments. This basically allows only certain arguments being available (or required) in some cases, while in other cases a different set of arguments are available.

For example, currently for the commands that reaches out to GitHub we either require a --token to be set, or a --user+--password to be used. These are provided in two different sets.

AdmiringWorm commented 4 years ago

TBH, I would rather remove the ability to use username+password instead of waiting for sets to be supported (Issue #190), but not sure what @gep13's feelings about that issue are right now.

akordowski commented 4 years ago

Ok, I now understand, thanks. As I see the username+password is deprecated by the API due November 13th. I would also recommend them.

AdmiringWorm commented 4 years ago

As I mentioned in the issue I linked to, they will actually be removed from the github api on November 13th.

AdmiringWorm commented 3 years ago

Once this is being implemented, we should at the same time move the current logic of the Commands to the application projects, instead of having them in the *.Core library which is currently being done.

This may require refactoring of the core library if there are some parts of the library that makes use of the Commands (I don't think there is, but there could be).