[Feature] Recursively search `packs` directory for valid packs
astrsh opened this issue ยท 1 comments
Pre-Request Checklist
- I have checked that I am on the latest version of Terra.
- I have searched github for similar features requests, including closed
ones, and found none. - I believe this is within the scope of Terra.
- This feature request is for all of Terra, and isn't something that
should be implemented by a pack or addon.
Feature Description
Allow packs to be placed in arbitrary directory structures within the packs
directory, where the requirement for a folder to be loaded as a pack is that it immediately contains a pack.yml
.
An example of a valid setup:
packs
some-config-pack-set
pack-1
pack.yml
...
pack-2.zip
pack.yml
...
another-pack-set.zip
some-folder
pack-a
pack.yml
...
pack-b
pack.yml
...
pack-1
, pack-2.zip
, pack-a
, and pack-b
would be loaded as config packs.
What Problem Does This Solve?
I feel like pack installation is needlessly complicated because of the strict requirement of where the manifest should be - this would allow installation of packs to be simpler for end users. In many cases you could just download the source of a pack directly from github and drop it in the packs directory without worrying about the directories being nested.
A Solution You'd Like
Run a BFS on folders and zips contained in the packs
directory, and attempt to load any directories containing a pack.yml
as a config pack. BFS would be terminated at directories identified as packs so pack subdirs aren't searched.