aboutsummaryrefslogtreecommitdiff
path: root/spec/fixtures
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2019-08-30 11:02:58 -0300
committerHisham Muhammad <hisham@gobolinux.org>2019-09-03 15:00:01 -0300
commitccf92207e1092ae339b74454168acca79af72d0e (patch)
tree71ea1ea96e76274e14b523ac2b0f62306dd870f6 /spec/fixtures
parent0a5c5eee15072b712d0cee4cce8d642d1177ff76 (diff)
downloadluarocks-ccf92207e1092ae339b74454168acca79af72d0e.tar.gz
luarocks-ccf92207e1092ae339b74454168acca79af72d0e.tar.bz2
luarocks-ccf92207e1092ae339b74454168acca79af72d0e.zip
cmd: add compatibility mode for pre-argparse external commands
See #1070.
Diffstat (limited to 'spec/fixtures')
-rw-r--r--spec/fixtures/legacyexternalcommand-0.1-1.rockspec17
-rw-r--r--spec/fixtures/legacyexternalcommand.lua34
2 files changed, 51 insertions, 0 deletions
diff --git a/spec/fixtures/legacyexternalcommand-0.1-1.rockspec b/spec/fixtures/legacyexternalcommand-0.1-1.rockspec
new file mode 100644
index 00000000..47bcbb0c
--- /dev/null
+++ b/spec/fixtures/legacyexternalcommand-0.1-1.rockspec
@@ -0,0 +1,17 @@
1package = "legacyexternalcommand"
2version = "0.1-1"
3source = {
4 url = "http://localhost:8080/file/legacyexternalcommand.lua"
5}
6description = {
7 summary = "an external command with legacy arg parsing",
8}
9dependencies = {
10 "lua >= 5.1"
11}
12build = {
13 type = "builtin",
14 modules = {
15 ["luarocks.cmd.external.legacyexternalcommand"] = "legacyexternalcommand.lua",
16 }
17}
diff --git a/spec/fixtures/legacyexternalcommand.lua b/spec/fixtures/legacyexternalcommand.lua
new file mode 100644
index 00000000..af575372
--- /dev/null
+++ b/spec/fixtures/legacyexternalcommand.lua
@@ -0,0 +1,34 @@
1
2--- Module implementing an external command with legacy arg parsing.
3local legacyexternalcommand = {}
4
5local util = require("luarocks.util")
6
7legacyexternalcommand.help_summary = "generate legacyexternalcommand package files of a rock."
8legacyexternalcommand.help_arguments = "arg1 [arg2]"
9legacyexternalcommand.help = [[
10This addon generates legacyexternalcommand package files of a rock.
11First argument is the name of a rock, the second argument is optional
12and needed when legacyexternalcommand uses another name (usually prefixed by lua-).
13Files are generated with the source content of the rock and more
14especially the rockspec. So, the rock is downloaded and unpacked.
15]]
16
17--- Driver function for the "legacyexternalcommand" command.
18-- @param arg1 string: arg1.
19-- @param arg2 string: arg2 (optional)
20-- @return boolean: true if successful
21function legacyexternalcommand.command(flags, arg1, arg2)
22 if type(arg1) ~= 'string' then
23 return nil, "Argument missing. "..util.see_help('legacyexternalcommand')
24 end
25
26 for k,v in pairs(flags) do
27 print("FLAGS", k,v)
28 end
29 print("ARG1", tostring(arg1))
30 print("ARG2", tostring(arg2))
31 return true
32end
33
34return legacyexternalcommand