Mercurial > prosody-hg
annotate tools/make_repo.lua @ 11821:a9ad287c3388
core.moduleapi: Filter out unrelated direct replies to module:send_iq
This is primarily something that happens with an internal query to
mod_mam, which calls origin.send() several times with results, leading
to the first such result being treated as the final response and
resolving the promise.
Now, these responses pass trough to the underlying origin.send(), where
they can be caught. Tricky but not impossible. For remote queries, it's
even trickier, you would likely need to bind a resource or similar.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 24 Sep 2021 20:12:16 +0200 |
| parents | e9b47fcde93c |
| children |
| rev | line source |
|---|---|
|
10156
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
1 print("Getting all the available modules") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
2 if os.execute '[ -e "./downloaded_modules" ]' then |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
3 os.execute("rm -rf downloaded_modules") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
4 end |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
5 os.execute("hg clone https://hg.prosody.im/prosody-modules/ downloaded_modules") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
6 local i, popen = 0, io.popen |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
7 local flag = "mod_" |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
8 if os.execute '[ -e "./repository" ]' then |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
9 os.execute("mkdir repository") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
10 end |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
11 local pfile = popen('ls -a "downloaded_modules"') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
12 for filename in pfile:lines() do |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
13 i = i + 1 |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
14 if filename:sub(1, #flag) == flag then |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
15 local file = io.open("repository/"..filename.."-scm-1.rockspec", "w") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
16 file:write('package = "'..filename..'"', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
17 file:write('version = "scm-1"', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
18 file:write('source = {', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
19 file:write('\turl = "hg+https://hg.prosody.im/prosody-modules",', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
20 file:write('\tdir = "prosody-modules"', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
21 file:write('}', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
22 file:write('description = {', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
23 file:write('\thomepage = "https://prosody.im/",', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
24 file:write('\tlicense = "MIT"', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
25 file:write('}', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
26 file:write('dependencies = {', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
27 file:write('\t"lua >= 5.1"', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
28 file:write('}', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
29 file:write('build = {', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
30 file:write('\ttype = "builtin",', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
31 file:write('\tmodules = {', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
32 file:write('\t\t["'..filename..'.'..filename..'"] = "'..filename..'/'..filename..'.lua"', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
33 file:write('\t}', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
34 file:write('}', '\n') |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
35 file:close() |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
36 end |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
37 end |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
38 pfile:close() |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
39 os.execute("cd repository/ && luarocks-admin make_manifest ./ && chmod -R 644 ./*") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
40 print("") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
41 print("Done!. Modules' sources are locally available at ./downloaded_modules") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
42 print("Repository is available at ./repository") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
43 print("The repository contains all of prosody modules' respective rockspecs, as well as manifest files and an html Index") |
|
1797e2e22a38
make_repo: This script creates a repository with prosody plugins' rockspecs
João Duarte <jvsDuarte08@gmail.com>
parents:
diff
changeset
|
44 print("You can now either point your server to this folder, or copy its contents to another configured folder.") |
