From 679fa5fb3445870ad29953c606ab5e26f44e4e22 Mon Sep 17 00:00:00 2001 From: Corey Farrell Date: Thu, 18 Jan 2018 10:01:26 -0500 Subject: Add missing OPTIONAL_API and ARI dependences. I've audited all modules that include any header which includes asterisk/optional_api.h. All modules which use OPTIONAL_API now declare those dependencies in AST_MODULE_INFO using requires or optional_modules as appropriate. In addition ARI dependency declarations have been reworked. Instead of declaring additional required modules in res/ari/resource_*.c we now add them to an optional array "requiresModules" in api-docs for each module. This allows the AST_MODULE_INFO dependencies to include those missing modules. Change-Id: Ia0c70571f5566784f63605e78e1ceccb4f79c606 --- rest-api-templates/res_ari_resource.c.mustache | 5 ++++- rest-api-templates/swagger_model.py | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'rest-api-templates') diff --git a/rest-api-templates/res_ari_resource.c.mustache b/rest-api-templates/res_ari_resource.c.mustache index c1f680f21..c69734539 100644 --- a/rest-api-templates/res_ari_resource.c.mustache +++ b/rest-api-templates/res_ari_resource.c.mustache @@ -40,6 +40,9 @@ res_ari res_ari_model res_stasis +{{#requires_modules}} + {{.}} +{{/requires_modules}} core ***/ @@ -324,6 +327,6 @@ AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - {{{ .support_level = AST_MODULE_SUPPORT_CORE, .load = load_module, .unload = unload_module, - .requires = "res_ari,res_ari_model,res_stasis", + .requires = "res_ari,res_ari_model,res_stasis{{#requires_modules}},{{.}}{{/requires_modules}}", ); {{/api_declaration}} diff --git a/rest-api-templates/swagger_model.py b/rest-api-templates/swagger_model.py index 08852415c..3f729d8b5 100644 --- a/rest-api-templates/swagger_model.py +++ b/rest-api-templates/swagger_model.py @@ -647,6 +647,7 @@ class ApiDeclaration(Stringify): self.api_version = api_decl_json.get('apiVersion') self.base_path = api_decl_json.get('basePath') self.resource_path = api_decl_json.get('resourcePath') + self.requires_modules = api_decl_json.get('requiresModules') or [] api_json = api_decl_json.get('apis') or [] self.apis = [ Api().load(j, processor, context) for j in api_json] -- cgit v1.2.3