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 /src | |
parent | d7b06bdc297d758e5dbf56086bda57358a1b40f2 (diff) | |
download | luarocks-0df815e307216175599cfb1a44842266ba752beb.tar.gz luarocks-0df815e307216175599cfb1a44842266ba752beb.tar.bz2 luarocks-0df815e307216175599cfb1a44842266ba752beb.zip |
Teal: convert luarocks.repo_writer
Diffstat (limited to 'src')
-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 | |||