diff options
| author | dwenegar <simone.livieri@gmail.com> | 2019-07-18 08:31:43 +0900 |
|---|---|---|
| committer | Hisham Muhammad <hisham@gobolinux.org> | 2019-07-17 20:31:43 -0300 |
| commit | 56a90dbb0bdc7db59857301427825e5a7fc2900f (patch) | |
| tree | 88a2f64acb177a0960b1884036165777486ef827 | |
| parent | 12bdbc927721f0b12db20c5ba0612c78bb670376 (diff) | |
| download | luarocks-56a90dbb0bdc7db59857301427825e5a7fc2900f.tar.gz luarocks-56a90dbb0bdc7db59857301427825e5a7fc2900f.tar.bz2 luarocks-56a90dbb0bdc7db59857301427825e5a7fc2900f.zip | |
Add `--dir` option to the `new_version` command (#1014)
| -rw-r--r-- | src/luarocks/cmd/new_version.lua | 17 | ||||
| -rw-r--r-- | src/luarocks/util.lua | 1 |
2 files changed, 15 insertions, 3 deletions
diff --git a/src/luarocks/cmd/new_version.lua b/src/luarocks/cmd/new_version.lua index f1181d40..19b5fa1e 100644 --- a/src/luarocks/cmd/new_version.lua +++ b/src/luarocks/cmd/new_version.lua | |||
| @@ -8,10 +8,11 @@ local download = require("luarocks.download") | |||
| 8 | local fetch = require("luarocks.fetch") | 8 | local fetch = require("luarocks.fetch") |
| 9 | local persist = require("luarocks.persist") | 9 | local persist = require("luarocks.persist") |
| 10 | local fs = require("luarocks.fs") | 10 | local fs = require("luarocks.fs") |
| 11 | local dir = require("luarocks.dir") | ||
| 11 | local type_rockspec = require("luarocks.type.rockspec") | 12 | local type_rockspec = require("luarocks.type.rockspec") |
| 12 | 13 | ||
| 13 | new_version.help_summary = "Auto-write a rockspec for a new version of a rock." | 14 | new_version.help_summary = "Auto-write a rockspec for a new version of a rock." |
| 14 | new_version.help_arguments = "[--tag=<tag>] [<package>|<rockspec>] [<new_version>] [<new_url>]" | 15 | new_version.help_arguments = "[--tag=<tag>] [--dir=<path>] [<package>|<rockspec>] [<new_version>] [<new_url>]" |
| 15 | new_version.help = [[ | 16 | new_version.help = [[ |
| 16 | This is a utility function that writes a new rockspec, updating data | 17 | This is a utility function that writes a new rockspec, updating data |
| 17 | from a previous one. | 18 | from a previous one. |
| @@ -34,7 +35,9 @@ the new MD5 checksum. | |||
| 34 | If a tag is given, it replaces the one from the old rockspec. If there is | 35 | If a tag is given, it replaces the one from the old rockspec. If there is |
| 35 | an old tag but no new one passed, it is guessed in the same way URL is. | 36 | an old tag but no new one passed, it is guessed in the same way URL is. |
| 36 | 37 | ||
| 37 | WARNING: it writes the new rockspec to the current directory, | 38 | If a directory is not given, it defaults to the current directory. |
| 39 | |||
| 40 | WARNING: it writes the new rockspec to the given directory, | ||
| 38 | overwriting the file if it already exists. | 41 | overwriting the file if it already exists. |
| 39 | ]] | 42 | ]] |
| 40 | 43 | ||
| @@ -158,6 +161,11 @@ function new_version.command(flags, input, version, url) | |||
| 158 | version = flags.tag:gsub("^v", "") | 161 | version = flags.tag:gsub("^v", "") |
| 159 | end | 162 | end |
| 160 | 163 | ||
| 164 | local out_dir | ||
| 165 | if flags.dir then | ||
| 166 | out_dir = dir.normalize(flags.dir) | ||
| 167 | end | ||
| 168 | |||
| 161 | if version then | 169 | if version then |
| 162 | new_ver, new_rev = version:match("(.*)%-(%d+)$") | 170 | new_ver, new_rev = version:match("(.*)%-(%d+)$") |
| 163 | new_rev = tonumber(new_rev) | 171 | new_rev = tonumber(new_rev) |
| @@ -183,7 +191,10 @@ function new_version.command(flags, input, version, url) | |||
| 183 | end | 191 | end |
| 184 | 192 | ||
| 185 | local out_filename = out_name.."-"..new_rockver.."-"..new_rev..".rockspec" | 193 | local out_filename = out_name.."-"..new_rockver.."-"..new_rev..".rockspec" |
| 186 | 194 | if out_dir then | |
| 195 | out_filename = dir.path(out_dir, out_filename) | ||
| 196 | fs.make_dir(out_dir) | ||
| 197 | end | ||
| 187 | persist.save_from_table(out_filename, out_rs, type_rockspec.order) | 198 | persist.save_from_table(out_filename, out_rs, type_rockspec.order) |
| 188 | 199 | ||
| 189 | util.printout("Wrote "..out_filename) | 200 | util.printout("Wrote "..out_filename) |
diff --git a/src/luarocks/util.lua b/src/luarocks/util.lua index 1f7bd484..57cefc61 100644 --- a/src/luarocks/util.lua +++ b/src/luarocks/util.lua | |||
| @@ -97,6 +97,7 @@ local supported_flags = { | |||
| 97 | ["deps-mode"] = "<mode>", | 97 | ["deps-mode"] = "<mode>", |
| 98 | ["detailed"] = "\"<text>\"", | 98 | ["detailed"] = "\"<text>\"", |
| 99 | ["dev"] = true, | 99 | ["dev"] = true, |
| 100 | ["dir"] = "<path>", | ||
| 100 | ["force"] = true, | 101 | ["force"] = true, |
| 101 | ["force-fast"] = true, | 102 | ["force-fast"] = true, |
| 102 | ["from"] = "<server>", | 103 | ["from"] = "<server>", |
