-
Notifications
You must be signed in to change notification settings - Fork 520
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
[WIP] Move the dependencies over to props during VS Background build #3273
Conversation
@matthid there is one known issue. for the very first build after paket updated itself we have a caching problem. the heuristic will think everything is up-to-date and won't call paket and therefor the props file won't change. but it will also no longer add the deps in memory. any ideas how to invalidate the restore cache? |
let newContent = old.Replace("<!-- <RestoreSuccess>False</RestoreSuccess> -->","<RestoreSuccess>False</RestoreSuccess>") | ||
File.WriteAllText(paketPropsFile.FullName, newContent) | ||
let assetsFile = ProjectFile.getAssetsFileInfo projectFileInfo | ||
if assetsFile.Exists then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Krzysztof-Cieslak @enricosada I'm not sure if this will break the ionide integration. FSAuto was watching the assets file, right? does it watch the props files?
paket updated itself? what? You mean after
It should be up-to-date after paket update? |
no I mean after magic mode updates paket.exe and the targets file |
And why does that matter for the cache? Are we dynamically rewriting the targets file? |
Yes we do, but maybe not in that case. Need to tests it.
Matthias Dittrich <[email protected]> schrieb am Fr., 29. Juni 2018,
16:49:
… updates paket.exe and the targets file
And why does that matter for the cache? Are we dynamically rewriting the
targets file?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#3273 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AADgNC838D3EMlSPrHHGKuubSinhPbdAks5uBj57gaJpZM4U88Fc>
.
|
Ok then maybe we should stop doing that ;) |
[yield sprintf " <ItemGroup Condition=\"($(DesignTimeBuild) == true)%s\">" condition | ||
yield! packageReferences | ||
yield " </ItemGroup>"]) | ||
|> fun xs -> String.Join(Environment.NewLine,xs) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you know that there is a String.concat
library routine?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but what would that improve?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, nothing actually. 😁 Just to avoid the lambda. I used to not know about the curried version in the past.
Prior to this change, the `--group` parameter was case-sensitive, and probably some other issues.
references #3270
We already create a *.csproj.paket.props file in /obj in order to put CliReferences there. Here we dump the PackageReferences there as well (only when we are in background build). VS is watching the file and triggers restore/resolution.
For rider and ionide we would need such properties as well.