import doc::commands::commands_main
redef class ToolContext
+
+ # nitpackage phase
+ var nitpackage_phase: Phase = new NitPackagePhase(self, null)
+
# --expand
var opt_expand = new OptionBool("Move singleton packages to their own directory", "--expand")
# --gen-makefile
var opt_gen_makefile = new OptionBool("Generate Makefile files", "--gen-makefile")
- # nitpackage phase
- var nitpackage_phase: Phase = new NitPackagePhase(self, null)
-
# --check-man
var opt_check_man = new OptionBool("Check manpages files", "--check-man")
# --gen-man
var opt_gen_man = new OptionBool("Generate manpages files", "--gen-man")
+ # --check-readme
+ var opt_check_readme = new OptionBool("Check README.md files", "--check-readme")
+
redef init do
super
option_context.add_option(opt_expand, opt_force)
option_context.add_option(opt_check_ini, opt_gen_ini)
option_context.add_option(opt_check_makefile, opt_gen_makefile)
option_context.add_option(opt_check_man, opt_gen_man)
+ option_context.add_option(opt_check_readme)
end
end
continue
end
+ # Check README.md
+ if toolcontext.opt_check_readme.value then
+ mpackage.check_readme(toolcontext)
+ continue
+ end
+
# Expand packages
if toolcontext.opt_expand.value and not mpackage.is_expanded then
var path = mpackage.expand
private fun check_makefile(toolcontext: ToolContext, mainmodule: MModule) do
var model = toolcontext.modelbuilder.model
var filter = new ModelFilter(accept_example = false, accept_test = false)
- var view = new ModelView(model, mainmodule, filter)
- var cmd_bin = new CmdMains(view, mentity = self)
+ var cmd_bin = new CmdMains(model, filter, mentity = self)
var res_bin = cmd_bin.init_command
if not res_bin isa CmdSuccess then return
private fun gen_makefile(model: Model, mainmodule: MModule): nullable String do
var filter = new ModelFilter(accept_example = false, accept_test = false)
- var view = new ModelView(model, mainmodule, filter)
var pkg_path = package_path.as(not null)
var makefile_path = makefile_path.as(not null)
var bins = new Array[String]
- var cmd_bin = new CmdMains(view, mentity = self)
+ var cmd_bin = new CmdMains(model, filter, mentity = self)
var res_bin = cmd_bin.init_command
if res_bin isa CmdSuccess then
for mmodule in cmd_bin.results.as(not null) do
private fun check_man(toolcontext: ToolContext, mainmodule: MModule) do
var model = toolcontext.modelbuilder.model
var filter = new ModelFilter(accept_example = false, accept_test = false)
- var view = new ModelView(model, mainmodule, filter)
-
- var cmd = new CmdMains(view, mentity = self)
+ var cmd = new CmdMains(model, filter, mentity = self)
var res = cmd.init_command
if not res isa CmdSuccess then return
private fun gen_man(toolcontext: ToolContext, mainmodule: MModule) do
var model = toolcontext.modelbuilder.model
var filter = new ModelFilter(accept_example = false, accept_test = false)
- var view = new ModelView(model, mainmodule, filter)
-
- var cmd = new CmdMains(view, mentity = self)
+ var cmd = new CmdMains(model, filter, mentity = self)
var res = cmd.init_command
if not res isa CmdSuccess then return
mmodule.gen_man(toolcontext)
end
end
+
+ # README
+
+ private fun check_readme(toolcontext: ToolContext) do
+ if not has_readme then
+ toolcontext.error(location, "No `README.md` file for `{name}`")
+ return
+ end
+ end
end
redef class MModule