warning-shot 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,11 @@
1
+ == 0.9.0 2008-03-12
2
+ * 1 minor enhancement:
3
+ * Cleaned up gem output
4
+
5
+ == 0.9.0 2008-03-12
6
+ * 1 major enhancement:
7
+ * Fixed the gem handler bug
8
+
1
9
  == 0.8.9 2008-02-26
2
10
  * 1 major enhancement:
3
11
  * Real initial public release, I hope.
data/Manifest.txt CHANGED
@@ -25,6 +25,7 @@ lib/warning_shot/dep_checker.rb
25
25
  lib/warning_shot/template_generator.rb
26
26
  lib/warning_shot/base_extensions.rb
27
27
  lib/warning_shot/gem_handler.rb
28
+ lib/warning_shot/logger.rb
28
29
  lib/warning_shot/config_parser.rb
29
30
  lib/warning_shot/test_script.rb
30
31
  lib/warning_shot/version.rb
@@ -178,31 +178,30 @@ module RippleNetworks
178
178
 
179
179
  section("Checking gem dependencies")
180
180
  #Initialize gem handler
181
- @gh = GemHandler.new(self.configs["gems"],self.options[:gems])
181
+ @gh = GemHandler.new(self.configs["gems"])
182
182
 
183
- gem_errors = @gh.missing_gems.size
184
-
185
- if @gh.missing_gems.size > 0
186
- record "#{gem_errors} gems not found: "
187
- @gh.missing_gems.each do |gem,version|
188
- record "\t#{gem} : #{version}"
189
- end
183
+ #List already installed gems
184
+ @gh.found_gems.each do |gem,version|
185
+ record("#{gem} v. #{version} was found!",:info)
190
186
  end
191
187
 
192
- if self.options[:gems] && @gh.failed_installs.size > 0
193
- gem_errors = @gh.failed_installs.size
194
- record "#{gem_errors} gems failed to install:"
195
- @gh.failed_installs.each do |gem,message|
196
- record "\t#{gem}: #{message}"
197
- end
188
+ #install missing gems
189
+ @gh.missing_gems.each do |gem,version|
190
+ record("#{gem} v. #{version} was NOT found!",(self.options[:gems]) ? :warning : :error)
191
+ @gh.install(gem,version) if self.options[:gems]
192
+ end
193
+
194
+ #List failed gems
195
+ @gh.failed_gems.each do |gem,reason|
196
+ record("#{gem} failed to install! Reason: #{reason}",:error)
198
197
  end
199
198
 
200
199
  @gh.installed_gems.each do |gem|
201
200
  record("#{gem.name} v. #{gem.version} was installed!",:info)
202
201
  end
203
202
 
204
- record("#{gem_errors} gems had errors", :error) if gem_errors > 0
205
- @errors += gem_errors
203
+ gem_errors = @gh.missing_gems.size - @gh.installed_gems.size
204
+ record("#{gem_errors} gems had errors", :info) if gem_errors > 0
206
205
 
207
206
  section("Loading Ruby test scripts")
208
207
  count = load_ruby_scripts
@@ -11,21 +11,22 @@ module RippleNetworks
11
11
  CONDITIONAL_RGX = /[^\d]*/.freeze
12
12
  VERSION_RGX = /[\d\.]+/.freeze
13
13
 
14
- attr_reader :gems_to_install, :missing_gems, :failed_installs, :installed_gems
14
+ attr_reader :gems_to_install, :missing_gems, :failed_gems, :installed_gems, :found_gems
15
15
 
16
-
17
- def initialize(gem_list,do_install=false,install_dir=nil)
18
-
19
- @install_dir ||= Gem.dir
16
+ def initialize(gem_list,install_all=false,install_dir=Gem.dir)
17
+ @install_dir = install_dir
20
18
 
21
- @missing_gems = {}
22
- @installed_gems = []
19
+ @missing_gems = {} # gems that will attempted to be installed
20
+ @failed_gems = {} # gems taht failed installation
21
+ @installed_gems = [] # gems that were installed by this process
22
+ @found_gems = {} # gems that were already installed
23
+
23
24
  @gems_to_install = split(gem_list)
24
- @failed_installs = {}
25
-
26
- check_gems
25
+ #TODO Create a Gem<Strunct(name,status,version,details) and get rid of all these
26
+ #different gem variables
27
27
 
28
- install! if do_install
28
+ check_gems
29
+ install! if install_all
29
30
  end
30
31
 
31
32
 
@@ -51,39 +52,54 @@ module RippleNetworks
51
52
  check_gems
52
53
  end
53
54
 
55
+ def install(gem_name,gem_version)
56
+ begin
57
+ #RubyGems DependencyInstaller installs all dependencies, and the gem, woot!
58
+ dep_inst = Gem::DependencyInstaller.new(gem_name,gem_version,{:install_dir => @install_dir})
59
+ rescue Exception => e
60
+ #Invalid Gem Name / Version
61
+ @failed_gems[gem_name] = "Bad gem name or version #{gem_name} #{gem_version}"
62
+ return false
63
+ end
64
+
65
+ #Determine what dependencies are missing
66
+ dep_inst.gather_dependencies
67
+
68
+ begin
69
+ #Install the dependencies and the gem
70
+ dep_inst.install
71
+
72
+ #Add list of installed gems to @installed_gems
73
+ @installed_gems.push(*dep_inst.installed_gems)
74
+
75
+ #Remove any isntalled gems from failed list
76
+ dep_inst.installed_gems.each do |gem|
77
+ @failed_gems.delete(gem.name) if @failed_gems.has_key?(gem.name)
78
+ end
79
+
80
+ #Update the local gem cache
81
+ Gem::cache.refresh!
82
+
83
+ #Update missing gems
84
+ check_gems
85
+ return true
86
+ rescue Errno::EACCES => e
87
+ @failed_gems[gem_name] = "Invalid permissions . . . try running w/ su"
88
+ rescue Gem::FilePermissionError => e
89
+ @failed_gems[gem_name] = "Invalid permissions . . . try running w/ su"
90
+ rescue Exception => e
91
+ @failed_gems[gem_name] = e.message
92
+ end
93
+
94
+ return false
95
+ end
54
96
 
55
- def install!
56
- @failed_installs = {}
57
-
58
- #RubyGems DependencyInstaller installs all dependencies, and the gem, woot!
97
+ def install!
59
98
  @missing_gems.each do |gem_name,gem_version|
60
- begin
61
- dep_inst = Gem::DependencyInstaller.new(gem_name,gem_version,{:install_dir => @install_dir})
62
- rescue Exception => e
63
- #Invalid Gem Name / Version
64
- @failed_installs[gem_name] = "Bad gem name or version #{gem_name} #{gem_version}"
65
- end
66
-
67
- #Determine what dependencies are missing
68
- dep_inst.gather_dependencies
69
-
70
- #Install missing dependencies
71
- begin
72
- dep_inst.install
73
- @installed_gems.push(*dep_inst.installed_gems)
74
- rescue Errno::EACCES => e
75
- @failed_installs[gem_name] = "Invalid permissions . . . try running w/ sudo"
76
- rescue Gem::FilePermissionError => e
77
- @failed_installs[gem_name] = "Invalid permissions . . . try running w/ sudo"
78
- rescue Exception => e
79
- @failed_installs[gem_name] = e.message
80
- end
99
+ install(gem_name,gem_version)
81
100
  end
82
101
 
83
- Gem::cache.refresh!
84
- check_gems
85
-
86
- return @failed_installs.length == 0
102
+ return @failed_gems.length == 0
87
103
  end
88
104
 
89
105
 
@@ -167,7 +183,11 @@ module RippleNetworks
167
183
 
168
184
  @gems_to_install.each do |gem_name,gem_version|
169
185
  gem_info = installed?(gem_name,gem_version)
170
- @missing_gems[gem_name] = gem_version unless gem_info[:installed]
186
+ if gem_info[:installed]
187
+ @found_gems[gem_name] = gem_version
188
+ else
189
+ @missing_gems[gem_name] = gem_version
190
+ end
171
191
  end
172
192
  end
173
193
 
@@ -0,0 +1,17 @@
1
+
2
+ module RippleNetworks
3
+ module WarningShot
4
+ class Logger
5
+
6
+ def initialize(path,verbose=false);end;
7
+
8
+ def info();end;
9
+ def debug();end;
10
+ def error();end;
11
+ def warning();end;
12
+ def fatal();end;
13
+
14
+ def close();end;
15
+ end
16
+ end
17
+ end
@@ -3,7 +3,7 @@ module WarningShot #:nodoc:
3
3
  module VERSION #:nodoc:
4
4
  MAJOR = 0
5
5
  MINOR = 9
6
- TINY = 0
6
+ TINY = 1
7
7
  RC = 1
8
8
 
9
9
  STRING = [MAJOR, MINOR, TINY].join('.')
data/website/index.html CHANGED
@@ -33,7 +33,7 @@
33
33
  <h1>warning_shot</h1>
34
34
  <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/warning_shot"; return false'>
35
35
  <p>Get Version</p>
36
- <a href="http://rubyforge.org/projects/warning_shot" class="numbers">0.8.9</a>
36
+ <a href="http://rubyforge.org/projects/warning_shot" class="numbers">0.9.1</a>
37
37
  </div>
38
38
  <h1>&#x2192; &#8216;warning_shot&#8217;</h1>
39
39
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: warning-shot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cory O'Daniel
@@ -53,6 +53,7 @@ files:
53
53
  - lib/warning_shot/template_generator.rb
54
54
  - lib/warning_shot/base_extensions.rb
55
55
  - lib/warning_shot/gem_handler.rb
56
+ - lib/warning_shot/logger.rb
56
57
  - lib/warning_shot/config_parser.rb
57
58
  - lib/warning_shot/test_script.rb
58
59
  - lib/warning_shot/version.rb