Parent issue filter plugin for redmine の v1.0.2 をリリースしました。

Hudson plugin と Parent issue filter plugin を一緒にインストールして利用すると、エラーが発生するといった問題があり、v1.0.2 にて対処しました。

原因は、同じ名前のファイルquery_patch.rbrequire/require_dependencyしていたためです。てっきり、Plugin毎にrequireで優先するパスが異なって、名前が同じでも問題ないと勘違いしていたのですが、そうではないみたいですね…

エラーとして下記のようなメッセージが出ており、Hudson plugin側でのrequireで、query_patch.rbは読み込まれず(Parent issue filter側で読み込まれたものがあるので)、エラーとなっているようでした。しかも、developmentモードだと発生しなかった(require_dependencyが必ず再読み込みするおかげ?)ため、原因に気が付くのが遅れてしまいました。

  Message from application: uninitialized constant RedmineHudson (NameError)
  /var/lib/redmine/plugins/redmine_hudson/init.rb:49:in `block in <top (required)>'
  /var/lib/redmine/vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.19/lib/active_support/callbacks.rb:429:in `_run__1312249266792273252__prepare__416257522511426094__callbacks'
  /var/lib/redmine/vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.19/lib/active_support/callbacks.rb:405:in `__run_callback'
  /var/lib/redmine/vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.19/lib/active_support/callbacks.rb:385:in `_run_prepare_callbacks'
  /var/lib/redmine/vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.19/lib/active_support/callbacks.rb:81:in `run_callbacks'
  /var/lib/redmine/vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.19/lib/action_dispatch/middleware/reloader.rb:74:in `prepare!'
  /var/lib/redmine/vendor/bundle/ruby/2.1.0/gems/actionpack-3.2.19/lib/action_dispatch/middleware/reloader.rb:48:in `prepare!'
  /var/lib/redmine/vendor/bundle/ruby/2.1.0/gems/railties-3.2.19/lib/rails/application/finisher.rb:47:in `block in <module:Finisher>'
  /var/lib/redmine/vendor/bundle/ruby/2.1.0/gems/railties-3.2.19/lib/rails/initializable.rb:30:in `instance_exec'
  /var/lib/redmine/vendor/bundle/ruby/2.1.0/gems/railties-3.2.19/lib/rails/initializable.rb:30:in `run'
  /var/lib/redmine/vendor/bundle/ruby/2.1.0/gems/railties-3.2.19/lib/rails/initializable.rb:55:in `block in run_initializers'
  /var/lib/redmine/vendor/bundle/ruby/2.1.0/gems/railties-3.2.19/lib/rails/initializable.rb:54:in `each'
  /var/lib/redmine/vendor/bundle/ruby/2.1.0/gems/railties-3.2.19/lib/rails/initializable.rb:54:in `run_initializers'
  /var/lib/redmine/vendor/bundle/ruby/2.1.0/gems/railties-3.2.19/lib/rails/application.rb:136:in `initialize!'
  /var/lib/redmine/vendor/bundle/ruby/2.1.0/gems/railties-3.2.19/lib/rails/railtie/configurable.rb:30:in `method_missing'
  /var/lib/redmine/config/environment.rb:14:in `<top (required)>'
  config.ru:3:in `require'
  config.ru:3:in `block in <main>'
  /var/lib/redmine/vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/builder.rb:51:in `instance_eval'
  /var/lib/redmine/vendor/bundle/ruby/2.1.0/gems/rack-1.4.5/lib/rack/builder.rb:51:in `initialize'
  config.ru:1:in `new'
  config.ru:1:in `<main>'
  /usr/local/lib/ruby/gems/2.1.0/gems/passenger-5.0.10/helper-scripts/rack-preloader.rb:107:in `eval'
  /usr/local/lib/ruby/gems/2.1.0/gems/passenger-5.0.10/helper-scripts/rack-preloader.rb:107:in `preload_app'
  /usr/local/lib/ruby/gems/2.1.0/gems/passenger-5.0.10/helper-scripts/rack-preloader.rb:153:in `<module:App>'
  /usr/local/lib/ruby/gems/2.1.0/gems/passenger-5.0.10/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>'
  /usr/local/lib/ruby/gems/2.1.0/gems/passenger-5.0.10/helper-scripts/rack-preloader.rb:28:in `<main>'

Ruby(というかRails)に対する知識が足りてませんでしたね…