aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorV1K1NGbg <victor@ilchev.com>2024-08-22 17:48:56 -0300
committerHisham Muhammad <hisham@gobolinux.org>2024-10-21 13:30:51 -0300
commit0df815e307216175599cfb1a44842266ba752beb (patch)
treea5660f91e6de90f890342f37f7c71ad660333c51 /src
parentd7b06bdc297d758e5dbf56086bda57358a1b40f2 (diff)
downloadluarocks-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.tl53
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 @@
1local record repo_writer
2end
3
4local fs = require("luarocks.fs")
5local path = require("luarocks.path")
6local repos = require("luarocks.repos")
7local writer = require("luarocks.manif.writer")
8
9function 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
33end
34
35function 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
46end
47
48function repo_writer.refresh_manifest(rocks_dir: string): boolean, string
49 return writer.make_manifest(rocks_dir, "one")
50end
51
52return repo_writer
53