pulsepm / pulse

Unofficial package manager written in python.
MIT License
4 stars 0 forks source link

[ENHANCEMENT]: Installing packages from `pulse.toml` different way than from `pawn.json` via release tag. #108

Open Mergevos opened 1 month ago

Mergevos commented 1 month ago

Describe the enhancement very clearly and detailed Another way of installing the dependencies via release tag (e.g. semver or calver ones gotten via pulse package)

Structure is the next:

You have releases folder within project folder (cwd -> cwd/toml_data["resource"][platform]["release_folder"] -> example: cwd/releases/linux). Within platform directories you can add up to 3 different folders at the same time (components, plugins). Those names are hardcoded and can not be modified unless modifying source code. If, in any case, a directory or a file with a different name accidentally exists within platform folder the action is halted by stroke wizard.

How installation should work?

[resources.windows]
release_folder = "releases/windows"

[resources.linux]
release_folder = "releases/linux"

This is adequate part of pulse.toml for releasing. Simply read those values depending on the platform the command has been executed on.

Check if the plugins|components exists and copy them to the coresponding cache folders and to cwd/requirements/{plugins/components} folders.

Includes are being done via clonning the repos.