paket update slow with empty `paket.references` files
See original GitHub issueDescription
This is a quite specific to my own use-case request that should be rather seen as a potential improvement.
I have a C# project folder with a number of .csproj files inside. I am using paket to manage my dependencies for those projects – I can have separate dependencies per project because I can have a ProjectName.csproj.paket.references file for each project. I also have a global paket.references file. However, I want some projects to be totally ignored by paket because it wastes too much time hanling them, even if there is nothing to be installed as a dependency. So far I am trying to use an empty paket.references file per such project, but regardless of that, it takes a somewhat significant amount of time for Paket to realize there is nothing to do with that project. As these projects are about 5-6 or more, the paket update
command takes quite a long time to complete.
It would be useful to know if there is a way to make Paket ignore certain projects in the given setup. I know that most people would advice me to change my project file organization, but I cannot because tools like the Unity engine create a bunch of .csproj files in the working directory which is nothing I can help with. Furthermore, for me wanting to create a package of the unity project contents, I must as well place the packaging project along, therefore increasing the number of projects paket needs to loop trough.
Repro steps
The issue is reproducible with Paket version 5.131.x (the latest released version up to this date).
-
Create a directory and make a number of csproj files there. You could create a single C# project and replicate the .csproj file a number of times, to make them at least 8.
-
Define a paket.dependencies file
-
Create a paket.references file per project. The references file can be empty. There should also be a global paket.references file
-
Add paket to the project directory
-
Run
paket update
command from a terminal within the project directory
Expected behavior
I’d expect the project with empty paket references file to be processed quite faster, or to have a way to tell paket not to process them
Actual behavior
It takes quite a while for paket to handle each project
Known workarounds
None I know of.
Issue Analytics
- State:
- Created 6 years ago
- Comments:6 (2 by maintainers)
Top GitHub Comments
ok took a look at this. the problem is that paket still thinks it needs to maintain the csproj. So it will parse it and try to remove paket references from ealier runs. Just think about the case when you have a package in the references file and then remove it. Paket needs to remove it from the csproj as well.
Can you please upload a zip with that repro? I don’t think we have a way to exclude projects, but maybe we can make it faster
Am 18.01.2018 17:43 schrieb “Ivaylo Slavov” notifications@github.com: