Terra icon indicating copy to clipboard operation
Terra copied to clipboard

[Feature] Recursively search `packs` directory for valid packs

Open astrsh opened this issue 3 years ago • 1 comments

Pre-Request Checklist

  • [x] I have checked that I am on the latest version of Terra.
  • [x] I have searched github for similar features requests, including closed ones, and found none.
  • [x] I believe this is within the scope of Terra.
  • [x] 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.

astrsh avatar Jul 22 '22 01:07 astrsh

Also this wouldn't be a breaking change as the behavior would remain the same for existing setups. I think this should be slated for 6.2.1

astrsh avatar Jul 22 '22 01:07 astrsh