geordi 0.18.0 → 1.0.0
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.
- checksums.yaml +13 -5
- data/.ruby-version +1 -0
- data/README.md +199 -110
- data/Rakefile +40 -0
- data/bin/apache-site +1 -19
- data/bin/cap-all +1 -27
- data/bin/cleanup-directory +1 -11
- data/bin/console-for +1 -12
- data/bin/cuc +1 -2
- data/bin/cuc-show +1 -2
- data/bin/cuc-vnc-setup +1 -114
- data/bin/deploy-to-production +1 -91
- data/bin/dump-for +4 -32
- data/bin/dumple +2 -4
- data/bin/geordi +10 -0
- data/bin/gitpt +1 -2
- data/bin/launchy_browser +9 -3
- data/bin/load-dump +1 -4
- data/bin/migrate-all +1 -13
- data/bin/optimize-png +1 -118
- data/bin/power-rake +1 -7
- data/bin/remove-executable-flags +1 -6
- data/bin/rs +1 -26
- data/bin/run_tests +1 -2
- data/bin/setup-firefox-for-selenium +1 -3
- data/bin/shell-for +1 -8
- data/bin/tests +1 -5
- data/geordi.gemspec +19 -0
- data/lib/geordi/COMMAND_TEMPLATE +29 -0
- data/lib/geordi/capistrano.rb +9 -7
- data/lib/geordi/capistrano_config.rb +66 -0
- data/lib/geordi/cli.rb +28 -0
- data/lib/geordi/commands/all_targets.rb +26 -0
- data/lib/geordi/commands/apache_site.rb +22 -0
- data/lib/geordi/commands/bundle_install.rb +7 -0
- data/lib/geordi/commands/cleanup_directory.rb +16 -0
- data/lib/geordi/commands/commit.rb +171 -0
- data/lib/geordi/commands/console.rb +24 -0
- data/lib/geordi/commands/create_database_yml.rb +18 -0
- data/lib/geordi/commands/create_databases.rb +16 -0
- data/lib/geordi/commands/cucumber.rb +20 -0
- data/lib/geordi/commands/deploy.rb +65 -0
- data/lib/geordi/commands/devserver.rb +14 -0
- data/lib/geordi/commands/dump.rb +63 -0
- data/lib/geordi/commands/migrate.rb +26 -0
- data/lib/geordi/commands/png_optimize.rb +92 -0
- data/lib/geordi/commands/rake.rb +21 -0
- data/lib/geordi/commands/remove_executable_flags.rb +14 -0
- data/lib/geordi/commands/rspec.rb +40 -0
- data/lib/geordi/commands/security_update.rb +56 -0
- data/lib/geordi/commands/setup.rb +33 -0
- data/lib/geordi/commands/setup_firefox_for_selenium.rb +6 -0
- data/lib/geordi/commands/setup_vnc.rb +84 -0
- data/lib/geordi/commands/shell.rb +20 -0
- data/lib/geordi/commands/test.rb +9 -0
- data/lib/geordi/commands/unit.rb +11 -0
- data/lib/geordi/commands/update.rb +33 -0
- data/lib/geordi/commands/version.rb +7 -0
- data/lib/geordi/commands/vnc_show.rb +6 -0
- data/lib/geordi/commands/with_firefox_for_selenium.rb +18 -0
- data/lib/geordi/commands/with_rake.rb +11 -0
- data/lib/geordi/{cuc.rb → cucumber.rb} +28 -39
- data/lib/geordi/dump_loader.rb +44 -70
- data/lib/geordi/firefox_for_selenium.rb +93 -74
- data/lib/geordi/interaction.rb +47 -0
- data/lib/geordi/remote.rb +66 -0
- data/lib/geordi/util.rb +60 -0
- data/lib/geordi/version.rb +1 -1
- data/lib/geordi.rb +1 -0
- metadata +50 -16
- data/bin/install-gems-remotely +0 -18
- data/bin/install-gems-remotely.sh +0 -16
- data/bin/power-deploy +0 -18
- data/bin/remotify-local-branch +0 -12
- data/lib/geordi/gitpt.rb +0 -175
@@ -1,15 +1,17 @@
|
|
1
1
|
require 'pathname'
|
2
|
+
require 'tempfile'
|
2
3
|
|
3
4
|
module Geordi
|
4
5
|
module FirefoxForSelenium
|
6
|
+
include Geordi::Interaction
|
5
7
|
|
6
8
|
FIREFOX_FOR_SELENIUM_BASE_PATH = Pathname.new('~/bin/firefoxes').expand_path
|
7
9
|
FIREFOX_FOR_SELENIUM_PROFILE_NAME = 'firefox-for-selenium'
|
8
10
|
DEFAULT_FIREFOX_VERSION = "5.0.1"
|
9
11
|
VERSION_SPECIFICATION_FILE = Pathname.new(".firefox-version")
|
10
12
|
|
11
|
-
def self.install
|
12
|
-
Installer.new.run
|
13
|
+
def self.install(version)
|
14
|
+
Installer.new(version).run
|
13
15
|
end
|
14
16
|
|
15
17
|
def self.path_from_config
|
@@ -33,6 +35,7 @@ module Geordi
|
|
33
35
|
|
34
36
|
|
35
37
|
class PathFromConfig
|
38
|
+
include Geordi::Interaction
|
36
39
|
|
37
40
|
def run
|
38
41
|
unless system_firefox
|
@@ -57,23 +60,26 @@ module Geordi
|
|
57
60
|
end
|
58
61
|
|
59
62
|
def default_version
|
60
|
-
|
61
|
-
|
63
|
+
warn "No firefox version given, defaulting to #{DEFAULT_FIREFOX_VERSION}."
|
64
|
+
note "Specify a version by putting it in a file named \"#{VERSION_SPECIFICATION_FILE}\"."
|
62
65
|
puts
|
63
66
|
DEFAULT_FIREFOX_VERSION
|
64
67
|
end
|
65
68
|
|
66
69
|
def validate_install
|
67
70
|
unless FirefoxForSelenium.binary(@version).exist?
|
68
|
-
|
69
|
-
|
70
|
-
puts
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
71
|
+
note "Firefox #{@version} not found."
|
72
|
+
|
73
|
+
puts left(<<-INSTRUCTIONS)
|
74
|
+
Install it with
|
75
|
+
geordi setup_firefox_for_selenium #{@version}
|
76
|
+
|
77
|
+
If you want to use your system firefox and not see this message, add
|
78
|
+
a .firefox-version file with the content "system".
|
79
|
+
|
80
|
+
INSTRUCTIONS
|
81
|
+
|
82
|
+
wait "Press ENTER to continue or press CTRL+C to abort."
|
77
83
|
end
|
78
84
|
end
|
79
85
|
|
@@ -85,9 +91,13 @@ module Geordi
|
|
85
91
|
|
86
92
|
|
87
93
|
class Installer
|
94
|
+
include Geordi::Interaction
|
95
|
+
|
96
|
+
def initialize(version)
|
97
|
+
@version = version
|
98
|
+
end
|
88
99
|
|
89
100
|
def run
|
90
|
-
parse_version
|
91
101
|
say_hello
|
92
102
|
check_if_run_before
|
93
103
|
download_firefox
|
@@ -108,12 +118,6 @@ module Geordi
|
|
108
118
|
execute_command("PATH=#{path}:$PATH firefox #{args}")
|
109
119
|
end
|
110
120
|
|
111
|
-
def die(message)
|
112
|
-
puts message
|
113
|
-
puts
|
114
|
-
exit(1)
|
115
|
-
end
|
116
|
-
|
117
121
|
def path
|
118
122
|
FirefoxForSelenium.path(@version)
|
119
123
|
end
|
@@ -130,64 +134,71 @@ module Geordi
|
|
130
134
|
FirefoxForSelenium.binary(@version, "firefox-original")
|
131
135
|
end
|
132
136
|
|
133
|
-
def parse_version
|
134
|
-
@version = ARGV.pop
|
135
|
-
@version or die("Usage: setup_firefox_for_selenium VERSION")
|
136
|
-
end
|
137
|
-
|
138
137
|
def say_hello
|
139
138
|
execute_command('clear')
|
140
|
-
|
141
|
-
puts
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
139
|
+
|
140
|
+
puts left(<<-HELLO)
|
141
|
+
Whenever Firefox updates, Selenium breaks. This is annoying. This
|
142
|
+
script will help you create an unchanging version of Firefox for your
|
143
|
+
Selenium tests.
|
144
|
+
|
145
|
+
In particular, this new copy of Firefox will have the following
|
146
|
+
properties:
|
147
|
+
|
148
|
+
- It won't update itself with a newer version
|
149
|
+
- It can co-exist with your regular Firefox installation (which you can
|
150
|
+
update at will)
|
151
|
+
- It will use a profile separate from the one you use for regular
|
152
|
+
Firefox browsing
|
153
|
+
- It will not try to re-use existing Firefox windows
|
154
|
+
- It will automatically be used for your Selenium scenarios if you run
|
155
|
+
your Cucumber using the cuc binary from the geordi gem.
|
156
|
+
- It will live in #{path}
|
157
|
+
|
158
|
+
HELLO
|
159
|
+
|
160
|
+
wait "Press ENTER when you're ready to begin."
|
154
161
|
end
|
155
162
|
|
156
163
|
def check_if_run_before
|
157
164
|
if original_binary.exist?
|
158
|
-
|
165
|
+
note 'This version seems to be already installed.'
|
159
166
|
puts
|
160
|
-
|
161
|
-
gets
|
167
|
+
wait 'Press ENTER to continue anyway or press CTRL+C to abort.'
|
162
168
|
end
|
163
169
|
end
|
164
170
|
|
165
171
|
def download_firefox
|
166
172
|
path.mkpath
|
167
|
-
|
168
|
-
puts
|
169
|
-
|
170
|
-
|
171
|
-
|
173
|
+
|
174
|
+
puts left(<<-INSTRUCTION)
|
175
|
+
Please download an old version of Firefox from: #{download_url}
|
176
|
+
Unpack it with: tar xvjf firefox-#{@version}.tar.bz2 -C #{path} --strip-components=1
|
177
|
+
Now #{path.join('firefox')} should be the firefox binary, not a directory.
|
178
|
+
|
179
|
+
INSTRUCTION
|
180
|
+
wait "Press ENTER when you're done."
|
181
|
+
|
172
182
|
File.file?(binary) or raise "Could not find #{binary}"
|
173
183
|
end
|
174
184
|
|
175
185
|
def create_separate_profile
|
176
|
-
|
177
|
-
# don't use the patched firefox binary for this, we don't want to give
|
186
|
+
note "Creating a separate profile named '#{FIREFOX_FOR_SELENIUM_PROFILE_NAME}' so your own profile will be safe..."
|
187
|
+
# don't use the patched firefox binary for this, we don't want to give
|
188
|
+
# a -p option here
|
178
189
|
execute_command("PATH=#{path}:$PATH firefox -no-remote -CreateProfile #{FIREFOX_FOR_SELENIUM_PROFILE_NAME}")
|
179
190
|
puts
|
180
191
|
end
|
181
192
|
|
182
193
|
def patch_old_firefox
|
183
|
-
|
194
|
+
note "Patching #{binary} so it uses the new profile and never re-uses windows from other Firefoxes..."
|
184
195
|
execute_command("mv #{binary} #{original_binary}")
|
185
196
|
execute_command("mv #{binary}-bin #{original_binary}-bin")
|
186
197
|
patched_binary = Tempfile.new('firefox')
|
187
|
-
patched_binary.write
|
188
|
-
#!/usr/bin/env ruby
|
189
|
-
exec('#{original_binary}', '-no-remote', '-P', '#{FIREFOX_FOR_SELENIUM_PROFILE_NAME}', *ARGV)
|
190
|
-
|
198
|
+
patched_binary.write left(<<-PATCH)
|
199
|
+
#!/usr/bin/env ruby
|
200
|
+
exec('#{original_binary}', '-no-remote', '-P', '#{FIREFOX_FOR_SELENIUM_PROFILE_NAME}', *ARGV)
|
201
|
+
PATCH
|
191
202
|
patched_binary.close
|
192
203
|
execute_command("mv #{patched_binary.path} #{binary}")
|
193
204
|
execute_command("chmod +x #{binary}")
|
@@ -195,30 +206,38 @@ eos
|
|
195
206
|
end
|
196
207
|
|
197
208
|
def configure_old_firefox
|
198
|
-
puts
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
+
puts left(<<-INSTRUCTION)
|
210
|
+
You will now have to do some manual configuration.
|
211
|
+
|
212
|
+
This script will open the patched copy of Firefox when you press ENTER.
|
213
|
+
Please perform the following steps manually:
|
214
|
+
|
215
|
+
- Disable the default browser check when Firefox launches
|
216
|
+
- Check that the version number is correct (#{@version})
|
217
|
+
- You should not see your bookmarks, add-ons, plugins from your regular
|
218
|
+
Firefox profile
|
219
|
+
- Disable all automatic updates under Edit / Preferences / Advanced /
|
220
|
+
Update (do this quickly or Firefox will already have updated)
|
221
|
+
|
222
|
+
INSTRUCTION
|
223
|
+
|
224
|
+
wait 'Open the patched copy of Firefox with ENTER.'
|
209
225
|
run_firefox_for_selenium
|
210
226
|
end
|
211
227
|
|
212
228
|
def kkthxbb
|
213
|
-
|
214
|
-
|
215
|
-
puts
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
229
|
+
success "Congratulations, you're done!"
|
230
|
+
|
231
|
+
puts left(<<-INSTRUCTION)
|
232
|
+
|
233
|
+
Your patched copy of Firefox will be used when you run Cucumber using
|
234
|
+
the cucumber script that comes with the geordi gem. If you prefer to run
|
235
|
+
Cucumber on your own, you must call it like this:
|
236
|
+
|
237
|
+
PATH=#{path}:$PATH cucumber
|
238
|
+
|
239
|
+
Enjoy!
|
240
|
+
INSTRUCTION
|
222
241
|
end
|
223
242
|
|
224
243
|
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Geordi
|
2
|
+
module Interaction
|
3
|
+
|
4
|
+
def announce(text)
|
5
|
+
message = "\n# #{text}"
|
6
|
+
puts "\e[4;34m#{message}\e[0m" # blue underline
|
7
|
+
end
|
8
|
+
|
9
|
+
def note(text)
|
10
|
+
puts '> ' + text
|
11
|
+
end
|
12
|
+
|
13
|
+
def warn(text)
|
14
|
+
message = "> #{text}"
|
15
|
+
puts "\e[33m#{message}\e[0m" # yellow
|
16
|
+
end
|
17
|
+
|
18
|
+
def note_cmd(text)
|
19
|
+
message = "> #{text}"
|
20
|
+
puts "\e[35m#{message}\e[0m" # pink
|
21
|
+
end
|
22
|
+
|
23
|
+
def fail(text)
|
24
|
+
message = "\nx #{text}"
|
25
|
+
puts "\e[31m#{message}\e[0m" # red
|
26
|
+
exit(1)
|
27
|
+
end
|
28
|
+
|
29
|
+
def success(text)
|
30
|
+
message = "\n> #{text}"
|
31
|
+
puts "\e[32m#{message}\e[0m" # green
|
32
|
+
end
|
33
|
+
|
34
|
+
def wait(text)
|
35
|
+
message = "#{text}"
|
36
|
+
puts "\e[36m#{message}\e[0m" # cyan
|
37
|
+
$stdin.gets
|
38
|
+
end
|
39
|
+
|
40
|
+
def left(string)
|
41
|
+
leading_whitespace = (string.match(/\A( +)[^ ]+/) || [])[1]
|
42
|
+
string.gsub! /^#{leading_whitespace}/, '' if leading_whitespace
|
43
|
+
string
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require 'geordi/capistrano_config'
|
2
|
+
require 'geordi/interaction'
|
3
|
+
require 'geordi/util'
|
4
|
+
require 'highline/import'
|
5
|
+
require 'pathname'
|
6
|
+
|
7
|
+
module Geordi
|
8
|
+
class Remote
|
9
|
+
include Geordi::Interaction
|
10
|
+
|
11
|
+
REMOTE_DUMP_PATH = '~/dumps/dump_for_download.dump'
|
12
|
+
|
13
|
+
def initialize(stage)
|
14
|
+
@stage = stage
|
15
|
+
@config = CapistranoConfig.new(stage)
|
16
|
+
end
|
17
|
+
|
18
|
+
def select_server
|
19
|
+
selected_server = choose do |menu|
|
20
|
+
@config.servers.each do |server|
|
21
|
+
menu.choice(server) { server }
|
22
|
+
end
|
23
|
+
|
24
|
+
# Default to the first listed server (by convention, the first server
|
25
|
+
# in the deploy files is the primary one).
|
26
|
+
menu.default = '1'
|
27
|
+
menu.prompt = 'Connect to? [1] '
|
28
|
+
end
|
29
|
+
|
30
|
+
puts
|
31
|
+
selected_server
|
32
|
+
end
|
33
|
+
|
34
|
+
def dump(options = {})
|
35
|
+
shell(options.merge :remote_command => "dumple #{@config.env} --for_download")
|
36
|
+
|
37
|
+
destination_directory = File.join(@config.root, 'tmp')
|
38
|
+
FileUtils.mkdir_p destination_directory
|
39
|
+
destination_path = File.join(destination_directory, "#{@stage}.dump")
|
40
|
+
relative_destination = Pathname.new(destination_path).relative_path_from Pathname.new(@config.root)
|
41
|
+
|
42
|
+
puts
|
43
|
+
note "Downloading remote dump to #{relative_destination} ..."
|
44
|
+
Util.system! "scp #{@config.user}@#{@config.primary_server}:#{REMOTE_DUMP_PATH} #{destination_path}"
|
45
|
+
|
46
|
+
success "Dumped the #{@stage} database to #{relative_destination}."
|
47
|
+
|
48
|
+
destination_path
|
49
|
+
end
|
50
|
+
|
51
|
+
def console(options = {})
|
52
|
+
shell(options.merge :remote_command => Util.console_command(@config.env))
|
53
|
+
end
|
54
|
+
|
55
|
+
def shell(options = {})
|
56
|
+
server = options[:select_server] ? select_server : @config.primary_server
|
57
|
+
|
58
|
+
remote_command = "cd #{@config.path} && #{@config.shell}"
|
59
|
+
remote_command << " -c '#{options[:remote_command]}'" if options[:remote_command]
|
60
|
+
|
61
|
+
note 'Connecting to ' + server.to_s
|
62
|
+
Util.system! 'ssh', "#{@config.user}@#{server}", '-t', remote_command
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
end
|
data/lib/geordi/util.rb
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'geordi/interaction'
|
2
|
+
|
3
|
+
module Geordi
|
4
|
+
class Util
|
5
|
+
class << self
|
6
|
+
include Geordi::Interaction
|
7
|
+
|
8
|
+
# Geordi commands sometimes require external gems. However, we don't want
|
9
|
+
# all employed gems as runtime dependencies because that would
|
10
|
+
# unnecessarily slow down all commands.
|
11
|
+
# Thus, we have this handy method here.
|
12
|
+
def installing_missing_gems(&block)
|
13
|
+
yield
|
14
|
+
rescue LoadError => e
|
15
|
+
gem_name = e.message.split('--').last.strip
|
16
|
+
install_command = 'gem install ' + gem_name
|
17
|
+
|
18
|
+
# install missing gem
|
19
|
+
warn 'Probably missing gem: ' + gem_name
|
20
|
+
wait 'Auto-install it?'
|
21
|
+
system! install_command, :show_cmd => true
|
22
|
+
|
23
|
+
# retry
|
24
|
+
Gem.clear_paths
|
25
|
+
note 'Trying again ...'
|
26
|
+
require gem_name
|
27
|
+
retry
|
28
|
+
end
|
29
|
+
|
30
|
+
# Run a command with a clean environment.
|
31
|
+
# Print an error message and exit if the command fails.
|
32
|
+
#
|
33
|
+
# Options: show_cmd, fail_message
|
34
|
+
def system!(*commands)
|
35
|
+
options = commands.last.is_a?(Hash) ? commands.pop : {}
|
36
|
+
note_cmd commands.join(' ') if options[:show_cmd]
|
37
|
+
|
38
|
+
# Remove Geordi's Bundler environment when running commands.
|
39
|
+
Bundler.clean_system(*commands) or fail(options[:fail_message] || 'Something went wrong.')
|
40
|
+
end
|
41
|
+
|
42
|
+
def console_command(environment)
|
43
|
+
if File.exists?('script/console')
|
44
|
+
'script/console ' + environment # Rails 2
|
45
|
+
else
|
46
|
+
'bundle exec rails console ' + environment
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def server_command
|
51
|
+
if File.exists?('script/server')
|
52
|
+
'script/server' # Rails 2
|
53
|
+
else
|
54
|
+
'bundle exec rails server' # Rails 3+
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
data/lib/geordi/version.rb
CHANGED
data/lib/geordi.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'geordi/cli'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: geordi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Henning Koch
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Collection of command line tools we use in our daily work with Ruby,
|
14
14
|
Rails and Linux at makandra.
|
@@ -26,16 +26,13 @@ executables:
|
|
26
26
|
- deploy-to-production
|
27
27
|
- dump-for
|
28
28
|
- dumple
|
29
|
+
- geordi
|
29
30
|
- gitpt
|
30
|
-
- install-gems-remotely
|
31
|
-
- install-gems-remotely.sh
|
32
31
|
- launchy_browser
|
33
32
|
- load-dump
|
34
33
|
- migrate-all
|
35
34
|
- optimize-png
|
36
|
-
- power-deploy
|
37
35
|
- power-rake
|
38
|
-
- remotify-local-branch
|
39
36
|
- remove-executable-flags
|
40
37
|
- rs
|
41
38
|
- run_tests
|
@@ -45,7 +42,8 @@ executables:
|
|
45
42
|
extensions: []
|
46
43
|
extra_rdoc_files: []
|
47
44
|
files:
|
48
|
-
-
|
45
|
+
- .gitignore
|
46
|
+
- .ruby-version
|
49
47
|
- Gemfile
|
50
48
|
- LICENSE
|
51
49
|
- README.md
|
@@ -61,16 +59,13 @@ files:
|
|
61
59
|
- bin/deploy-to-production
|
62
60
|
- bin/dump-for
|
63
61
|
- bin/dumple
|
62
|
+
- bin/geordi
|
64
63
|
- bin/gitpt
|
65
|
-
- bin/install-gems-remotely
|
66
|
-
- bin/install-gems-remotely.sh
|
67
64
|
- bin/launchy_browser
|
68
65
|
- bin/load-dump
|
69
66
|
- bin/migrate-all
|
70
67
|
- bin/optimize-png
|
71
|
-
- bin/power-deploy
|
72
68
|
- bin/power-rake
|
73
|
-
- bin/remotify-local-branch
|
74
69
|
- bin/remove-executable-flags
|
75
70
|
- bin/rs
|
76
71
|
- bin/run_tests
|
@@ -78,29 +73,68 @@ files:
|
|
78
73
|
- bin/shell-for
|
79
74
|
- bin/tests
|
80
75
|
- geordi.gemspec
|
76
|
+
- lib/geordi.rb
|
77
|
+
- lib/geordi/COMMAND_TEMPLATE
|
81
78
|
- lib/geordi/capistrano.rb
|
82
|
-
- lib/geordi/
|
79
|
+
- lib/geordi/capistrano_config.rb
|
80
|
+
- lib/geordi/cli.rb
|
81
|
+
- lib/geordi/commands/all_targets.rb
|
82
|
+
- lib/geordi/commands/apache_site.rb
|
83
|
+
- lib/geordi/commands/bundle_install.rb
|
84
|
+
- lib/geordi/commands/cleanup_directory.rb
|
85
|
+
- lib/geordi/commands/commit.rb
|
86
|
+
- lib/geordi/commands/console.rb
|
87
|
+
- lib/geordi/commands/create_database_yml.rb
|
88
|
+
- lib/geordi/commands/create_databases.rb
|
89
|
+
- lib/geordi/commands/cucumber.rb
|
90
|
+
- lib/geordi/commands/deploy.rb
|
91
|
+
- lib/geordi/commands/devserver.rb
|
92
|
+
- lib/geordi/commands/dump.rb
|
93
|
+
- lib/geordi/commands/migrate.rb
|
94
|
+
- lib/geordi/commands/png_optimize.rb
|
95
|
+
- lib/geordi/commands/rake.rb
|
96
|
+
- lib/geordi/commands/remove_executable_flags.rb
|
97
|
+
- lib/geordi/commands/rspec.rb
|
98
|
+
- lib/geordi/commands/security_update.rb
|
99
|
+
- lib/geordi/commands/setup.rb
|
100
|
+
- lib/geordi/commands/setup_firefox_for_selenium.rb
|
101
|
+
- lib/geordi/commands/setup_vnc.rb
|
102
|
+
- lib/geordi/commands/shell.rb
|
103
|
+
- lib/geordi/commands/test.rb
|
104
|
+
- lib/geordi/commands/unit.rb
|
105
|
+
- lib/geordi/commands/update.rb
|
106
|
+
- lib/geordi/commands/version.rb
|
107
|
+
- lib/geordi/commands/vnc_show.rb
|
108
|
+
- lib/geordi/commands/with_firefox_for_selenium.rb
|
109
|
+
- lib/geordi/commands/with_rake.rb
|
110
|
+
- lib/geordi/cucumber.rb
|
83
111
|
- lib/geordi/dump_loader.rb
|
84
112
|
- lib/geordi/firefox_for_selenium.rb
|
85
|
-
- lib/geordi/
|
113
|
+
- lib/geordi/interaction.rb
|
114
|
+
- lib/geordi/remote.rb
|
86
115
|
- lib/geordi/run_tests.rb
|
116
|
+
- lib/geordi/util.rb
|
87
117
|
- lib/geordi/version.rb
|
88
118
|
homepage: http://makandra.com
|
89
119
|
licenses:
|
90
120
|
- MIT
|
91
121
|
metadata: {}
|
92
|
-
post_install_message:
|
122
|
+
post_install_message: ! "\n ********************************************\n\n geordi
|
123
|
+
1.0.0 moves most of the scripts to\n the `geordi` binary. Run `geordi` and\n
|
124
|
+
\ `geordi help <cmd>` for further information.\n\n Tip: Create an alias for
|
125
|
+
geordi for quick \n access. Add this to your ~/.bashrc:\n\n alias g=\"geordi\"\n\n
|
126
|
+
\ ********************************************\n\n"
|
93
127
|
rdoc_options: []
|
94
128
|
require_paths:
|
95
129
|
- lib
|
96
130
|
required_ruby_version: !ruby/object:Gem::Requirement
|
97
131
|
requirements:
|
98
|
-
- -
|
132
|
+
- - ! '>='
|
99
133
|
- !ruby/object:Gem::Version
|
100
134
|
version: '0'
|
101
135
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
136
|
requirements:
|
103
|
-
- -
|
137
|
+
- - ! '>='
|
104
138
|
- !ruby/object:Gem::Version
|
105
139
|
version: '0'
|
106
140
|
requirements: []
|
data/bin/install-gems-remotely
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
|
4
|
-
warn <<EOWARNING
|
5
|
-
|
6
|
-
********************************************************
|
7
|
-
install-gems-remotely is deprecated
|
8
|
-
-----------------------------------
|
9
|
-
|
10
|
-
Gems should be automatically installed when deploying.
|
11
|
-
If they aren't: See http://gembundler.com/deploying.html
|
12
|
-
********************************************************
|
13
|
-
|
14
|
-
EOWARNING
|
15
|
-
|
16
|
-
# sorry
|
17
|
-
path = Gem.bin_path('geordi', 'install-gems-remotely.sh')
|
18
|
-
exec path, *ARGV
|
@@ -1,16 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
if [ -z "$1" ]; then
|
3
|
-
echo "Please specify the remote server name"
|
4
|
-
exit 1
|
5
|
-
fi
|
6
|
-
mkdir -p tmp
|
7
|
-
if ls vendor/gems/*/*.gemspec > /dev/null 2>&1; then
|
8
|
-
tar cf tmp/gemfiles_for_remote_install Gemfile Gemfile.lock vendor/gems
|
9
|
-
else
|
10
|
-
tar cf tmp/gemfiles_for_remote_install Gemfile Gemfile.lock
|
11
|
-
fi
|
12
|
-
scp tmp/gemfiles_for_remote_install $1:~
|
13
|
-
stty_orig=`stty -g`
|
14
|
-
stty -echo
|
15
|
-
ssh -t $1 "mkdir /tmp/install_gems; mv gemfiles_for_remote_install /tmp/install_gems; cd /tmp/install_gems; tar xf gemfiles_for_remote_install; bundle install; rm -rf /tmp/install_gems"
|
16
|
-
stty $stty_orig
|
data/bin/power-deploy
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
warn <<EOWARNING
|
4
|
-
|
5
|
-
**********************************************************************
|
6
|
-
power-deploy is deprecated
|
7
|
-
--------------------------
|
8
|
-
|
9
|
-
You should simply use "cap deploy:migrations"
|
10
|
-
|
11
|
-
If that does not do what you want, you should fix your deploy scripts.
|
12
|
-
See http://makandracards.com/makandra/1176
|
13
|
-
**********************************************************************
|
14
|
-
|
15
|
-
EOWARNING
|
16
|
-
|
17
|
-
stage = ARGV[0]
|
18
|
-
exec "cap #{stage} deploy && cap #{stage} deploy:migrate && cap #{stage} deploy:restart"
|
data/bin/remotify-local-branch
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
puts
|
4
|
-
puts " Deprecation Notification: This script does nothing."
|
5
|
-
puts
|
6
|
-
puts " Pushing a new branch and tracking it immediately with plain git is so easy now."
|
7
|
-
puts " https://makandracards.com/makandra/7895-git-push-a-new-branch-and-track-it-immediately"
|
8
|
-
puts
|
9
|
-
puts " Simple use the git command"
|
10
|
-
puts
|
11
|
-
puts " git push -u"
|
12
|
-
puts
|