From 00620c69cdedc5f04e95cc16e8ba43f4d0da050a Mon Sep 17 00:00:00 2001 From: Rodrigo Souto Date: Wed, 27 Feb 2013 18:05:55 -0300 Subject: [PATCH] Adding triggers to plugin enable/disable script --- plugins/solr/after_enable.rb | 1 + script/noosfero-plugins | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 plugins/solr/after_enable.rb diff --git a/plugins/solr/after_enable.rb b/plugins/solr/after_enable.rb new file mode 100644 index 0000000..be4fc1f --- /dev/null +++ b/plugins/solr/after_enable.rb @@ -0,0 +1 @@ +puts "\nI: \e[33mAfter enabling solr you might want to run: $rake solr:reindex\e[0m\n\n" diff --git a/script/noosfero-plugins b/script/noosfero-plugins index fb9cb68..8fa54b2 100755 --- a/script/noosfero-plugins +++ b/script/noosfero-plugins @@ -67,10 +67,18 @@ _say(){ fi } +run(){ + if [ -e "$1" ]; then + ruby -I$load_paths -e "require '$1'" + return $? + fi +} + _enable(){ plugin="$1" source="$available_plugins_dir/$plugin" target="$enabled_plugins_dir/$plugin" + run "$source/before_enable.rb" if [ -h "$target" ]; then _say "$plugin already enabled" else @@ -80,16 +88,15 @@ _enable(){ fi dependencies_ok=true dependencies_file="$source/dependencies.rb" - if [ -e "$dependencies_file" ]; then - if ! ruby -I$load_paths -e "require '$dependencies_file'"; then - dependencies_ok=false - fi + if ! run $dependencies_file; then + dependencies_ok=false fi if [ "$dependencies_ok" = true ]; then ln -s "$source" "$target" plugins_public_dir="$NOOSFERO_DIR/public/plugins" test -d "$target/public/" && ln -s "$target/public" "$plugins_public_dir/$plugin" _say "$plugin enabled" + run "$source/after_enable.rb" needs_migrate=true else echo "W: failed to load dependencies for $plugin; not enabling" @@ -99,12 +106,15 @@ _enable(){ _disable(){ plugin="$1" + source="$available_plugins_dir/$plugin" target="$enabled_plugins_dir/$plugin" plugins_public_dir="$NOOSFERO_DIR/public/plugins" + run "$source/before_disable.rb" if [ -h "$target" ]; then rm "$target" test -h "$plugins_public_dir/$plugin" && rm "$plugins_public_dir/$plugin" _say "$plugin disabled" + run "$source/after_disable.rb" else _say "$plugin already disabled" fi -- libgit2 0.21.2