|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
-- build.lua: generate a single blogme4.lua from separate files.
-- This file:
-- http://angg.twu.net/blogme4/build.lua.html
-- http://angg.twu.net/blogme4/build.lua
-- (find-blogme4 "build.lua")
-- Author: Eduardo Ochs <eduardoochs@gmail.com>
-- Version: 2011aug04
-- License: GPL3
--
-- Related to: (find-dn5 "build.lua")
--
-- This script generates "blogme4.lua".
-- It needs to be run from the blogme4 directory,
-- Run with: (find-sh0 "cd ~/blogme4/ && lua51 build.lua")
-- (defun c () (interactive) (find-sh0 "cd ~/blogme4/&&lua51 build.lua"))
-- (defun c () (interactive) (find-sh "cd ~/blogme4/ && lua51 build.lua && cat blogme4.lua"))
--
-- (find-blogme4 "Makefile")
-- (defun m () (interactive) (find-blogme4sh "make clean; make blogme4.lua"))
-- (find-blogme4 "blogme4.lua")
--
dofile "common.lua" -- (find-blogme4 "common.lua")
target = "blogme4.lua"
A = { -- Core modules:
"common", -- (find-blogme4 "common.lua")
-- (find-blogme4 "blogme4.lua" "common.lua")
"eoo", -- (find-blogme4 "eoo.lua")
-- (find-blogme4 "blogme4.lua" "eoo.lua")
"def", -- (find-blogme4 "def.lua")
-- (find-blogme4 "blogme4.lua" "def.lua")
"eval", -- (find-blogme4 "eval.lua")
-- (find-blogme4 "blogme4.lua" "eval.lua")
"brackets", -- (find-blogme4 "brackets.lua")
-- (find-blogme4 "blogme4.lua" "brackets.lua")
--
-- Non-core modules:
"elisp", -- (find-blogme4 "elisp.lua")
-- (find-blogme4 "blogme4.lua" "elisp.lua")
"angglisp", -- (find-blogme4 "angglisp.lua")
-- (find-blogme4 "blogme4.lua" "angglisp.lua")
"anggdefs", -- (find-blogme4 "anggdefs.lua")
-- (find-blogme4 "blogme4.lua" "anggdefs.lua")
"anggdefs", -- (find-blogme4 "anggdefs.lua")
-- (find-blogme4 "blogme4.lua" "anggdefs.lua")
"texinfo", -- (find-blogme4 "texinfo.lua")
-- (find-blogme4 "blogme4.lua" "texinfo.lua")
--
-- Main:
"options", -- (find-blogme4 "options.lua")
-- (find-blogme4 "blogme4.lua" "options.lua")
}
guill = function (str) return (str:gsub("<<", "\171"):gsub(">>", "\187")) end
findblogme4 = function (fname) return '(find-blogme4 "'..fname..'")' end
prepfile = function (stem)
local name = stem..".lua"
local contents = readfile(name)
local contents2 = contents:gsub("\nrequire", "\n-- require")
local contents3 = contents2:gsub("\n%-%- dump%-to: tests.*", "")
local head = gformat(guill [[
---- <<%0.lua>> (to ".%0.lua")
---- This block is from: (find-blogme4 "%0.lua")
]])(stem)
return head..contents3
end
quick_index = "---- Index to the modules:\n" ..
mapconcat(gformat(guill '-- <<.%0.lua>> \t(to "%0.lua")'), A, "\n")..
"\n\n\n\n\n"
date = os.date("%Y%b%d %k:%M"):lower()
date = os.date("%Y%b%d %k:%M %Z")
head_all = "#!/usr/bin/env lua5.1".."\n"..
mapconcat(gformat "---- %1\n", {
"This is a one-file version of blogme4, generated",
"automatically by build.lua on "..date..". See:",
" http://angg.twu.net/blogme4/build.lua.html",
" (find-blogme4 \"build.lua\")",
"This file:",
" http://angg.twu.net/blogme4/blogme4.lua.html",
" (find-blogme4 \"blogme4.lua\")",
}).."\n"
-- head_all = "------ Generated by: "..findblogme4("blogme4-gen.lua").."\n"
body_all = mapconcat(prepfile, A, "\n\n\n")
footer_all = guill [[
-- Local Variables:
-- coding: raw-text-unix
-- ee-anchor-format: "<<%s>>"
-- End:
]]
writefile(target, head_all..
quick_index..
body_all..
footer_all)
print(" Created: "..target)
print(" From: "..mapconcat(gformat "%1.lua", A, " "))