QuestPackageManager / QPM.CLI

QPM command line tool
GNU General Public License v3.0
7 stars 4 forks source link

Dependency restore mode and refactoring #39

Open Fernthedev opened 10 months ago

Fernthedev commented 10 months ago

Because of these changes, the following will cause existing packages (both for usage and restoring) to break.

Supersedes https://github.com/QuestPackageManager/QPM.CLI/pull/31

darknight1050 commented 8 months ago

What do you mean by Allow choosing to restore header only, static or dynamic? A option for the restore command or something in qpm.json?

RedBrumbler commented 8 months ago

Debug dynamic libraries are no longer supported. One must expect the published so to include debug symbols.

this seems like a bad idea, some of the libraries, if they include debug symbols (not stripped) are 10x as large as the stripped version.

example: BSML is 124 MB unstripped, and 5 MB stripped

Fernthedev commented 8 months ago

Debug dynamic libraries are no longer supported. One must expect the published so to include debug symbols.

this seems like a bad idea, some of the libraries, if they include debug symbols (not stripped) are 10x as large as the stripped version.

example: BSML is 124 MB unstripped, and 5 MB stripped

That's up to the discretion of the distributor in this instance, because maybe you think the consumers wouldn't need the baggage of those debug symbols. Keeping both in the current state seems reasonable but would have to be reworked in this PR, and am not sure it's as desirable as it sounds.

Fernthedev commented 8 months ago

What do you mean by Allow choosing to restore header only, static or dynamic? A option for the restore command or something in qpm.json?

This would allow you to specify for dependency restore, say, static linking flamingo as so:

{
  "id": "flamingo",
  "version": "*",
  "additionalData": {
    "libDependencyType": "static"
  }
}
RedBrumbler commented 8 months ago

Debug dynamic libraries are no longer supported. One must expect the published so to include debug symbols. this seems like a bad idea, some of the libraries, if they include debug symbols (not stripped) are 10x as large as the stripped version. example: BSML is 124 MB unstripped, and 5 MB stripped

That's up to the discretion of the distributor in this instance, because maybe you think the consumers wouldn't need the baggage of those debug symbols. Keeping both in the current state seems reasonable but would have to be reworked in this PR, and am not sure it's as desirable as it sounds.

well you want the debug symbols somewhere, given that it makes debugging easier with the crash reporter mod. although you could argue that the crash reporter mod can just get the debug binary manually without qpm. for building with a mod it's obviously not required to exist