[Kimchi-devel] [PATCH V2 6/7] add an optional to toggle the sample plugin

Yu Xin Huo huoyuxin at linux.vnet.ibm.com
Tue May 20 06:53:03 UTC 2014


Sample plugin has no difference from other plugins, it is wrong to 
specially design a command for that sample plugin.
A plugin should have a way to disable itself, I prefer the original way 
to disable a plugin like below.

In plugin descriptor xml file, comment out all tabs, if no tabs is 
defined, then the plugin will not be loaded.
By this way, no special command is needed, no additional overhead in 
coding is needed.



On 5/19/2014 5:31 PM, Yu Xin Huo wrote:
> On 5/17/2014 3:30 AM, shaohef at linux.vnet.ibm.com wrote:
>> From: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
>>
>> sample plugin is used to test as a plugin demo.
>>
>> we disable it by default.
>>
>> use this command to enable sample plugin
>> $ ./autogen.sh --enable-plugins
> As this command is specially used to enable the sample plugin, so the 
> param of "enable-plugins" is quite confusing, looks like enabling all 
> the plugins.
> If it is only to enable that sample plugin, I do not think it is worth 
> to add such a command specially for that.
>>
>> Signed-off-by: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
>> ---
>>   configure.ac                                   | 10 ++++++++++
>>   plugins/sample/Makefile.am                     | 18 +++++++++++++++++-
>>   plugins/sample/{sample.conf => sample.conf.in} |  2 +-
>>   3 files changed, 28 insertions(+), 2 deletions(-)
>>   rename plugins/sample/{sample.conf => sample.conf.in} (90%)
>>
>> diff --git a/configure.ac b/configure.ac
>> index cc971e8..ab1b302 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -48,6 +48,16 @@ if test "x$PYFLAKES" = "x"; then
>>     AC_MSG_WARN([pyflakes not found])
>>   fi
>>
>> +AC_ARG_ENABLE(
>> +    [plugins],
>> +    [AS_HELP_STRING(
>> +        [--enable-plugins],
>> +        [build plugins packages @<:@default=no@:>@]
>> +    )],
>> +    ,
>> +    [enable_plugins="no"]
>> +)
>> +AM_CONDITIONAL([PLUGINS], [test "${enable_plugins}" = "yes"])
>>
>>   AC_CONFIG_FILES([
>>       po/Makefile.in
>> diff --git a/plugins/sample/Makefile.am b/plugins/sample/Makefile.am
>> index e03a4c0..b0beb32 100644
>> --- a/plugins/sample/Makefile.am
>> +++ b/plugins/sample/Makefile.am
>> @@ -19,4 +19,20 @@
>>
>>   SUBDIRS = ui
>>
>> -EXTRA_DIST = API.json sample.conf $(wildcard *.py)
>> +EXTRA_DIST = API.json sample.conf.in $(wildcard *.py)
>> +
>> +if PLUGINS
>> +ENABLE_PLUGINS =  True
>> +else
>> +ENABLE_PLUGINS =  False
>> +endif
>> +
>> +do_substitution = \
>> +    sed -e 's,[@]ENABLE_PLUGINS[@],$(ENABLE_PLUGINS),g'
>> +
>> +sample.conf: sample.conf.in Makefile
>> +    echo $(ENABLE_PLUGINS)
>> +    $(do_substitution) < $< > $@
>> +
>> +BUILT_SOURCES = sample.conf
>> +CLEANFILES = sample.conf
>> diff --git a/plugins/sample/sample.conf b/plugins/sample/sample.conf.in
>> similarity index 90%
>> rename from plugins/sample/sample.conf
>> rename to plugins/sample/sample.conf.in
>> index 78a9f4e..12a3eef 100644
>> --- a/plugins/sample/sample.conf
>> +++ b/plugins/sample/sample.conf.in
>> @@ -1,5 +1,5 @@
>>   [kimchi]
>> -enable = True
>> +enable = @ENABLE_PLUGINS@
>>   plugin_class = "Drawings"
>>   uri = "/plugins/sample"
>>
>
>
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20140520/9ebc952d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: icgcfdih.png
Type: image/png
Size: 30712 bytes
Desc: not available
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20140520/9ebc952d/attachment.png>


More information about the Kimchi-devel mailing list