view share/lua/5.2/luarocks/build/command.lua @ 8065:591b1467ccdf

<int-e> le/rn paste/"Paste" is a short story by Henry James. Its contents has been cut into pieces and distributed over numerous tin boxes on the World Wide Web, little pearls of wisdom buried among ordinary pastes.
author HackBot
date Sun, 15 May 2016 13:14:57 +0000
parents d137f631bad5
children
line wrap: on
line source


--- Build back-end for raw listing of commands in rockspec files.
module("luarocks.build.command", package.seeall)

local fs = require("luarocks.fs")
local util = require("luarocks.util")

--- Driver function for the "command" build back-end.
-- @param rockspec table: the loaded rockspec.
-- @return boolean or (nil, string): true if no errors ocurred,
-- nil and an error message otherwise.
function run(rockspec)
   assert(type(rockspec) == "table")

   local build = rockspec.build
   
   util.variable_substitutions(build, rockspec.variables)
   
   if build.build_command then
      util.printout(build.build_command)
      if not fs.execute(build.build_command) then
         return nil, "Failed building."
      end
   end
   if build.install_command then
      util.printout(build.install_command)
      if not fs.execute(build.install_command) then
         return nil, "Failed installing."
      end
   end
   return true
end