geordi 0.18.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +13 -5
  2. data/.ruby-version +1 -0
  3. data/README.md +199 -110
  4. data/Rakefile +40 -0
  5. data/bin/apache-site +1 -19
  6. data/bin/cap-all +1 -27
  7. data/bin/cleanup-directory +1 -11
  8. data/bin/console-for +1 -12
  9. data/bin/cuc +1 -2
  10. data/bin/cuc-show +1 -2
  11. data/bin/cuc-vnc-setup +1 -114
  12. data/bin/deploy-to-production +1 -91
  13. data/bin/dump-for +4 -32
  14. data/bin/dumple +2 -4
  15. data/bin/geordi +10 -0
  16. data/bin/gitpt +1 -2
  17. data/bin/launchy_browser +9 -3
  18. data/bin/load-dump +1 -4
  19. data/bin/migrate-all +1 -13
  20. data/bin/optimize-png +1 -118
  21. data/bin/power-rake +1 -7
  22. data/bin/remove-executable-flags +1 -6
  23. data/bin/rs +1 -26
  24. data/bin/run_tests +1 -2
  25. data/bin/setup-firefox-for-selenium +1 -3
  26. data/bin/shell-for +1 -8
  27. data/bin/tests +1 -5
  28. data/geordi.gemspec +19 -0
  29. data/lib/geordi/COMMAND_TEMPLATE +29 -0
  30. data/lib/geordi/capistrano.rb +9 -7
  31. data/lib/geordi/capistrano_config.rb +66 -0
  32. data/lib/geordi/cli.rb +28 -0
  33. data/lib/geordi/commands/all_targets.rb +26 -0
  34. data/lib/geordi/commands/apache_site.rb +22 -0
  35. data/lib/geordi/commands/bundle_install.rb +7 -0
  36. data/lib/geordi/commands/cleanup_directory.rb +16 -0
  37. data/lib/geordi/commands/commit.rb +171 -0
  38. data/lib/geordi/commands/console.rb +24 -0
  39. data/lib/geordi/commands/create_database_yml.rb +18 -0
  40. data/lib/geordi/commands/create_databases.rb +16 -0
  41. data/lib/geordi/commands/cucumber.rb +20 -0
  42. data/lib/geordi/commands/deploy.rb +65 -0
  43. data/lib/geordi/commands/devserver.rb +14 -0
  44. data/lib/geordi/commands/dump.rb +63 -0
  45. data/lib/geordi/commands/migrate.rb +26 -0
  46. data/lib/geordi/commands/png_optimize.rb +92 -0
  47. data/lib/geordi/commands/rake.rb +21 -0
  48. data/lib/geordi/commands/remove_executable_flags.rb +14 -0
  49. data/lib/geordi/commands/rspec.rb +40 -0
  50. data/lib/geordi/commands/security_update.rb +56 -0
  51. data/lib/geordi/commands/setup.rb +33 -0
  52. data/lib/geordi/commands/setup_firefox_for_selenium.rb +6 -0
  53. data/lib/geordi/commands/setup_vnc.rb +84 -0
  54. data/lib/geordi/commands/shell.rb +20 -0
  55. data/lib/geordi/commands/test.rb +9 -0
  56. data/lib/geordi/commands/unit.rb +11 -0
  57. data/lib/geordi/commands/update.rb +33 -0
  58. data/lib/geordi/commands/version.rb +7 -0
  59. data/lib/geordi/commands/vnc_show.rb +6 -0
  60. data/lib/geordi/commands/with_firefox_for_selenium.rb +18 -0
  61. data/lib/geordi/commands/with_rake.rb +11 -0
  62. data/lib/geordi/{cuc.rb → cucumber.rb} +28 -39
  63. data/lib/geordi/dump_loader.rb +44 -70
  64. data/lib/geordi/firefox_for_selenium.rb +93 -74
  65. data/lib/geordi/interaction.rb +47 -0
  66. data/lib/geordi/remote.rb +66 -0
  67. data/lib/geordi/util.rb +60 -0
  68. data/lib/geordi/version.rb +1 -1
  69. data/lib/geordi.rb +1 -0
  70. metadata +50 -16
  71. data/bin/install-gems-remotely +0 -18
  72. data/bin/install-gems-remotely.sh +0 -16
  73. data/bin/power-deploy +0 -18
  74. data/bin/remotify-local-branch +0 -12
  75. 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
- puts "No firefox version given, defaulting to #{DEFAULT_FIREFOX_VERSION}."
61
- puts "Specify a version by putting it in a file named \"#{VERSION_SPECIFICATION_FILE}\"."
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
- puts "Firefox #{@version} not found."
69
- puts "Install it with"
70
- puts " setup-firefox-for-selenium #{@version}"
71
- puts
72
- puts "If you want to use your system firefox and not see this message, add"
73
- puts "a \".firefox-version\" file with the content \"system\"."
74
- puts
75
- puts "Press ENTER to continue or press CTRL+C to abort."
76
- $stdin.gets
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
- puts "Whenever Firefox updates, Selenium breaks. This is annoying."
141
- puts "This script will help you create an unchanging version of Firefox for your Selenium tests."
142
- puts
143
- puts "In particular, this new copy of Firefox will have the following properties:"
144
- puts
145
- puts "- It won't update itself with a newer version"
146
- puts "- It can co-exist with your regular Firefox installation (which you can update at will)"
147
- puts "- It will use a profile separate from the one you use for regular Firefox browsing"
148
- puts "- It will not try to re-use existing Firefox windows"
149
- puts "- It will automatically be used for your Selenium scenarios if you run your Cucumber using the cuc binary from the geordi gem."
150
- puts "- It will live in #{path}"
151
- puts
152
- puts "Press ENTER when you're ready to begin."
153
- gets
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
- puts "This version seems to be already installed."
165
+ note 'This version seems to be already installed.'
159
166
  puts
160
- puts "Press ENTER to continue anyway or press CTRL+C to abort."
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
- puts "Please download an old version of Firefox from #{download_url} and unpack it to #{path}."
168
- puts "Don't create an extra #{path.join("firefox")} directory."
169
- puts
170
- puts "Press ENTER when you're done."
171
- gets
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
- puts "Creating a separate profile named '#{FIREFOX_FOR_SELENIUM_PROFILE_NAME}' so your own profile will be safe..."
177
- # don't use the patched firefox binary for this, we don't want to give a -p parameter here
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
- puts "Patching #{binary} so it uses the new profile and never re-uses windows from other Firefoxes..."
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 <<eos
188
- #!/usr/bin/env ruby
189
- exec('#{original_binary}', '-no-remote', '-P', '#{FIREFOX_FOR_SELENIUM_PROFILE_NAME}', *ARGV)
190
- eos
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 "This script will now open the patched copy of Firefox."
199
- puts
200
- puts "Please perform the following steps manually:"
201
- puts
202
- puts "- Disable the default browser check when Firefox launches"
203
- puts "- Check that the version number is correct (#{@version})"
204
- puts "- Disable all automatic updates under Edit / Preferences / Advanced / Update (do this quickly or Firefox will already have updated)"
205
- puts "- You should not see your bookmarks, addons, plugins from your regular Firefox profile"
206
- puts
207
- puts "Press ENTER when you're ready to open Firefox and perform these steps."
208
- gets
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
- puts "Congratulations, you're done!"
214
- puts
215
- puts "Your patched copy of Firefox will be used when you run Cucumber using the cuc binary that comes with the geordi gem."
216
- puts "If you prefer to run Cucumber on your own, you must call it like this:"
217
- puts
218
- puts " PATH=#{path}:$PATH cucumber"
219
- puts
220
- puts "Enjoy!"
221
- puts
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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Geordi
2
- VERSION = '0.18.0'
2
+ VERSION = '1.0.0'
3
3
  end
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.18.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: 2014-06-04 00:00:00.000000000 Z
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
- - ".gitignore"
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/cuc.rb
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/gitpt.rb
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: []
@@ -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"
@@ -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