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:
I run Ionide's build.cmd.
During dependency resolution, I get an error "FsAutoComplete blah-blah-blah failed to build".
I run Ionide's build.cmdagain.
This time, it goes through and builds everything.
I chalk it up to some intermittent issue, disregard it, and proceed with my tinkering.
When executed, Ionide complains that it cannot start the language service.
After some debugging, I find out that FsAutoComplete.Suave.exe is missing.
After some more debugging, I figure out where it was supposed to come from, and realize that FsAutoComplete failed to build.
Repro steps
Please provide the steps required to reproduce the problem
Set up a git repo with a broken build script in it.
Add that repo to paket.dependencies with a build: modifier.
Run paket install, get a build error.
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.
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:
build.cmd
.build.cmd
again.FsAutoComplete.Suave.exe
is missing.FsAutoComplete
failed to build.Repro steps
Please provide the steps required to reproduce the problem
paket.dependencies
with abuild:
modifier.paket install
, get a build error.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.