X-Git-Url: http://nitlanguage.org diff --git a/src/nitpackage.nit b/src/nitpackage.nit index 4cde8b1..a81ded9 100644 --- a/src/nitpackage.nit +++ b/src/nitpackage.nit @@ -19,6 +19,10 @@ import frontend 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") @@ -37,21 +41,22 @@ redef class ToolContext # --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 @@ -87,6 +92,12 @@ private class NitPackagePhase 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 @@ -226,7 +237,8 @@ redef class MPackage "package.name", "package.desc", "package.tags", "package.license", "package.maintainer", "package.more_contributors", "upstream.browse", "upstream.git", "upstream.git.directory", - "upstream.homepage", "upstream.issues" + "upstream.homepage", "upstream.issues", "upstream.apk", "upstream.tryit", + "source.exclude" ] private fun check_ini(toolcontext: ToolContext) do @@ -316,9 +328,8 @@ redef class MPackage 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 @@ -334,13 +345,12 @@ redef class MPackage 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 @@ -388,9 +398,7 @@ redef class MPackage 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 @@ -403,9 +411,7 @@ redef class MPackage 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 @@ -416,6 +422,15 @@ redef class MPackage 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