Allow plugins to specify a minimum requires version

This commit is contained in:
Robin Ward
2015-04-27 13:06:53 -04:00
parent 6af71bd601
commit de42c627c5
6 changed files with 85 additions and 11 deletions

View File

@ -1,6 +1,7 @@
require 'cache'
require_dependency 'plugin/instance'
require_dependency 'auth/default_current_user_provider'
require_dependency 'version'
module Discourse
@ -78,8 +79,18 @@ module Discourse
end
def self.activate_plugins!
@plugins = Plugin::Instance.find_all("#{Rails.root}/plugins")
@plugins.each { |plugin| plugin.activate! }
all_plugins = Plugin::Instance.find_all("#{Rails.root}/plugins")
@plugins = []
all_plugins.each do |p|
v = p.metadata.required_version || Discourse::VERSION::STRING
if Discourse.has_needed_version?(Discourse::VERSION::STRING, v)
p.activate!
@plugins << p
else
STDERR.puts "Could not activate #{p.metadata.name}, discourse does not meet required version (#{v})"
end
end
end
def self.disabled_plugin_names