{"action":"created","issue":{"url":"https://api.github.com/repos/fsprojects/Paket/issues/1147","labels_url":"https://api.github.com/repos/fsprojects/Paket/issues/1147/labels{/name}","comments_url":"https://api.github.com/repos/fsprojects/Paket/issues/1147/comments","events_url":"https://api.github.com/repos/fsprojects/Paket/issues/1147/events","html_url":"https://github.com/fsprojects/Paket/issues/1147","id":111945334,"number":1147,"title":"Paket Update - Json File Location","user":{"login":"jpalomo","id":4187597,"avatar_url":"https://avatars.githubusercontent.com/u/4187597?v=3","gravatar_id":"","url":"https://api.github.com/users/jpalomo","html_url":"https://github.com/jpalomo","followers_url":"https://api.github.com/users/jpalomo/followers","following_url":"https://api.github.com/users/jpalomo/following{/other_user}","gists_url":"https://api.github.com/users/jpalomo/gists{/gist_id}","starred_url":"https://api.github.com/users/jpalomo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpalomo/subscriptions","organizations_url":"https://api.github.com/users/jpalomo/orgs","repos_url":"https://api.github.com/users/jpalomo/repos","events_url":"https://api.github.com/users/jpalomo/events{/privacy}","received_events_url":"https://api.github.com/users/jpalomo/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-10-17T05:33:25Z","updated_at":"2015-10-21T16:06:38Z","closed_at":null,"body":"So we currently use Paket(specifically \"update\") in our build process for our nupkg dependency management and have run in to a couple of different issues that we have been able to solve up until now.  When we build a job on our CI server, we always want to make sure that we isolate the builds as best we can and Paket naturally supports this by downloading the packages from our internal repo and unpackaging them to the packages folder.  \r\n\r\nWe started using the --force option to ensure that previous builds that may have failed in downloading an artifact (json.failed file created) would not prevent a later build from failing if it tried to retrieve the same package.  Before using --force we had to manually delete the json.failed file to ensure Paket would go out to our repo, download, and unpackage.  However, since the json files are being stored in the NuGet cache and this is shared by all Paket processes, we sometimes run into issues when we have more than one Paket process running that are trying to download the same package.\r\n\r\nIf Job-A goes and downloads p1 and Job-B goes out and downloads p1, they both try to modify(I think it actually deletes the json file before recreating it), then JobA usually fails saying it can't find p1.  \r\n\r\nIt would be nice to have some support to control where those files are downloaded, possibly override the cache location as command line argument by which Paket downloads the packages to (instead of NuGet cache specified in NuGet.config)."},"comment":{"url":"https://api.github.com/repos/fsprojects/Paket/issues/comments/149946026","html_url":"https://github.com/fsprojects/Paket/issues/1147#issuecomment-149946026","issue_url":"https://api.github.com/repos/fsprojects/Paket/issues/1147","id":149946026,"user":{"login":"jpalomo","id":4187597,"avatar_url":"https://avatars.githubusercontent.com/u/4187597?v=3","gravatar_id":"","url":"https://api.github.com/users/jpalomo","html_url":"https://github.com/jpalomo","followers_url":"https://api.github.com/users/jpalomo/followers","following_url":"https://api.github.com/users/jpalomo/following{/other_user}","gists_url":"https://api.github.com/users/jpalomo/gists{/gist_id}","starred_url":"https://api.github.com/users/jpalomo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpalomo/subscriptions","organizations_url":"https://api.github.com/users/jpalomo/orgs","repos_url":"https://api.github.com/users/jpalomo/repos","events_url":"https://api.github.com/users/jpalomo/events{/privacy}","received_events_url":"https://api.github.com/users/jpalomo/received_events","type":"User","site_admin":false},"created_at":"2015-10-21T16:06:38Z","updated_at":"2015-10-21T16:06:38Z","body":"@forki thanks for the reply.  I'm thinking that it won't help with our situation.  However, I think I might have been mistaken about the JSON file (not entirely sure though).  Maybe I can rephrase my problem.  \r\n\r\nSay I have two build jobs (C# projects),  J1 and J2 that have NUnit as a dependency.  Also, say I am using the **paket update --force** command to resolve the project dependencies.  What happens, is that both J1 and J2 write their html, json, and nupkg files to the _C:/Users/someuser/AppData/Local/Nuget/Cache/_ directory.  The problem occurs if both jobs run simultaneously and one job begins unpackaging Nunit to the local packages directory while the other job tries to overwrite the nupkg (html and json, too) in the cache directory.\r\n\r\nIn this case, it would be nice if we could specify a local cache directory for Paket to use instead of the default NuGet cache directory in the AppData location.  So a command like **paket update --force --cachedir \"C:\\J1\\cache** would download all files to the directory specified and unpackage from their into the local packages folder.   \r\n\r\nI hope that helps.  I am trying to brush up on F# and see if I can find where I need to make the change, but time is hard to come by.  If you or someone else sees this as being a valuable enhancement, then hopefully we can get someone to contribute, if not, I will try in the near future.  Either way, it would be great to just be able to track something like this.  Thanks again!"}}