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

psake should be installable as local tool in dotnet #300

Open
da9l opened this issue Jun 10, 2020 · 4 comments
Open

psake should be installable as local tool in dotnet #300

da9l opened this issue Jun 10, 2020 · 4 comments

Comments

@da9l
Copy link

da9l commented Jun 10, 2020

In order to catch on to the current dotnet core momentum psake should be installable as a dotnet core local tool.

Expected Behavior

dotnet new tool-manifest
dotnet tool install psake.tool
#add psake script
dotnet psake
# psake script should execute.

Current Behavior

dotnet tool install psake
error NU1212: Invalid project-package combination for psake 4.9.0. DotnetToolReference project style can only contain references of the DotnetTool type
The tool package could not be restored.
Tool 'psake' failed to install. This failure may have been caused by:

* You are attempting to install a preview release and did not use the --version option to specify the version.
* A package by this name was found, but it was not a .NET Core tool.
* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem.
* You mistyped the name of the tool.

For more reasons, including package naming enforcement, visit https://aka.ms/failure-installing-tool

Possible Solution

A new nuget package adapted for dotnet tool should be created:psake.tool

Context

Since the dotnetcore-sdk has become so powerful in its own it would be an excellent fit with psakes simplicity. The only thing that is currently lacking is how hard it is to get psake installed on various build servers that one as developer doesnt have control over

Your Environment

  • Windows 10 but with powershell core this should be possible to be crossplatform.
@stale
Copy link

stale bot commented Aug 9, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Aug 9, 2020
@wwestrop
Copy link

I'd also be really interested in this.

For context we use psake as part of a CI pipeline which runs on a blank agent for every run.

It would be very convenient to have a one liner to install it onto the agent, as of right now we have a bit of a bodgy manual process to do this

@stale stale bot removed the stale label Aug 21, 2020
@stale
Copy link

stale bot commented Oct 20, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Oct 20, 2020
@wwestrop
Copy link

I've done a bit of research into how this might be implemented, and sadly I don't think it is straightforwardly feasible as dotnet tool stands at the moment

It does allow for the possiblity of multiple "runner"s for the executable tools it installs, but at present the only allowed one is dotnet, and it is required to be a .dll, whereas psake is distributed as powershell scripts.

You could write a .NET executable shim to act as a pass-through to psake.ps1, but that may cause a fair bit of bloat, especially if you have to support multiple platforms, or support a framework-independent deployment ☹️

@stale stale bot removed the stale label Oct 20, 2020
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

No branches or pull requests

2 participants