Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add dotnet-minver #100

Merged
merged 1 commit into from
Nov 15, 2018
Merged

add dotnet-minver #100

merged 1 commit into from
Nov 15, 2018

Conversation

adamralph
Copy link
Owner

Closes #94

@adamralph adamralph added this to the 1.0.0 milestone Nov 14, 2018
@bording
Copy link
Collaborator

bording commented Nov 14, 2018

Why make this be something that has to be invoked via dotnet? Global tools don't have to be. This could just be a minver tool.

@adamralph adamralph changed the title add dotnet-minver [WIP] add dotnet-minver Nov 14, 2018
@adamralph
Copy link
Owner Author

@bording I do indeed need some schooling wrt to dotnet tools.

BTW - the tool package was requested by @thefringeninja.

Are you saying that it can be just called minver and dotnet tool install will do whatever magic needs to be done to make it runnable? Will that work on all platforms?

@bording
Copy link
Collaborator

bording commented Nov 15, 2018

@adamralph Yes, you can install a global tool, and then you'll just magically have a minver tool. It will work on all platforms, with the caveats around LibGit2Sharp linux distro issues.

@bording
Copy link
Collaborator

bording commented Nov 15, 2018

The tool name will default to the project name, but you can set the ToolCommandName property in the project file to override that.

Based on that, a rethink of all the project names might be in order. I've been thinking that might generally be a good idea, because things are a bit mixed up right now.

@adamralph
Copy link
Owner Author

Yes, you can install a global tool, and then you'll just magically have a minver tool. It will work on all platforms, with the caveats around LibGit2Sharp linux distro issues.

Interesting. What's the general guidance on this? I've seen plenty of NuGet packages named dotnet-xxx, e.g. https://www.nuget.org/packages/dotnet-watch, and they seem to stick to the dotnet-xxx naming for the actual executable too. But I guess they are specifically for the .NET CLI, e.g. "to watch for source file changes during development and restart the dotnet command" whereas minver is useful for any git repo.

Based on that, a rethink of all the project names might be in order. I've been thinking that might generally be a good idea, because things are a bit mixed up right now.

I'm all ears. 👂 😉 I guess if this does become just minver then not only the project names, but the package names will need some thinking about too.

@bording
Copy link
Collaborator

bording commented Nov 15, 2018

Interesting. What's the general guidance on this? I've seen plenty of NuGet packages named dotnet-xxx

A lot of those packages are for the older, project-scoped cli tool references. From what I've seen, the guideance at this point is to only name your tool dotnet-xxx if it actually has some direct reason why the tool would only be useful if the .NET SDK is actually being used.

Since MinVer is more general purpose, having the tool be minver makes a lot of sense to me.

@bording
Copy link
Collaborator

bording commented Nov 15, 2018

I'm all ears. 👂 😉 I guess if this does become just minver then not only the project names, but the package names will need some thinking about too.

Right now, the MinVer.Tasks project is the actual commandline tool invoked by MSBuild, and it has a project reference to MinVer. However, MinVer is the project that has the MSBuild targets, requires the publish output from MinVer.Tasks, and builds the package, so it's actually a bit of a circular dependency. The MSBuild stuff is also split between two projects.

Instead, I think we should turn MinVer into something like MinVer.Core, and it just has the actual versioning logic in it. Then we need an additional project for each of the "shipping vehicles" we want, in this case, something running inside of MSBuild, and the commandline tool being proposed by this PR.

At the moment, the MSBuild project would also have a dependency on the commandline tool, but we should still be able to make that work. In the future, the MSBuild project should probably just become an MSBuild task, and then that dependency is removed.

@adamralph adamralph changed the title [WIP] add dotnet-minver add dotnet-minver Nov 15, 2018
@adamralph
Copy link
Owner Author

👍 thanks @bording, some valid points there. I've raised #103 to continue that conversation. I'll merge this as-is, but I won't publish the tool package until after #103 has been addressed.

@adamralph adamralph merged commit 3a3e4d4 into master Nov 15, 2018
@adamralph adamralph deleted the dotnet-minver branch November 15, 2018 08:28
@adamralph
Copy link
Owner Author

Renamed to minver-cli in #105.

@adamralph
Copy link
Owner Author

Released in alpha 15.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants