agileware-jp / redmine_issue_templates

Redmine Issue Template. Pull requests, reporting issues, stars and sponsoring are always welcome!
https://www.redmine.org/plugins/redmine_issue_templates
GNU General Public License v2.0
65 stars 28 forks source link

Plugin incompatible with Redmine 5.x #21

Closed VoidAndAny closed 2 years ago

VoidAndAny commented 2 years ago

Summary

Redmine 5.x use Rail 6.1 which introduce a new way to autoload class: Zeitwerk autoloading This autoloader break almost all plugins including redmine_issue_template

Description

With Redmine 5.0 trying to install plugin:

$ bundle exec rake redmine:plugins RAILS_ENV=production

rake aborted!
LoadError: cannot load such file -- issue_templates/issues_hook
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:35:in `require'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:35:in `require'
/var/www/suivi/prod/public_html/plugins/redmine_issue_templates/init.rb:24:in `<top (required)>'
/var/www/suivi/prod/public_html/lib/redmine/plugin_loader.rb:31:in `load'
/var/www/suivi/prod/public_html/lib/redmine/plugin_loader.rb:31:in `run_initializer'
/var/www/suivi/prod/public_html/lib/redmine/plugin_loader.rb:108:in `each'
/var/www/suivi/prod/public_html/lib/redmine/plugin_loader.rb:108:in `block in load'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/activesupport-6.1.5/lib/active_support/callbacks.rb:427:in `instance_exec'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/activesupport-6.1.5/lib/active_support/callbacks.rb:427:in `block in make_lambda'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/activesupport-6.1.5/lib/active_support/callbacks.rb:198:in `block (2 levels) in halting'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/activesupport-6.1.5/lib/active_support/callbacks.rb:604:in `block (2 levels) in default_terminator'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/activesupport-6.1.5/lib/active_support/callbacks.rb:603:in `catch'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/activesupport-6.1.5/lib/active_support/callbacks.rb:603:in `block in default_terminator'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/activesupport-6.1.5/lib/active_support/callbacks.rb:199:in `block in halting'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/activesupport-6.1.5/lib/active_support/callbacks.rb:512:in `block in invoke_before'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/activesupport-6.1.5/lib/active_support/callbacks.rb:512:in `each'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/activesupport-6.1.5/lib/active_support/callbacks.rb:512:in `invoke_before'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/activesupport-6.1.5/lib/active_support/callbacks.rb:105:in `run_callbacks'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/activesupport-6.1.5/lib/active_support/reloader.rb:88:in `prepare!'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/railties-6.1.5/lib/rails/application/finisher.rb:124:in `block in <module:Finisher>'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/railties-6.1.5/lib/rails/initializable.rb:32:in `instance_exec'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/railties-6.1.5/lib/rails/initializable.rb:32:in `run'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/railties-6.1.5/lib/rails/initializable.rb:61:in `block in run_initializers'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/railties-6.1.5/lib/rails/initializable.rb:60:in `run_initializers'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/railties-6.1.5/lib/rails/application.rb:391:in `initialize!'
/var/www/suivi/prod/public_html/config/environment.rb:16:in `<top (required)>'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:35:in `require'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:35:in `require'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/activesupport-6.1.5/lib/active_support/dependencies.rb:332:in `block in require'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/activesupport-6.1.5/lib/active_support/dependencies.rb:299:in `load_dependency'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/activesupport-6.1.5/lib/active_support/dependencies.rb:332:in `require'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/railties-6.1.5/lib/rails/application.rb:367:in `require_environment!'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/railties-6.1.5/lib/rails/application.rb:533:in `block in run_tasks_blocks'
/var/www/suivi/prod/public_html/lib/tasks/redmine.rake:73:in `block (2 levels) in <top (required)>'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/bin/ruby_executable_hooks:22:in `eval'
/var/www/suivi/prod/.rvm/gems/ruby-2.7.3/bin/ruby_executable_hooks:22:in `<main>'
Tasks: TOP => redmine:plugins:migrate => environment
(See full trace by running task with --trace)

More details

Zeitwerk autoloader documentation:

Some issue related to this problem:

Translated documentation how to fix the problem:

ishikawa999 commented 2 years ago

@VoidAndAny Which version of the plugin are you using? It should be compatible with Redmine 5.0 by https://github.com/agileware-jp/redmine_issue_templates/pull/11 and https://github.com/agileware-jp/redmine_issue_templates/pull/12.

VoidAndAny commented 2 years ago

Thanks, i'me using 1.1.0 tag, i will try with master directly

VoidAndAny commented 2 years ago

Indeed it's OK, thanks a lot Sorry for the inconvenience.

(Maybe you can make a new tag ;))