From 59fb321e9fb2c5171919c6906c024093bde635ac Mon Sep 17 00:00:00 2001
From: Hisham Muhammad
Date: Sat, 17 Sep 2011 11:50:56 -0300
Subject: Since 'description' field is optional, functions should not assume it
is always there. Closes #46.
---
src/luarocks/build.lua | 2 +-
src/luarocks/index.lua | 9 +++++----
src/luarocks/show.lua | 2 +-
3 files changed, 7 insertions(+), 6 deletions(-)
(limited to 'src')
diff --git a/src/luarocks/build.lua b/src/luarocks/build.lua
index 69f46fcc..af098f34 100644
--- a/src/luarocks/build.lua
+++ b/src/luarocks/build.lua
@@ -240,7 +240,7 @@ function build_rockspec(rockspec_file, need_to_fetch, minimal_mode)
if err then return nil, err end
local license = ""
- if rockspec.description.license then
+ if rockspec.description and rockspec.description.license then
license = ("(license: "..rockspec.description.license..")")
end
diff --git a/src/luarocks/index.lua b/src/luarocks/index.lua
index 570db431..01ce266a 100644
--- a/src/luarocks/index.lua
+++ b/src/luarocks/index.lua
@@ -143,14 +143,15 @@ function make_index(repo)
output = output .. index_package_end
if latest_rockspec then
local rockspec = persist.load_into_table(dir.path(repo, latest_rockspec))
+ local descript = rockspec.description or {}
local vars = {
anchor = package,
package = rockspec.package,
original = rockspec.source.url,
- summary = rockspec.description.summary or "",
- detailed = rockspec.description.detailed or "",
- license = rockspec.description.license or "N/A",
- homepage = rockspec.description.homepage and ("| project homepage") or "",
+ summary = descript.summary or "",
+ detailed = descript.detailed or "",
+ license = descript.license or "N/A",
+ homepage = descript.homepage and ("| project homepage") or "",
externaldependencies = format_external_dependencies(rockspec)
}
vars.detailed = vars.detailed:gsub("\n\n", "
"):gsub("%s+", " ")
diff --git a/src/luarocks/show.lua b/src/luarocks/show.lua
index f968bec8..30b1d1c5 100644
--- a/src/luarocks/show.lua
+++ b/src/luarocks/show.lua
@@ -94,7 +94,7 @@ function run(...)
local rockspec, err = fetch.load_local_rockspec(rockspec_file)
if not rockspec then return nil,err end
- local descript = rockspec.description
+ local descript = rockspec.description or {}
local manifest, err = manif.load_manifest(repo_url)
if not manifest then return nil,err end
local minfo = manifest.repository[name][version][1]
--
cgit v1.2.3-55-g6feb