rocketstarter 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +4 -0
- data/License.txt +20 -0
- data/Manifest.txt +30 -0
- data/PostInstall.txt +28 -0
- data/README.txt +54 -0
- data/Rakefile +4 -0
- data/bin/rocketstarter +13 -0
- data/config/hoe.rb +73 -0
- data/config/requirements.rb +15 -0
- data/lib/rocketstarter/rocket_starter_core.rb +281 -0
- data/lib/rocketstarter/rocket_starter_options.rb +232 -0
- data/lib/rocketstarter/version.rb +9 -0
- data/lib/rocketstarter.rb +9 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/script/txt2html +82 -0
- data/setup.rb +1585 -0
- data/spec/rocketstarter_spec.rb +11 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +10 -0
- data/tasks/deployment.rake +34 -0
- data/tasks/environment.rake +7 -0
- data/tasks/rspec.rake +21 -0
- data/tasks/website.rake +17 -0
- data/website/index.html +141 -0
- data/website/index.txt +83 -0
- data/website/javascripts/rounded_corners_lite.inc.js +285 -0
- data/website/stylesheets/screen.css +138 -0
- data/website/template.html.erb +48 -0
- data.tar.gz.sig +0 -0
- metadata +138 -0
- metadata.gz.sig +2 -0
data/History.txt
ADDED
data/License.txt
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2008 Yusuke Ohmichi(maimuzo)
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Manifest.txt
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
History.txt
|
2
|
+
License.txt
|
3
|
+
Manifest.txt
|
4
|
+
PostInstall.txt
|
5
|
+
README.txt
|
6
|
+
Rakefile
|
7
|
+
bin/rocketstarter
|
8
|
+
config/hoe.rb
|
9
|
+
config/requirements.rb
|
10
|
+
lib/rocketstarter.rb
|
11
|
+
lib/rocketstarter/rocket_starter_core.rb
|
12
|
+
lib/rocketstarter/rocket_starter_options.rb
|
13
|
+
lib/rocketstarter/version.rb
|
14
|
+
script/console
|
15
|
+
script/destroy
|
16
|
+
script/generate
|
17
|
+
script/txt2html
|
18
|
+
setup.rb
|
19
|
+
spec/rocketstarter_spec.rb
|
20
|
+
spec/spec.opts
|
21
|
+
spec/spec_helper.rb
|
22
|
+
tasks/deployment.rake
|
23
|
+
tasks/environment.rake
|
24
|
+
tasks/rspec.rake
|
25
|
+
tasks/website.rake
|
26
|
+
website/index.html
|
27
|
+
website/index.txt
|
28
|
+
website/javascripts/rounded_corners_lite.inc.js
|
29
|
+
website/stylesheets/screen.css
|
30
|
+
website/template.html.erb
|
data/PostInstall.txt
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
1. Set environment valiable.
|
3
|
+
|
4
|
+
export ROCKET_STARTER_CONF=~/.rocket_starter
|
5
|
+
|
6
|
+
2. Create config file.
|
7
|
+
|
8
|
+
rocketstarter --init
|
9
|
+
|
10
|
+
3. Modify default values.
|
11
|
+
|
12
|
+
vi ~/.rocket_starter
|
13
|
+
|
14
|
+
4. Test for setting
|
15
|
+
|
16
|
+
rocketstarter --check
|
17
|
+
|
18
|
+
5. Create project.
|
19
|
+
|
20
|
+
cd source-dir
|
21
|
+
rocketstarter project_name
|
22
|
+
|
23
|
+
|
24
|
+
For more information on rocket-starter, see http://rocket-starter.rubyforge.org
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
|
data/README.txt
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
= rocketstarter
|
2
|
+
|
3
|
+
* http://rocketstarter.rubyforge.org
|
4
|
+
|
5
|
+
== DESCRIPTION:
|
6
|
+
|
7
|
+
The Rocket-starter is a setup utility of the Rails applications.
|
8
|
+
When you want to create new rails applications, the Rocket-starter can set up basic directories and svn/git repositories for your applications.
|
9
|
+
|
10
|
+
== FEATURES/PROBLEMS:
|
11
|
+
|
12
|
+
* create basic directories
|
13
|
+
* commit to subversion or git repositories
|
14
|
+
* install plugins
|
15
|
+
* use RaPT gem for managing plugins (Optional)
|
16
|
+
|
17
|
+
== SYNOPSIS:
|
18
|
+
|
19
|
+
$ rocketstarter project-name [options]
|
20
|
+
$ rocketstarter --init
|
21
|
+
$ rocketstarter --check
|
22
|
+
|
23
|
+
== REQUIREMENTS:
|
24
|
+
|
25
|
+
* Readline library on your system
|
26
|
+
|
27
|
+
== INSTALL:
|
28
|
+
|
29
|
+
$ sudo gem install rocketstarter
|
30
|
+
|
31
|
+
== LICENSE:
|
32
|
+
|
33
|
+
The MIT License
|
34
|
+
|
35
|
+
Copyright (c) 2008 Yusuke Ohmichi(maimuzo)
|
36
|
+
|
37
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
38
|
+
a copy of this software and associated documentation files (the
|
39
|
+
'Software'), to deal in the Software without restriction, including
|
40
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
41
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
42
|
+
permit persons to whom the Software is furnished to do so, subject to
|
43
|
+
the following conditions:
|
44
|
+
|
45
|
+
The above copyright notice and this permission notice shall be
|
46
|
+
included in all copies or substantial portions of the Software.
|
47
|
+
|
48
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
49
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
50
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
51
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
52
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
53
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
54
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
ADDED
data/bin/rocketstarter
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# Created by Yusuke Ohmichi(maimuzo) on 2008-6-20.
|
4
|
+
# Copyright (c) 2008. All rights reserved.
|
5
|
+
|
6
|
+
require 'rubygems'
|
7
|
+
require 'rocketstarter'
|
8
|
+
|
9
|
+
options = Rocket_starter_options.new.parse
|
10
|
+
# Create an instance and run it
|
11
|
+
Rocket_starter_core.new( options ).run
|
12
|
+
|
13
|
+
|
data/config/hoe.rb
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
require 'rocketstarter/version'
|
2
|
+
|
3
|
+
AUTHOR = 'Yusuke Ohmichi(maimuzo)' # can also be an array of Authors
|
4
|
+
EMAIL = "maimuzo@gmail.com"
|
5
|
+
DESCRIPTION = "When you want to create new rails applications, the Rocket-starter can set up basic directories and svn/git repositories for your applications."
|
6
|
+
GEM_NAME = 'rocketstarter' # what ppl will type to install your gem
|
7
|
+
RUBYFORGE_PROJECT = 'rocketstarter' # The unix name for your project
|
8
|
+
HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
|
9
|
+
DOWNLOAD_PATH = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
|
10
|
+
EXTRA_DEPENDENCIES = [
|
11
|
+
# ['activesupport', '>= 1.3.1']
|
12
|
+
] # An array of rubygem dependencies [name, version]
|
13
|
+
|
14
|
+
@config_file = "~/.rubyforge/user-config.yml"
|
15
|
+
@config = nil
|
16
|
+
RUBYFORGE_USERNAME = "unknown"
|
17
|
+
def rubyforge_username
|
18
|
+
unless @config
|
19
|
+
begin
|
20
|
+
@config = YAML.load(File.read(File.expand_path(@config_file)))
|
21
|
+
rescue
|
22
|
+
puts <<-EOS
|
23
|
+
ERROR: No rubyforge config file found: #{@config_file}
|
24
|
+
Run 'rubyforge setup' to prepare your env for access to Rubyforge
|
25
|
+
- See http://newgem.rubyforge.org/rubyforge.html for more details
|
26
|
+
EOS
|
27
|
+
exit
|
28
|
+
end
|
29
|
+
end
|
30
|
+
RUBYFORGE_USERNAME.replace @config["username"]
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
REV = nil
|
35
|
+
# UNCOMMENT IF REQUIRED:
|
36
|
+
# REV = YAML.load(`svn info`)['Revision']
|
37
|
+
VERS = Rocketstarter::VERSION::STRING + (REV ? ".#{REV}" : "")
|
38
|
+
RDOC_OPTS = ['--quiet', '--title', 'rocketstarter documentation',
|
39
|
+
"--opname", "index.html",
|
40
|
+
"--line-numbers",
|
41
|
+
"--main", "README",
|
42
|
+
"--inline-source"]
|
43
|
+
|
44
|
+
class Hoe
|
45
|
+
def extra_deps
|
46
|
+
@extra_deps.reject! { |x| Array(x).first == 'hoe' }
|
47
|
+
@extra_deps
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
# Generate all the Rake tasks
|
52
|
+
# Run 'rake -T' to see list of generated tasks (from gem root directory)
|
53
|
+
$hoe = Hoe.new(GEM_NAME, VERS) do |p|
|
54
|
+
p.developer(AUTHOR, EMAIL)
|
55
|
+
p.description = DESCRIPTION
|
56
|
+
p.summary = DESCRIPTION
|
57
|
+
p.url = HOMEPATH
|
58
|
+
p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
|
59
|
+
p.test_globs = ["test/**/test_*.rb"]
|
60
|
+
p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store'] #An array of file patterns to delete on clean.
|
61
|
+
|
62
|
+
# == Optional
|
63
|
+
p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
|
64
|
+
#p.extra_deps = EXTRA_DEPENDENCIES
|
65
|
+
|
66
|
+
#p.spec_extras = {} # A hash of extra values to set in the gemspec.
|
67
|
+
end
|
68
|
+
|
69
|
+
CHANGES = $hoe.paragraphs_of('History.txt', 0..1).join("\\n\\n")
|
70
|
+
PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "#{RUBYFORGE_PROJECT}/#{GEM_NAME}"
|
71
|
+
$hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
|
72
|
+
$hoe.rsync_args = '-av --delete --ignore-errors'
|
73
|
+
$hoe.spec.post_install_message = File.open(File.dirname(__FILE__) + "/../PostInstall.txt").read rescue ""
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
include FileUtils
|
3
|
+
|
4
|
+
require 'rubygems'
|
5
|
+
%w[rake hoe newgem rubigen].each do |req_gem|
|
6
|
+
begin
|
7
|
+
require req_gem
|
8
|
+
rescue LoadError
|
9
|
+
puts "This Rakefile requires the '#{req_gem}' RubyGem."
|
10
|
+
puts "Installation: gem install #{req_gem} -y"
|
11
|
+
exit
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
$:.unshift(File.join(File.dirname(__FILE__), %w[.. lib]))
|
@@ -0,0 +1,281 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require File.dirname(__FILE__) + "/rocket_starter_options"
|
3
|
+
|
4
|
+
class Rocket_starter_core
|
5
|
+
# not use this version number in this class
|
6
|
+
@@version = [ 0, 0, 1 ]
|
7
|
+
|
8
|
+
def initialize(frontend)
|
9
|
+
@options = frontend
|
10
|
+
@logfile = File::new( @options[:log_file], "a" ) if @options[:logging]
|
11
|
+
end
|
12
|
+
|
13
|
+
=begin
|
14
|
+
for subversion
|
15
|
+
|
16
|
+
cd current_dir
|
17
|
+
rocket_starter projname scmuri
|
18
|
+
|
19
|
+
mkdir projname
|
20
|
+
cd projname
|
21
|
+
mkdir trunk branches tags
|
22
|
+
svn import . scmuri [--passowrd=scmpass] -m "create basic directories"
|
23
|
+
rmdir trunk branches tags
|
24
|
+
svn checkout scmuri/trunk . [--passowrd=scmpass]
|
25
|
+
|
26
|
+
svn mkdir docs rails
|
27
|
+
cd rails
|
28
|
+
rails projname -c [--database=name]
|
29
|
+
svn commit . [--passowrd=scmpass] -m "generate rails app"
|
30
|
+
cd projname
|
31
|
+
|
32
|
+
trim app
|
33
|
+
|
34
|
+
set svn::ignore
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
for git
|
39
|
+
|
40
|
+
cd current_dir
|
41
|
+
rocket_starter projname scmuri
|
42
|
+
|
43
|
+
mkdir projname
|
44
|
+
cd projname
|
45
|
+
git init
|
46
|
+
mkdir docs rails
|
47
|
+
cd rails
|
48
|
+
rails projname -g [--database=name]
|
49
|
+
git add .
|
50
|
+
git commit -m "generate rails app"
|
51
|
+
cd projname
|
52
|
+
|
53
|
+
trim app
|
54
|
+
|
55
|
+
put gitignore files
|
56
|
+
|
57
|
+
|
58
|
+
=end
|
59
|
+
|
60
|
+
def run
|
61
|
+
notice "Rocket_starter: Starting at " + Time.now.strftime("%Y/%m/%d %H:%M:%S")
|
62
|
+
|
63
|
+
get_current_directory
|
64
|
+
set_scm_password
|
65
|
+
|
66
|
+
if "svn" == @options[:scmtype] and not @options[:scmuri].empty?
|
67
|
+
subversion_basic_dirs
|
68
|
+
subversion_import
|
69
|
+
subversion_checkout
|
70
|
+
create_basic_dirs_and_project
|
71
|
+
subversion_commit "generate rails app"
|
72
|
+
trim_project
|
73
|
+
subversion_commit "delete not use files"
|
74
|
+
subversion_propset
|
75
|
+
subversion_propset_for_netbeans unless @options[:skip_netbeans]
|
76
|
+
subversion_commit "set svn:ignore"
|
77
|
+
unless @options[:skip_plugins] or @options[:pluginlist_path].empty?
|
78
|
+
setup_plugins
|
79
|
+
subversion_commit "install rails plugins"
|
80
|
+
end
|
81
|
+
elsif "git" == @options[:scmtype]
|
82
|
+
git_project_dirs_and_init
|
83
|
+
create_basic_dirs_and_project
|
84
|
+
git_commit "generate rails app"
|
85
|
+
trim_project
|
86
|
+
git_commit "delete not use files"
|
87
|
+
git_ignore
|
88
|
+
git_ignore_for_netbeans unless @options[:skip_netbeans]
|
89
|
+
git_commit "put .gitignore files"
|
90
|
+
unless @options[:skip_plugins] or @options[:pluginlist_path].empty?
|
91
|
+
setup_plugins
|
92
|
+
git_commit "install rails plugins"
|
93
|
+
end
|
94
|
+
else
|
95
|
+
Rocket_starter_options::error_with_show_usage "irigal SCM type or scmuri is empty."
|
96
|
+
end
|
97
|
+
notice "Rocket_starter: Complete at " + Time.now.strftime("%Y/%m/%d %H:%M:%S")
|
98
|
+
@logfile.close if @logfile
|
99
|
+
end
|
100
|
+
|
101
|
+
def git_project_dirs_and_init
|
102
|
+
notice "Create project directory and initialize for git"
|
103
|
+
exec_shell_command "mkdir #{@options[:project]}"
|
104
|
+
managed_chdir("#{@scm_root}")
|
105
|
+
exec_shell_command "git init"
|
106
|
+
end
|
107
|
+
|
108
|
+
def git_commit(message)
|
109
|
+
notice "Commiting to local-git for " + message
|
110
|
+
exec_shell_command "git add ."
|
111
|
+
exec_shell_command "git commit -a -m '#{message}'"
|
112
|
+
end
|
113
|
+
|
114
|
+
def git_ignore
|
115
|
+
notice "Configuring .gitignore files."
|
116
|
+
|
117
|
+
exec_shell_command "echo '*.log' >> log/.gitignore"
|
118
|
+
exec_shell_command "echo '*.pid' >> log/.gitignore"
|
119
|
+
exec_shell_command "echo '*' >> tmp/.gitignore"
|
120
|
+
exec_shell_command "echo '*.db' >> db/.gitignore"
|
121
|
+
exec_shell_command "echo '*.sqlite' >> db/.gitignore"
|
122
|
+
exec_shell_command "echo '*.sqlite3' >> db/.gitignore"
|
123
|
+
exec_shell_command "echo 'schema.rb' >> db/.gitignore"
|
124
|
+
exec_shell_command "echo 'schema.sql' >> db/.gitignore"
|
125
|
+
exec_shell_command "echo 'database.yml' >> config/.gitignore" if @options[:ignoredatabase]
|
126
|
+
end
|
127
|
+
|
128
|
+
def git_ignore_for_netbeans
|
129
|
+
notice "Setting .gitignore file for netbeans."
|
130
|
+
exec_shell_command "mkdir nbproject"
|
131
|
+
exec_shell_command "echo '*' >> nbproject/.gitignore"
|
132
|
+
end
|
133
|
+
|
134
|
+
def subversion_basic_dirs
|
135
|
+
notice "Create basic directories."
|
136
|
+
exec_shell_command "mkdir #{@options[:project]}"
|
137
|
+
managed_chdir("#{@scm_root}")
|
138
|
+
exec_shell_command "mkdir trunk branches tags"
|
139
|
+
exec_shell_command "pwd"
|
140
|
+
end
|
141
|
+
|
142
|
+
def subversion_import
|
143
|
+
notice "Importing project to subvserion."
|
144
|
+
exec_shell_command "svn import . #{@options[:scmuri]} #{@scm_password} -m \"Initial import\""
|
145
|
+
exec_shell_command "rmdir trunk branches tags"
|
146
|
+
end
|
147
|
+
|
148
|
+
def subversion_checkout
|
149
|
+
notice "Checking out trunk of the project from subversion."
|
150
|
+
exec_shell_command "svn checkout #{@options[:scmuri]}/trunk . #{@scm_password}"
|
151
|
+
end
|
152
|
+
|
153
|
+
def create_basic_dirs_and_project
|
154
|
+
exec_shell_command "pwd"
|
155
|
+
case @options[:scmtype]
|
156
|
+
when "svn"
|
157
|
+
exec_shell_command "svn mkdir rails docs"
|
158
|
+
managed_chdir("#{@scm_root}/rails")
|
159
|
+
rails_option = " -c"
|
160
|
+
when "git"
|
161
|
+
exec_shell_command "mkdir rails docs"
|
162
|
+
managed_chdir("#{@scm_root}/rails")
|
163
|
+
rails_option = " -g"
|
164
|
+
else
|
165
|
+
exec_shell_command "mkdir rails docs"
|
166
|
+
managed_chdir("#{@scm_root}/rails")
|
167
|
+
rails_option = ""
|
168
|
+
end
|
169
|
+
rails_option << " --database=" + @options[:database] unless "" == @options[:database]
|
170
|
+
if exec_shell_command "rails #{@options[:project]}" + rails_option
|
171
|
+
notice "Rails Project Folder Successfully Created."
|
172
|
+
else
|
173
|
+
notice "Error creating the Rails project folder: exiting."
|
174
|
+
exit
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
178
|
+
def subversion_commit(message)
|
179
|
+
notice "Commiting to subversion for " + message
|
180
|
+
exec_shell_command "svn commit #{@scm_root} #{@scm_password} -m '#{message}'"
|
181
|
+
end
|
182
|
+
|
183
|
+
def trim_project
|
184
|
+
notice "Triming initial project."
|
185
|
+
exec_shell_command "pwd"
|
186
|
+
managed_chdir("#{@scm_root}/rails/#{@options[:project]}")
|
187
|
+
exec_shell_command "svn mv config/database.yml config/database.yml.sample" if @options[:ignoredatabase]
|
188
|
+
case @options[:scmtype]
|
189
|
+
when "svn"
|
190
|
+
exec_shell_command "svn rm doc/README_FOR_APP"
|
191
|
+
exec_shell_command "svn rm README"
|
192
|
+
exec_shell_command "svn rm -r log/*"
|
193
|
+
exec_shell_command "svn rm -r tmp/*"
|
194
|
+
when "git"
|
195
|
+
exec_shell_command "rm doc/README_FOR_APP"
|
196
|
+
exec_shell_command "rm README"
|
197
|
+
exec_shell_command "rm -rf log/*"
|
198
|
+
exec_shell_command "rm -rf tmp/*"
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
def subversion_propset
|
203
|
+
notice "Configuring svn:ignore properties."
|
204
|
+
exec_shell_command "svn propset svn:ignore \"*.log\n*.pid\" log/"
|
205
|
+
exec_shell_command "svn propset svn:ignore \"*\" tmp/"
|
206
|
+
exec_shell_command "svn propset svn:ignore \"*.db\n*.sqlite\n*.sqlite3\nschema.rb\nschema.sql\" db/"
|
207
|
+
if @options[:ignoredatabase]
|
208
|
+
exec_shell_command "cp config/database.yml.sample config/database.yml"
|
209
|
+
exec_shell_command "svn propset svn:ignore \"database.yml\" config/"
|
210
|
+
end
|
211
|
+
exec_shell_command "svn update . #{@scm_password}"
|
212
|
+
end
|
213
|
+
|
214
|
+
def subversion_propset_for_netbeans
|
215
|
+
notice "Setting svn:ignore for netbeans."
|
216
|
+
exec_shell_command "mkdir nbproject"
|
217
|
+
exec_shell_command "svn propset svn:ignore \"*\" nbproject/"
|
218
|
+
exec_shell_command "svn update nbproject/ #{@scm_password}"
|
219
|
+
exec_shell_command "rmdir nbproject"
|
220
|
+
end
|
221
|
+
|
222
|
+
def setup_plugins
|
223
|
+
begin
|
224
|
+
plugin_option = ""
|
225
|
+
plugin_option << " -x " if @options[:external]
|
226
|
+
|
227
|
+
File.open(@options[:pluginlist_path]) do |plugin_file|
|
228
|
+
plugin_file.each do |line|
|
229
|
+
if @options[:rapt]
|
230
|
+
exec_shell_command "rapt install #{plugin_option} #{line}"
|
231
|
+
else
|
232
|
+
exec_shell_command "script/plugin install #{plugin_option} #{line}"
|
233
|
+
end
|
234
|
+
end
|
235
|
+
end
|
236
|
+
rescue
|
237
|
+
notice "Can not open #{@options[:pluginlist_path]}"
|
238
|
+
Rocket_starter_options::show_usage
|
239
|
+
end
|
240
|
+
end
|
241
|
+
|
242
|
+
protected
|
243
|
+
|
244
|
+
def managed_chdir(path)
|
245
|
+
notice("change directory to " + path)
|
246
|
+
Dir::chdir(path)
|
247
|
+
end
|
248
|
+
|
249
|
+
def set_scm_password
|
250
|
+
@scm_password = ""
|
251
|
+
@scm_password = '--password=' + @options[:scmpassword] if @options[:scmpassword]
|
252
|
+
end
|
253
|
+
|
254
|
+
def get_current_directory
|
255
|
+
@current_dir = `pwd`.chomp
|
256
|
+
notice "current directory is " + @current_dir
|
257
|
+
@scm_root = @current_dir + "/" + @options[:project]
|
258
|
+
notice "scm_root is " + @scm_root
|
259
|
+
Rocket_starter_options::error_with_show_usage "irigal directory name." if (@current_dir + "/") == @scm_root
|
260
|
+
end
|
261
|
+
|
262
|
+
def notice(message)
|
263
|
+
puts "* " + message if @options[:verbose]
|
264
|
+
@logfile.puts "* " + message if @options[:logging]
|
265
|
+
end
|
266
|
+
|
267
|
+
def exec_shell_command(command)
|
268
|
+
command << " > /dev/null" unless @options[:verbose]
|
269
|
+
command = "sudo " + command if @options[:sudo]
|
270
|
+
puts '->' + command if @options[:verbose]
|
271
|
+
@logfile.puts '->' + command if @options[:logging]
|
272
|
+
#system command unless @options[:emulate]
|
273
|
+
result = `#{command}`.chomp unless @options[:emulate]
|
274
|
+
puts '-->' + result if @options[:verbose] and not result.nil? and not result.empty?
|
275
|
+
@logfile.puts '-->' + result if @options[:logging] and not result.nil? and not result.empty?
|
276
|
+
Rocket_starter_options::error_with_show_usage "receive error from command." unless 0 == $?
|
277
|
+
$?
|
278
|
+
end
|
279
|
+
|
280
|
+
end
|
281
|
+
|