mirror of
https://github.com/meineerde/redmine.git
synced 2026-03-11 19:53:07 +00:00
Adds a simple Redmine plugin generator.
Usage: script/generate redmine_plugin my_plugin git-svn-id: http://redmine.rubyforge.org/svn/branches/work@1721 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
4a41c66855
commit
ed7e61d1c3
18
hooks/lib/generators/redmine_plugin/USAGE
Normal file
18
hooks/lib/generators/redmine_plugin/USAGE
Normal file
@ -0,0 +1,18 @@
|
||||
Description:
|
||||
The plugin generator creates stubs for a new Redmine plugin.
|
||||
|
||||
Example:
|
||||
./script/generate redmine_plugin meetings
|
||||
create vendor/plugins/redmine_meetings/app/controllers
|
||||
create vendor/plugins/redmine_meetings/app/helpers
|
||||
create vendor/plugins/redmine_meetings/app/models
|
||||
create vendor/plugins/redmine_meetings/app/views
|
||||
create vendor/plugins/redmine_meetings/db/migrate
|
||||
create vendor/plugins/redmine_meetings/lib/tasks
|
||||
create vendor/plugins/redmine_meetings/assets/images
|
||||
create vendor/plugins/redmine_meetings/assets/javascripts
|
||||
create vendor/plugins/redmine_meetings/assets/stylesheets
|
||||
create vendor/plugins/redmine_meetings/lang
|
||||
create vendor/plugins/redmine_meetings/README
|
||||
create vendor/plugins/redmine_meetings/init.rb
|
||||
create vendor/plugins/redmine_meetings/lang/en.yml
|
||||
@ -0,0 +1,45 @@
|
||||
# redMine - project management software
|
||||
# Copyright (C) 2006-2008 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
class RedminePluginGenerator < Rails::Generator::NamedBase
|
||||
attr_reader :plugin_path, :plugin_name
|
||||
|
||||
def initialize(runtime_args, runtime_options = {})
|
||||
super
|
||||
@plugin_name = "redmine_#{file_name.underscore}"
|
||||
@plugin_path = "vendor/plugins/#{plugin_name}"
|
||||
end
|
||||
|
||||
def manifest
|
||||
record do |m|
|
||||
m.directory "#{plugin_path}/app/controllers"
|
||||
m.directory "#{plugin_path}/app/helpers"
|
||||
m.directory "#{plugin_path}/app/models"
|
||||
m.directory "#{plugin_path}/app/views"
|
||||
m.directory "#{plugin_path}/db/migrate"
|
||||
m.directory "#{plugin_path}/lib/tasks"
|
||||
m.directory "#{plugin_path}/assets/images"
|
||||
m.directory "#{plugin_path}/assets/javascripts"
|
||||
m.directory "#{plugin_path}/assets/stylesheets"
|
||||
m.directory "#{plugin_path}/lang"
|
||||
|
||||
m.template 'README', "#{plugin_path}/README"
|
||||
m.template 'init.rb', "#{plugin_path}/init.rb"
|
||||
m.template 'en.yml', "#{plugin_path}/lang/en.yml"
|
||||
end
|
||||
end
|
||||
end
|
||||
3
hooks/lib/generators/redmine_plugin/templates/README
Normal file
3
hooks/lib/generators/redmine_plugin/templates/README
Normal file
@ -0,0 +1,3 @@
|
||||
= <%= file_name %>
|
||||
|
||||
Description goes here
|
||||
2
hooks/lib/generators/redmine_plugin/templates/en.yml
Normal file
2
hooks/lib/generators/redmine_plugin/templates/en.yml
Normal file
@ -0,0 +1,2 @@
|
||||
# English strings go here
|
||||
my_label: "My label"
|
||||
8
hooks/lib/generators/redmine_plugin/templates/init.rb
Normal file
8
hooks/lib/generators/redmine_plugin/templates/init.rb
Normal file
@ -0,0 +1,8 @@
|
||||
require 'redmine'
|
||||
|
||||
Redmine::Plugin.register :<%= plugin_name %> do
|
||||
name 'Example plugin'
|
||||
author 'Author name'
|
||||
description 'This is a plugin for Redmine'
|
||||
version '0.0.1'
|
||||
end
|
||||
Loading…
x
Reference in New Issue
Block a user