PluginGems » History » Version 2

Romain GEORGES, 2009-12-11 16:20

1 1 Romain GEORGES
h1. Plugin Gems
2 1 Romain GEORGES
3 2 Romain GEORGES
{{>toc}}
4 2 Romain GEORGES
5 2 Romain GEORGES
6 1 Romain GEORGES
h2. Copyright
7 1 Romain GEORGES
8 1 Romain GEORGES
Copyright (c) 2009 Romain GEORGES
9 1 Romain GEORGES
Copyright Ultragreen (c) 2009
10 2 Romain GEORGES
http://www.ultragreen.net
11 1 Romain GEORGES
Under BSD license 
12 1 Romain GEORGES
http://www.opensource.org/licenses/bsd-license.php
13 1 Romain GEORGES
14 1 Romain GEORGES
* Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.co.jp>.
15 1 Romain GEORGES
Ruby under the Ruby License.
16 1 Romain GEORGES
http://www.ruby-lang.org/en/LICENSE.txt
17 1 Romain GEORGES
18 1 Romain GEORGES
19 1 Romain GEORGES
* Rails is copyrighted free software by David Heinemeier Hansson
20 1 Romain GEORGES
Rails is released under the MIT license.
21 1 Romain GEORGES
http://www.opensource.org/licenses/mit-license.php
22 1 Romain GEORGES
"Rails", "Ruby on Rails", and the Rails logo are registered trademarks of David Heinemeier Hansson. All rights reserved.
23 1 Romain GEORGES
24 1 Romain GEORGES
* Redmine is copyrighted free software by Jean-Philippe Lang
25 1 Romain GEORGES
Redmine © 2006-2009 Jean-Philippe Lang
26 1 Romain GEORGES
Redmine is open source and released under the terms of the GNU General Public License v2 (GPL).
27 1 Romain GEORGES
http://www.opensource.org/licenses/gpl-2.0.php
28 2 Romain GEORGES
29 2 Romain GEORGES
h2. Description
30 2 Romain GEORGES
31 2 Romain GEORGES
Automation Gems Building plugins for Redmine
32 2 Romain GEORGES
33 2 Romain GEORGES
34 2 Romain GEORGES
Project Preview : http://www.ultragreen.net/projects/redmine-gems
35 2 Romain GEORGES
SCM : http://www.ultragreen.net/projects/redmine-gems/files
36 2 Romain GEORGES
ITS : http://www.ultragreen.net/projects/redmine-gems/issues
37 2 Romain GEORGES
38 2 Romain GEORGES
39 2 Romain GEORGES
40 2 Romain GEORGES
h2. Requierement
41 2 Romain GEORGES
42 2 Romain GEORGES
This plugins requiers
43 2 Romain GEORGES
44 2 Romain GEORGES
- Ruby 1.8.6 or higher
45 2 Romain GEORGES
- Rails 2.2.2 or higher
46 2 Romain GEORGES
- Redmine trunk from r2493 to r2886 or higher
47 2 Romain GEORGES
48 2 Romain GEORGES
49 2 Romain GEORGES
*Warning* : this plugin will operate ONLY if you have a SUBVERSION repository configured on the Redmine Project where it has been added.
50 2 Romain GEORGES
  
51 2 Romain GEORGES
h2. Download
52 2 Romain GEORGES
53 2 Romain GEORGES
http://www.ultragreen.net/projects/redmine-gems/files
54 2 Romain GEORGES
55 2 Romain GEORGES
h2. Installation
56 2 Romain GEORGES
57 2 Romain GEORGES
<pre>
58 2 Romain GEORGES
<code class="bash"
59 2 Romain GEORGES
$ sudo bash
60 2 Romain GEORGES
# export APP_ROOT= <path_vers_votre_app_rails>
61 2 Romain GEORGES
# cd $APP_ROOT
62 2 Romain GEORGES
# cd vendors/plugins
63 2 Romain GEORGES
# svn export https://svn.ultragreen.net/public/redmine-gems/tags/<lastest_tags> redmine-gems
64 2 Romain GEORGES
# rake db:migrate_plugins RAILS_ENV=production
65 2 Romain GEORGES
</code>
66 2 Romain GEORGES
</pre>
67 2 Romain GEORGES
68 2 Romain GEORGES
Reload Rails and Redmine.
69 2 Romain GEORGES
70 2 Romain GEORGES
71 2 Romain GEORGES
h2. Configuration 
72 2 Romain GEORGES
73 2 Romain GEORGES
The plugin could be setup in the 
74 2 Romain GEORGES
Administration>Plugins menu
75 2 Romain GEORGES
76 2 Romain GEORGES
*Configure* link of the "Redmine Gems" plugin 
77 2 Romain GEORGES
78 2 Romain GEORGES
You have to precise to paths in this configuration panel. 
79 2 Romain GEORGES
80 2 Romain GEORGES
- SVN exportation path
81 2 Romain GEORGES
- gemdir path (gem server) (optionnel)
82 2 Romain GEORGES
83 2 Romain GEORGES
You could use two permissions in this plugin with the 
84 2 Romain GEORGES
85 2 Romain GEORGES
Administration>Roles and permissions menu
86 2 Romain GEORGES
87 2 Romain GEORGES
For all of the different profiles avaibles :
88 2 Romain GEORGES
89 2 Romain GEORGES
* permission  : View rubygems, 
90 2 Romain GEORGES
* permission : Build rubygems
91 2 Romain GEORGES
92 2 Romain GEORGES
93 2 Romain GEORGES
Plugin must be added in all the projects you would use it in.
94 2 Romain GEORGES
95 2 Romain GEORGES
h2. Utilisation
96 2 Romain GEORGES
97 2 Romain GEORGES
h3. Human Processus
98 2 Romain GEORGES
99 2 Romain GEORGES
When have install this plugins as a module in a project, a "Gems" tabs could be found in the project menu after the "Repository" tabs.
100 2 Romain GEORGES
If you click on this tabs, the plugin start and you could see if you a have a configured SVN Repository with tags create in it "tags" folder (mandatory). 
101 2 Romain GEORGES
The plugin also could ask you to create Redmine version to attach, if none exists (mandatory).
102 2 Romain GEORGES
103 2 Romain GEORGES
# if one/some SVN tags exists, plugin try to associate Redmine Version for each of this tags, if not you have to do this association yourself (select list).
104 2 Romain GEORGES
# Plugin will scan the tags folder root th find a Rakefile (with a least the *clobber*, *clean* or *gem* generic Gem/rake targets ) or a Gemspec (*.gemspec files), if this methods exists twice, you have to choose one (select list).
105 2 Romain GEORGES
# Plugin ask you some comments (optional).
106 2 Romain GEORGES
# Click on the "Build" button to start the Gem building
107 2 Romain GEORGES
108 2 Romain GEORGES
* Date.
109 2 Romain GEORGES
* Builder.
110 2 Romain GEORGES
* Associated Redmine Version.
111 2 Romain GEORGES
112 2 Romain GEORGES
h3. Building processus
113 2 Romain GEORGES
114 2 Romain GEORGES
# Plugin try to remove eventual old exports.
115 2 Romain GEORGES
# Plugin export the selected SVN tag.
116 2 Romain GEORGES
# Plugin change directory in the tags folder.
117 2 Romain GEORGES
# Plugin build Gem with the selected building method.
118 2 Romain GEORGES
# Plugin attach gem file in the 'Files' Redmine module under the specified version.  
119 2 Romain GEORGES
# Plugin persist a building record (Rubygem Rails model) or modify existing one and add update date (display in the informations precised in the Gems building list). 
120 2 Romain GEORGES
121 2 Romain GEORGES
The Rails model act as an activity and an event and the plugins as an Activity provider, so, in the "Activity" tab, you could see a message if you check (on the right side, in the default Redmine theme ) the box concerning Activities of the Redmine Gems
122 2 Romain GEORGES
123 2 Romain GEORGES
124 2 Romain GEORGES
125 2 Romain GEORGES
h2. Options