conan-io / conan-center-index

Recipes for the ConanCenter repository
https://conan.io/center
MIT License
956 stars 1.75k forks source link

[service] Intermediate level of subdirectories in `recipes` directory #25549

Open DenizThatMenace opened 1 week ago

DenizThatMenace commented 1 week ago

What is your problem/feature request?

The recipes directory contains recipes for more than 1700 libraries. As a result it also directly contains this amount of directories; one directory per library. Sadly, these directories are in a flat hierarchy so that Github hits an upper limit of directories it can display. It shows the following error-message when trying to show the recipes directory via Github's Web-UI:

Sorry, we had to truncate this directory to 1.000 files. 784 entries were omitted from the list. Latest commit info may be omitted.

As a consequence I need to git clone this repository in order to see the list of all libraries.


Would it be possible to instead create an intermediate level of directories with a directory per starting-letter? For example:

recipes/
├── 7
│   ├── 7bitconf
│   ├── 7bitdi
│   ├── ...
│   └── 7zip
├── a
│   ├── aaf
│   ├── aaplus
│   ├── ...
│   └── azure-storage-cpp
...
└── z
    ├── ...
    ├── zlib
    └── zlib-ng
    └── ...

Further questions are:


I suggest, that now would be a good time to make such a change, because the backwards-compatibility of recipes will already start to decrease due to dropping support for Conan 1 (see #25461), so that this change could be adopted for a "Conan 2 only" recipe repository.

uilianries commented 1 week ago

@DenizThatMenace Hello and thank you for communicating your scenario.

Unfortunately we can not change the directory structure as the CI service is very dependent of that folder tree, and adding one level will require several changes in the CI code.

Indeed I understand your case, as I use the Github web to see recipes too and we have this limit of 1000 files, but we are not alone, as it's affecting other projects too. Doing a quick search I found this discussion to Github Comunity: https://github.com/orgs/community/discussions/21480

As suggestion, I would recommend jumping to the recipe directly, e.g boost: https://github.com/conan-io/conan-center-index/tree/master/recipes/boost