-
Notifications
You must be signed in to change notification settings - Fork 586
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
FAKE 5 doesn't install new packages #1783
Comments
Currently (though arguably not very user friendly) this is by design. All you need to do is delete |
You're right, I've read this on the Getting Started page, but somehow ignored it 😄 Is this going to change at some point? Especially now, with every bit in its own package, I for my part will probably add packages very often while moving to FAKE 5. BTW, how will we know if a package has an update? Is |
Good question, you have suggestions for that? Should we check while the script is running and print a warning at the end?
Yes to keep your build stable you might want to consider that. One idea that still is in my mind is to version some modules independently or do breaking changes in them independently. This means some of them might be bumped into a new major release. Currently in the beta-phase it is quite convenient to release everything (it might even stay that way I don't know yet)
yes, maybe we need a command for that? All in all that is some thinking that crossed my mind, suggestions are welcome :) |
Looks like other build systems have a command or even special plugins for that. In FAKE we could simply reuse
I actually like that we now have modules/packages for the several tools. But I wonder if it's necessary to extract the "core" functionality, like targets and globbing, to their own packages. But back to the original issue again, I think it would be nice if FAKE could detect changes in the dependencies and would install them automatically. Paket prints a warning if |
Yes merging some modules is an option as well. Something like Fake.CoreLib which would contain some common stuff.
Yes probably, need to check why that warning is not printing already ... |
I think atleast a run-opt would be useful to make this process a little simpler. A switch like -u/--update I think would be sufficient. So you could do stuff like |
In the mean time we had two other reports of this on gitter. One solution that crossed my mind is (in order to not hurt performance) to detect the compiler errors |
Yea, since deleting the lock file is by design, I think hinting is probably the best solution here. So users know that this is not some legitimate error in their script but rather just standard fake usage |
Now we have: --- test.unchanged.fsx 2018-05-20 23:33:47.130693100 +0200
+++ test.fsx 2018-05-20 23:35:13.849907000 +0200
@@ -1,7 +1,13 @@
#r "paket:
-nuget Fake.Core.Target prerelease"
+nuget Fake.Core.Target prerelease
+nuget Fake.IO.FileSystem prerelease"
#load ".fake/test.fsx/intellisense.fsx"
open Fake.Core
+open Fake.IO
+
+!! "Some*.glob"
+ |> Seq.iter (printfn "%s")
+
Target.create "Default" ignore
Target.runOrDefault "Default" Leads to |
Therefore I consider this closed with rc015 (which is on staging in a couple minutes) please feel free to leave feedback. |
Description
After adding a new package to the dependencies of my script, FAKE 5 doesn't install the new package.
Repro steps
Create this script:
Run FAKE
Make this change:
Run FAKE again
Expected behavior
FAKE should resolve and install the new package.
Actual behavior
The package is only added to
.fake/build.fsx/paket.dependencies
. It is not added tobuild.fsx.lock
,.fake/build.fsx/paket.lock
or.fake/build.fsx/intellisense.fsx
. Using anything from that package causes a compilation error.Known workarounds
Manually install the new package and copy the lock file:
Clean everything and run FAKE again:
Related information
fake
package from Chocolatey)The text was updated successfully, but these errors were encountered: