fsprojects / Paket

A dependency manager for .NET with support for NuGet packages and Git repositories.
https://fsprojects.github.io/Paket/
MIT License
2.02k stars 523 forks source link

"git" with "build" modifier does not remember build failures #2522

Open fsoikin opened 7 years ago

fsoikin commented 7 years ago

Description

When Paket pulls a git repo, runs build: script on it, and the build fails, Paket will report the error, but the next time Paket runs, it will not re-fetch or re-build the dependency in question, leaving it forever in the unbuilt state.

Some background I was trying to build Ionide, which has FsAutoComplete as one of dependencies, and it failed to build for me (see https://github.com/fsharp/FsAutoComplete/issues/184). But I didn't know at the time what the problem was, so from my point of view the experience was the following:

Repro steps

Please provide the steps required to reproduce the problem

  1. Set up a git repo with a broken build script in it.
  2. Add that repo to paket.dependencies with a build: modifier.
  3. Run paket install, get a build error.
  4. Run paket install again, get a successful result.

Expected behavior

Paket should somehow remember the failed build and attempt to rebuild on next restore/install.

Known workarounds

Manually build the failed dependencies.

enricosada commented 6 years ago

i can repro in FSAC or ionide too 😭