mirror of
https://github.com/opf/openproject.git
synced 2026-06-14 03:30:14 +00:00
Enable rails generators out of the box (#6043)
* Enable rails generators out of the box Add bin/rails and Gemfile to generated plugin. This enables use of rails generators in the generated plugin right after including it into OP's Gemfile.plugins and setting OPENPROJECT_ROOT environment variable. [ci skip]
This commit is contained in:
committed by
Oliver Günther
parent
e9116c9d8a
commit
f6702eb532
@@ -36,6 +36,7 @@ class OpenProject::PluginGenerator < Rails::Generators::Base
|
||||
def generate_plugin
|
||||
plugin_dir
|
||||
lib_dir
|
||||
bin_dir
|
||||
end
|
||||
|
||||
def full_name
|
||||
@@ -70,4 +71,14 @@ class OpenProject::PluginGenerator < Rails::Generators::Base
|
||||
directory('lib', lib_path)
|
||||
end
|
||||
end
|
||||
|
||||
def bin_path
|
||||
"#{plugin_path}/bin"
|
||||
end
|
||||
|
||||
def bin_dir
|
||||
@bin_dir ||= begin
|
||||
directory('bin', bin_path)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
gemspec
|
||||
@@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env ruby
|
||||
# This command will automatically be run when you run "rails" with Rails gems
|
||||
# installed from the root of your application.
|
||||
|
||||
ENGINE_ROOT = File.expand_path('../..', __FILE__)
|
||||
ENGINE_PATH = File.expand_path('../../lib/open_project/<%= plugin_name %>/engine', __FILE__)
|
||||
|
||||
# Set up gems listed in the Gemfile.
|
||||
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
|
||||
require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
|
||||
|
||||
##
|
||||
# This is not ideal but better than nothing.
|
||||
if ENV['OPENPROJECT_ROOT']
|
||||
# /Users/mkahl/dev/openproject/release/lib
|
||||
path = Pathname(ENV["OPENPROJECT_ROOT"]).join("lib")
|
||||
$LOAD_PATH.unshift(path.to_s)
|
||||
else
|
||||
puts
|
||||
puts "Error: please define OPENPROJECT_ROOT pointing to your OpenProject core's root directory"
|
||||
puts
|
||||
Kernel.exit(1)
|
||||
end
|
||||
|
||||
require 'rails/all'
|
||||
require 'rails/engine/commands'
|
||||
Reference in New Issue
Block a user