suitepro/plugins/redmine_git_hosting/lib/load_gitolite_hooks.rb

73 lines
2 KiB
Ruby

RedmineGitHosting::GitoliteHooks.register_hooks do
# Set source dir
source_dir Rails.root.join('plugins', 'redmine_git_hosting', 'contrib', 'hooks').to_s
# Declare GitoliteHooks to install
# Install executable
gitolite_hook do
name 'redmine_gitolite.rb'
source 'post-receive/redmine_gitolite.rb'
destination 'post-receive'
executable true
end
gitolite_hook do
name 'mail_notifications.py'
source 'post-receive/mail_notifications.py'
destination 'post-receive.d/mail_notifications'
executable true
end
# Install libs
gitolite_hook do
name 'git_hosting_config.rb'
source 'post-receive/lib/git_hosting_config.rb'
destination 'lib/git_hosting/config.rb'
executable false
end
gitolite_hook do
name 'git_hosting_custom_hook.rb'
source 'post-receive/lib/git_hosting_custom_hook.rb'
destination 'lib/git_hosting/custom_hook.rb'
executable false
end
gitolite_hook do
name 'git_hosting_http_helper.rb'
source 'post-receive/lib/git_hosting_http_helper.rb'
destination 'lib/git_hosting/http_helper.rb'
executable false
end
gitolite_hook do
name 'git_hosting_hook_logger.rb'
source 'post-receive/lib/git_hosting_hook_logger.rb'
destination 'lib/git_hosting/hook_logger.rb'
executable false
end
gitolite_hook do
name 'git_hosting_post_receive.rb'
source 'post-receive/lib/git_hosting_post_receive.rb'
destination 'lib/git_hosting/post_receive.rb'
executable false
end
gitolite_hook do
name 'git_multimail.py'
source 'post-receive/lib/git_multimail.py'
destination 'post-receive.d/git_multimail.py'
executable false
end
end
# Gitolite hooks can be found in Redmine root dir or in plugin root dir
[
Rails.root.join('redmine_git_hosting_hooks.rb').to_s,
Rails.root.join('plugins', 'redmine_git_hosting', 'custom_hooks.rb').to_s
].each do |file|
require_dependency file if File.exist?(file)
end