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

Announcement: The dotnet-fake package and CliToolReference (Paket clitool) is deprecated #2465

Closed
matthid opened this issue Feb 9, 2020 · 7 comments

Comments

@matthid
Copy link
Member

matthid commented Feb 9, 2020

Description

Given that this way of distributing .NET tools is phased out by Microsoft itself (see dotnet/announcements#107) that announcement shouldn't surprise anyone.
Additionally, we have been hit by the design flaws of this approach multiple times, see #2097 and #2447. Debugging and fixing these issues is incredibly time-consuming and frustrating.

Therefore we will no longer push updates to the dotnet-fake package. In the future we might additionally use this package name to publish the standalone tool (today: fake-cli), but as usual here in FAKE, we give people enough time to adapt.

For quite a while the documentation already stated:

* (No longer recommended) Use it as a dotnet tool (legacy): Add `<DotNetCliToolReference Include="dotnet-fake" Version="5.*" />` to your dependencies and run `dotnet fake ...` instead of `fake ...`, see [this example](https://github.com/FakeBuild/fake-bootstrap/blob/master/dotnet-fake.csproj)

* (No longer recommended) Bootstrap via paket `clitool` (legacy), this is basically the same as `DotNetCliToolReference` but managed via paket. See the [`paket_clitool`](https://github.com/FakeBuild/fake-bootstrap/tree/paket_clitool) branch of `fake-bootstrap` in particular the [build.proj](https://github.com/FakeBuild/fake-bootstrap/blob/paket_clitool/build.proj) file.

Alternatives

We still have all the alternatives:

  • Use dotnet SDK v3 and local (preferred - dotnet tool install fake-cli) or global (dotnet tool install fake-cli -g) tools
  • Use global tools if you still are on v2 (dotnet tool install -g fake-cli) - Keep in mind that Microsoft support for .NET SDK v2 has already ended
  • Download from github release page
  • Install via chocolatey

See https://fake.build/fake-gettingstarted.html#Install-FAKE

Next steps

@isaacabraham
Copy link
Contributor

@matthid just to clarify, although I know that local tools are the way forward, are you saying that installing fake-cli as a global tool is no longer supported by Microsoft - where's this?

@matthid
Copy link
Member Author

matthid commented Feb 10, 2020

@isaacabraham No, only dotnet-fake is obsolete and no longer supported. Can you show where I have to edit my post to clarify? (maybe my English failed somewhere?)

@isaacabraham
Copy link
Contributor

In the alternatives bit:

Use global tools if you still are on v2 - Keep in mind that Microsoft support has already ended (dotnet tool install -g fake-cli)

I read that as saying fake-cli as a global tool is not supported.

@matthid
Copy link
Member Author

matthid commented Feb 10, 2020

Ah ok I wanted to express that the support for v2 version of the SDK has ended, so there is no reason to stay on v2. And in v3 you can use local tools, which are recommended.
Any idea how to improve that sentence?

@matthid
Copy link
Member Author

matthid commented Feb 10, 2020

I edited it a bit.

@isaacabraham
Copy link
Contributor

maybe just make it clear in the first line that you can use global tools as well although local is preferred e.g.

Use dotnet SDK v3 and local (preferred - dotnet tool install fake-cli) or global (dotnet tool install fake-cli -g) tools

milbrandt added a commit to milbrandt/FSharpLint that referenced this issue Apr 2, 2020
- new AppVeyor Image Visual Studio 2019
- update fake 5.19.1 (previous 5.18.3)
- replace deprecated fake CliToolReference, see  fsprojects/FAKE#2465
- use .NET core SDK 3.1.200
duckmatt pushed a commit to fsprojects/FSharpLint that referenced this issue Apr 4, 2020
* paket 5.243.0 (from  5.194.3) - supports netcoreapp3.1

* .NET core SDK 3.1.200, Appveyor image and update fake

- new AppVeyor Image Visual Studio 2019
- update fake 5.19.1 (previous 5.18.3)
- replace deprecated fake CliToolReference, see  fsprojects/FAKE#2465
- use .NET core SDK 3.1.200

* use paket as dotnet tool

see also [Announcement: The `dotnet-fake` package and CliToolReference (Paket `clitool`) is deprecated](fsprojects/FAKE#2465

* remve dependencyfrom fake-cli in paket.paket.dependencies (fake is used as dotnet tool now)
@github-actions
Copy link
Contributor

There has not been any activity in this issue for the last 3 months so it will be closed in 14 days if there is no activity.

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

No branches or pull requests

2 participants