diff options
| author | V1K1NGbg <victor@ilchev.com> | 2024-08-22 17:48:56 -0300 |
|---|---|---|
| committer | Hisham Muhammad <hisham@gobolinux.org> | 2024-10-21 13:30:51 -0300 |
| commit | 0df815e307216175599cfb1a44842266ba752beb (patch) | |
| tree | a5660f91e6de90f890342f37f7c71ad660333c51 | |
| parent | d7b06bdc297d758e5dbf56086bda57358a1b40f2 (diff) | |
| download | luarocks-0df815e307216175599cfb1a44842266ba752beb.tar.gz luarocks-0df815e307216175599cfb1a44842266ba752beb.tar.bz2 luarocks-0df815e307216175599cfb1a44842266ba752beb.zip | |
Teal: convert luarocks.repo_writer
| -rw-r--r-- | src/luarocks/repo_writer.tl | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/luarocks/repo_writer.tl b/src/luarocks/repo_writer.tl new file mode 100644 index 00000000..22fbbfce --- /dev/null +++ b/src/luarocks/repo_writer.tl | |||
| @@ -0,0 +1,53 @@ | |||
| 1 | local record repo_writer | ||
| 2 | end | ||
| 3 | |||
| 4 | local fs = require("luarocks.fs") | ||
| 5 | local path = require("luarocks.path") | ||
| 6 | local repos = require("luarocks.repos") | ||
| 7 | local writer = require("luarocks.manif.writer") | ||
| 8 | |||
| 9 | function repo_writer.deploy_files(name: string, version: string, wrap_bin_scripts: boolean, deps_mode: string, namespace: string): boolean, string | ||
| 10 | local ok, err: boolean, string | ||
| 11 | |||
| 12 | if not fs.exists(path.rock_manifest_file(name, version)) then | ||
| 13 | ok, err = writer.make_rock_manifest(name, version) | ||
| 14 | if err then | ||
| 15 | return nil, err | ||
| 16 | end | ||
| 17 | end | ||
| 18 | |||
| 19 | if namespace then | ||
| 20 | ok, err = writer.make_namespace_file(name, version, namespace) | ||
| 21 | if not ok then | ||
| 22 | return nil, err | ||
| 23 | end | ||
| 24 | end | ||
| 25 | |||
| 26 | ok, err = repos.deploy_local_files(name, version, wrap_bin_scripts, deps_mode) | ||
| 27 | if not ok then | ||
| 28 | return nil, err | ||
| 29 | end | ||
| 30 | |||
| 31 | ok, err = writer.add_to_manifest(name, version, nil, deps_mode) | ||
| 32 | return ok, err | ||
| 33 | end | ||
| 34 | |||
| 35 | function repo_writer.delete_version(name: string, version: string, deps_mode: string, quick?: boolean): boolean, string | ||
| 36 | local ok, err, op = repos.delete_local_version(name, version, deps_mode, quick) | ||
| 37 | |||
| 38 | if op == "remove" then | ||
| 39 | local rok, rerr = writer.remove_from_manifest(name, version, nil, deps_mode) | ||
| 40 | if ok and not rok then | ||
| 41 | ok, err = rok, rerr | ||
| 42 | end | ||
| 43 | end | ||
| 44 | |||
| 45 | return ok, err | ||
| 46 | end | ||
| 47 | |||
| 48 | function repo_writer.refresh_manifest(rocks_dir: string): boolean, string | ||
| 49 | return writer.make_manifest(rocks_dir, "one") | ||
| 50 | end | ||
| 51 | |||
| 52 | return repo_writer | ||
| 53 | |||
