summaryrefslogtreecommitdiff
path: root/rest-api-templates
diff options
context:
space:
mode:
authorCorey Farrell <git@cfware.com>2018-01-18 10:01:26 -0500
committerCorey Farrell <git@cfware.com>2018-01-22 12:16:58 -0500
commit679fa5fb3445870ad29953c606ab5e26f44e4e22 (patch)
treed038fd656eed6ded929b9e6f71527debd8f32019 /rest-api-templates
parent908e39f186b20be766df57013a65d6ccf31632df (diff)
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
Diffstat (limited to 'rest-api-templates')
-rw-r--r--rest-api-templates/res_ari_resource.c.mustache5
-rw-r--r--rest-api-templates/swagger_model.py1
2 files changed, 5 insertions, 1 deletions
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 @@
<depend type="module">res_ari</depend>
<depend type="module">res_ari_model</depend>
<depend type="module">res_stasis</depend>
+{{#requires_modules}}
+ <depend type="module">{{.}}</depend>
+{{/requires_modules}}
<support_level>core</support_level>
***/
@@ -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]