diff options
| author | Daniil Fedotov <dfedotov@pivotal.io> | 2016-02-17 13:21:44 +0000 |
|---|---|---|
| committer | Daniil Fedotov <dfedotov@pivotal.io> | 2016-02-17 13:21:44 +0000 |
| commit | d0bc71dba5a07786d4f9d71445b55276bfb12846 (patch) | |
| tree | 402a075a2f47da7d7de760bae8b5def1ad6387ac /src | |
| parent | 7104595588c739dc8e92671b0307adcb9b40ef2f (diff) | |
| download | rabbitmq-server-git-d0bc71dba5a07786d4f9d71445b55276bfb12846.tar.gz | |
Load any schema from plugin schema dir
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_plugins.erl | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/rabbit_plugins.erl b/src/rabbit_plugins.erl index ff7ec1a984..3d960edcbe 100644 --- a/src/rabbit_plugins.erl +++ b/src/rabbit_plugins.erl @@ -46,6 +46,7 @@ ensure(FileJustChanged0) -> FileJustChanged -> Enabled = read_enabled(OurFile), Wanted = prepare_plugins(Enabled), + rabbit_config:prepare_and_use_config(), Current = active(), Start = Wanted -- Current, Stop = Current -- Wanted, @@ -254,14 +255,17 @@ prepare_dir_plugin(PluginAppDescPath) -> copy_plugin_schema(Plugin, PluginAppDescPath) -> PluginSchema = filename:join([PluginAppDescPath, "priv", - "schema", - [Plugin, ".schema"]]), - case rabbit_file:is_file(PluginSchema) of + "schema"]), + PluginSchemaFiles = [ filename:join(PluginSchema, FileName) + || FileName <- rabbit_file:wildcard(".*\\.schema", + PluginSchema) ], + case rabbit_file:is_dir(PluginSchema) of false -> ok; true -> SchemaDir = rabbit_config:schema_dir(), case rabbit_file:is_dir(SchemaDir) of - true -> file:copy(PluginSchema, SchemaDir); + true -> [ file:copy(SchemaFile, SchemaDir) + || SchemaFile <- PluginSchemaFiles ]; false -> rabbit_log:info("Failed to copy plugin schema. " "Schema dir doesn't exist") end |
