dizzyd / mcdex

Minecraft Modpack Management
Apache License 2.0
74 stars 8 forks source link

mod.select should also select dependencies #25

Closed LiaungYip closed 6 years ago

LiaungYip commented 6 years ago

For example:

Storage Drawers Extras has two required dependencies:

  1. Chameleon
  2. Storage Drawers

These should be selected at the same time Storage Drawers Extras is selected.

Recursive selection: Selection of dependencies should be recursive, if required.

Dependencies not satisfied: If a dependency could not be satisfied, the entire operation should fail and no changes should be committed. Dependencies might fail if, for example, a dependency is not available for the current version of Minecraft.


This would require the database to contain information on the dependencies of each mod. This information is exposed on the Relations > Dependencies pages for each mod. Example: Storage Drawers > Relations > Dependencies.

The crawler code doesn't appear to be public, so I can't assist with the crawler. (I have something hacky written in Python / BeautifulSoup to satisfy my immediate requirements.)

LiaungYip commented 6 years ago

The plot thickens: dependencies are per-file, not per project.

See: https://github.com/Chisel-Team/Chisel/issues/669 .

So the database would also need to capture dependencies per file.

dizzyd commented 6 years ago

Resolved in latest release; let me know how it works. :)

LiaungYip commented 5 years ago

This feature works really well!

(To the extent that CurseForge authors correctly record their dependencies; but that's an upstream issue.)