apsmir / custom_field_sql

redmine sql custom field
14 stars 8 forks source link

rake aborted! when installing plugin using redmine docker #12

Closed mad-fj closed 2 months ago

mad-fj commented 2 years ago

Hi @apsmir,

First: Thanks for your good work.

When trying out the plugin, I encountered installation problems when using a Redmine Docker environment.

Steps to reproduce:

/opt/redmine/data/redmine/plugins$ git clone https://github.com/apsmir/custom_field_sql.git
/opt/redmine$ docker-compose up

Output:

...
redmine_1  | rake aborted!
redmine_1  | LoadError: cannot load such file -- custom_field_sql/custom_fields/formats/sql
redmine_1  | /usr/local/bundle/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
redmine_1  | /usr/local/bundle/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
redmine_1  | /usr/local/bundle/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:35:in `require'
redmine_1  | /usr/src/redmine/plugins/custom_field_sql/init.rb:2:in `block in <top (required)>'
redmine_1  | /usr/src/redmine/lib/redmine/plugin.rb:96:in `instance_eval'
redmine_1  | /usr/src/redmine/lib/redmine/plugin.rb:96:in `register'
redmine_1  | /usr/src/redmine/plugins/custom_field_sql/init.rb:1:in `<top (required)>'
redmine_1  | /usr/src/redmine/lib/redmine/plugin_loader.rb:31:in `load'
redmine_1  | /usr/src/redmine/lib/redmine/plugin_loader.rb:31:in `run_initializer'
redmine_1  | /usr/src/redmine/lib/redmine/plugin_loader.rb:108:in `each'
redmine_1  | /usr/src/redmine/lib/redmine/plugin_loader.rb:108:in `block in load'
redmine_1  | /usr/local/bundle/gems/activesupport-6.1.6/lib/active_support/callbacks.rb:427:in `instance_exec'
redmine_1  | /usr/local/bundle/gems/activesupport-6.1.6/lib/active_support/callbacks.rb:427:in `block in make_lambda'
redmine_1  | /usr/local/bundle/gems/activesupport-6.1.6/lib/active_support/callbacks.rb:198:in `block (2 levels) in halting'
redmine_1  | /usr/local/bundle/gems/activesupport-6.1.6/lib/active_support/callbacks.rb:604:in `block (2 levels) in default_terminator'
redmine_1  | /usr/local/bundle/gems/activesupport-6.1.6/lib/active_support/callbacks.rb:603:in `catch'
redmine_1  | /usr/local/bundle/gems/activesupport-6.1.6/lib/active_support/callbacks.rb:603:in `block in default_terminator'
redmine_1  | /usr/local/bundle/gems/activesupport-6.1.6/lib/active_support/callbacks.rb:199:in `block in halting'
redmine_1  | /usr/local/bundle/gems/activesupport-6.1.6/lib/active_support/callbacks.rb:512:in `block in invoke_before'
redmine_1  | /usr/local/bundle/gems/activesupport-6.1.6/lib/active_support/callbacks.rb:512:in `each'
redmine_1  | /usr/local/bundle/gems/activesupport-6.1.6/lib/active_support/callbacks.rb:512:in `invoke_before'
redmine_1  | /usr/local/bundle/gems/activesupport-6.1.6/lib/active_support/callbacks.rb:105:in `run_callbacks'
redmine_1  | /usr/local/bundle/gems/activesupport-6.1.6/lib/active_support/reloader.rb:88:in `prepare!'
redmine_1  | /usr/local/bundle/gems/railties-6.1.6/lib/rails/application/finisher.rb:124:in `block in <module:Finisher>'
redmine_1  | /usr/local/bundle/gems/railties-6.1.6/lib/rails/initializable.rb:32:in `instance_exec'
redmine_1  | /usr/local/bundle/gems/railties-6.1.6/lib/rails/initializable.rb:32:in `run'
redmine_1  | /usr/local/bundle/gems/railties-6.1.6/lib/rails/initializable.rb:61:in `block in run_initializers'
redmine_1  | /usr/local/bundle/gems/railties-6.1.6/lib/rails/initializable.rb:60:in `run_initializers'
redmine_1  | /usr/local/bundle/gems/railties-6.1.6/lib/rails/application.rb:391:in `initialize!'
redmine_1  | /usr/src/redmine/config/environment.rb:16:in `<top (required)>'
redmine_1  | /usr/local/bundle/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
redmine_1  | /usr/local/bundle/gems/polyglot-0.3.5/lib/polyglot.rb:65:in `require'
redmine_1  | /usr/local/bundle/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:35:in `require'
redmine_1  | /usr/local/bundle/gems/activesupport-6.1.6/lib/active_support/dependencies.rb:332:in `block in require'
redmine_1  | /usr/local/bundle/gems/activesupport-6.1.6/lib/active_support/dependencies.rb:299:in `load_dependency'
redmine_1  | /usr/local/bundle/gems/activesupport-6.1.6/lib/active_support/dependencies.rb:332:in `require'
redmine_1  | /usr/local/bundle/gems/railties-6.1.6/lib/rails/application.rb:367:in `require_environment!'
redmine_1  | /usr/local/bundle/gems/railties-6.1.6/lib/rails/application.rb:533:in `block in run_tasks_blocks'
redmine_1  | Tasks: TOP => db:migrate => db:load_config => environment
redmine_1  | (See full trace by running task with --trace)

Fix working for me:

/opt/redmine/data/redmine/plugins/custom_field_sql# git diff HEAD
diff --git a/init.rb b/init.rb
index 952841b..aeffaaf 100644
--- a/init.rb
+++ b/init.rb
@@ -1,6 +1,6 @@
 Redmine::Plugin.register :custom_field_sql do
-  require 'custom_field_sql/custom_fields/formats/sql'
-  require 'custom_sql_search_hook'
+  require File.expand_path('../lib/custom_field_sql/custom_fields/formats/sql', __FILE__)
+  require File.expand_path('../lib/custom_sql_search_hook', __FILE__)
   name 'Redmine SQL Custom Field Label plugin'
   author 'Alexey Smirnov'
   description 'This is a plugin for Redmine which adds SQL type to Custom Fields'
diff --git a/lib/custom_sql_search_hook.rb b/lib/custom_sql_search_hook.rb
index 0456bfb..1287824 100644
--- a/lib/custom_sql_search_hook.rb
+++ b/lib/custom_sql_search_hook.rb
@@ -1,4 +1,4 @@
-class CustomSqlSearchHookListener < Redmine::Hook::ViewListener
+class CustomSqlSearchHook < Redmine::Hook::ViewListener

   def view_layouts_base_html_head(context={})
     html = "\n<!-- [custom field sql plugin] -->\n"
pkoevesdi commented 8 months ago

It works well, bt I simplified the require lines to:

require_relative 'lib/custom_field_sql/custom_fields/formats/sql'
require_relative 'lib/custom_sql_search_hook' 

similar to https://github.com/apsmir/custom_field_sql/issues/17#issuecomment-1572755749

apsmir commented 2 months ago

fixed with commit for redmine 5.x