gamelly / gly-engine

A cross-platform embeddable lua game engine such as ginga, pc, mobile, browser and its own console like a Wii clone.
https://docs.gamely.com.br
Apache License 2.0
27 stars 5 forks source link

feat: create a package manager #60

Open RodrigoDornelles opened 1 month ago

RodrigoDornelles commented 1 month ago

lock and mayable registry example

{
    "count": 2,
    "deps": [
        "love",
        "dialog"
    ],
    "downloads": {
        "love": [
            {
                "url": "https://github.com/love2d/love/releases/download/11.5/love-11.5-win32.zip",
                "src": "./vendor/love/bin/x86"
            },
            {
                "url": "https://github.com/love2d/love/releases/download/11.5/love-11.5-win64.zip",
                "src": "./vendor/love/bin/x86_64"
            }
        ],
        "dialog": [
            {
                "url": "https://github.com/gamelly/gly-engine/archive/refs/heads/develop.zip",
                "src": "./vendor/dialog"
            }
        ]
    },
    "modules": {
        "dialog": [
            {
                "src": "./vendor/dialog/src/control.lua"
            }
        ],
        "dialog.draw": [
            {
                "src": "./vendor/dialog/src/control.lua"
            }
        ]
    }
}
old ability to add extra modules to an engine during build time. ```bash $ ./cli.sh build --custom-module json:/path/to/my/module/json.lua --bundler ``` ### before ```lua local lib_engine_csv = nil local function main() local zeebo_module = lib_engine_module() local engine_csv = lib_engine_csv() zeebo_module.require(std, game, application) :package('csv', engine_csv) :run() end ``` ### after ```lua local lib_engine_csv = nil local lib_engine_json = nil local function main() local zeebo_module = lib_engine_module() local engine_csv = lib_engine_csv() local engine_json = lib_engine_json() zeebo_module.require(std, game, application) :package('csv', engine_csv) :package('custom:json', engine_json) :run() end ```