sprout-flashplayer-bundle 9.151.1 → 10.22.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.
@@ -0,0 +1,83 @@
1
+ require 'rubygems'
2
+ require 'open4'
3
+
4
+ $CLIX_WRAPPER_TARGET = File.join(File.expand_path(File.dirname(__FILE__)), 'clix_wrapper.rb')
5
+
6
+ $:.unshift(File.dirname(__FILE__)) unless
7
+ $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
8
+
9
+ class CLIXFlashPlayerError < StandardError; end
10
+
11
+ class CLIXFlashPlayer
12
+ VERSION = '0.1.0'
13
+
14
+ def initialize
15
+ @activate_pid = nil
16
+ @player_pid = nil
17
+ @thread = nil
18
+ end
19
+
20
+ def execute(player, swf)
21
+ cleanup
22
+ player = clean_path(player)
23
+ swf = clean_path(swf)
24
+ validate(player, swf)
25
+
26
+ if(!player.match('Contents/MacOS'))
27
+ player = File.join(player, 'Contents', 'MacOS', 'Flash Player')
28
+ end
29
+
30
+ setup_trap
31
+ @thread = Thread.new {
32
+ @player_pid = open4.popen4("#{player.split(' ').join('\ ')}")[0]
33
+ raise "clix_wrapper.rb could not be found at: #{wrapper}" if !File.exists?($CLIX_WRAPPER_TARGET)
34
+ command = "ruby #{$CLIX_WRAPPER_TARGET} '#{player}' '#{swf}'"
35
+ @activate_pid = open4.popen4(command)[0]
36
+ Process.wait(@player_pid)
37
+ }
38
+ end
39
+
40
+ def kill
41
+ system("kill -9 #{@player_pid}")
42
+ end
43
+
44
+ def join
45
+ @thread.join
46
+ end
47
+
48
+ def alive?
49
+ return @thread.alive?
50
+ end
51
+
52
+ private
53
+
54
+ def clean_path(path)
55
+ File.expand_path(path.gsub("'", '').gsub("\\", ''))
56
+ end
57
+
58
+ def cleanup
59
+ if(@thread && @thread.alive?)
60
+ kill
61
+ @thread.join
62
+ end
63
+ end
64
+
65
+ def validate(player, swf)
66
+ raise CLIXFlashPlayerError.new("Player must not be nil") if(player.nil? || player == '')
67
+ raise CLIXFlashPlayerError.new("Player cannot be found: '#{player}'") if(!File.exists?(player))
68
+ raise CLIXFlashPlayerError.new("SWF must not be nil") if(swf.nil? || swf == '')
69
+ raise CLIXFlashPlayerError.new("SWF cannot be found: '#{swf}'") if(!File.exists?(swf))
70
+ end
71
+
72
+ def setup_trap
73
+ # Trap the CTRL+C Interrupt signal
74
+ # Which prevents nasty exception messages
75
+ Kernel.trap('INT') do
76
+ if(@thread.alive?)
77
+ @thread.kill
78
+ end
79
+ end
80
+ end
81
+
82
+ end
83
+
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/ruby
2
+ require 'rubygems'
3
+ require 'appscript'
4
+
5
+ player = ARGV[0]
6
+ swf = ARGV[1]
7
+
8
+ if(player.nil?)
9
+ raise "CLIXWrapper requires 'player' argument like:\nruby clix_wrapper [player] [swf]"
10
+ end
11
+
12
+ if(swf.nil?)
13
+ raise "CLIXWrapper requires 'swf' argument like:\nruby clix_wrapper [player] [swf]"
14
+ end
15
+
16
+ begin
17
+ # Give the player focus:
18
+ Appscript.app(player).activate
19
+ # Open the SWF:
20
+ Appscript.app(player).open(MacTypes::Alias.path(swf))
21
+ rescue LoadError => e
22
+ raise 'You must install the rb-appscript gem to use the desktop debug Flash Player'
23
+ end
24
+
@@ -1,9 +1,9 @@
1
1
  module Sprout
2
2
  class FlashPlayer #:nodoc:
3
3
  module VERSION #:nodoc:
4
- MAJOR = 9
5
- MINOR = 151
6
- TINY = 1
4
+ MAJOR = 10
5
+ MINOR = 22
6
+ TINY = 0
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY].join('.')
9
9
  MAJOR_MINOR = [MAJOR, MINOR].join('.')
@@ -21,6 +21,8 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
21
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
22
  =end
23
23
 
24
+ require 'clix_flash_player'
25
+
24
26
  module Sprout
25
27
 
26
28
  class FlashPlayerError < StandardError #:nodoc:
@@ -65,6 +67,7 @@ module Sprout
65
67
  def initialize(task_name, app)
66
68
  super(task_name, app)
67
69
  @default_gem_name = 'sprout-flashplayer-tool'
70
+ @default_gem_version = '10.22.0'
68
71
  @default_result_file = 'AsUnitResults.xml'
69
72
  @inside_test_result = false
70
73
  end
@@ -145,8 +148,11 @@ module Sprout
145
148
  # happen. This in turn can lead to multiple instances of the Player being instantiated.
146
149
  # In the case of running a test harness, this is absolutely not desirable, so we had
147
150
  # expose a parameter that allows us to prevent auto-focus of the player.
151
+ #
152
+ # This feature is deprecated in current versions of the FlashPlayerTask
148
153
  def do_not_focus=(focus)
149
154
  @do_not_focus = focus
155
+ puts "[WARNING] Thanks to fixes in the FlashPlayer task, do_not_focus is deprecated and no longer needs to be used"
150
156
  end
151
157
 
152
158
  def do_not_focus
@@ -221,10 +227,10 @@ module Sprout
221
227
  f.write('')
222
228
  end
223
229
  else
224
- FileUtils.mkdir_p(File.dirname(log_file))
230
+ FileUtils.makedirs(File.dirname(log_file))
225
231
  FileUtils.touch(log_file)
226
232
  end
227
- rescue
233
+ rescue StandardError => e
228
234
  puts '[WARNING] FlashPlayer encountered an error working with the mm.cfg log and/or editing the Trust file'
229
235
  end
230
236
 
@@ -233,14 +239,6 @@ module Sprout
233
239
  read_log(@thread, log_file)
234
240
  @thread.join
235
241
  end
236
-
237
- def close
238
- if(User.new().is_a?(WinUser))
239
- Thread.kill(@thread)
240
- else
241
- Process.kill("SIGALRM", @player_pid)
242
- end
243
- end
244
242
 
245
243
  def run(tool, gem_version, swf)
246
244
  path_to_exe = Sprout.get_executable(tool, nil, gem_version)
@@ -250,31 +248,35 @@ module Sprout
250
248
  thread_out = $stdout
251
249
  command = "#{target} #{User.clean_path(swf)}"
252
250
 
253
- return Thread.new {
254
- usr = User.new()
255
- if(usr.is_a?(WinUser) && !usr.is_a?(CygwinUser))
256
- system command
257
- else
251
+ usr = User.new()
252
+ if(usr.is_a?(WinUser) && !usr.is_a?(CygwinUser))
253
+ return Thread.new {
254
+ system command
255
+ }
256
+ elsif usr.is_a?(OSXUser)
257
+ @clix_player = CLIXFlashPlayer.new
258
+ @clix_player.execute(target, swf)
259
+ return @clix_player
260
+ else
261
+ return Thread.new {
258
262
  require 'open4'
259
263
  @player_pid, stdin, stdout, stderr = Open4.popen4(command)
260
- focus_player_on_mac(thread_out, path_to_exe)
261
264
  stdout.read
262
- end
263
- }
265
+ }
266
+ end
264
267
  end
265
268
 
266
- def focus_player_on_mac(out, exe)
267
- return if do_not_focus
268
- begin
269
- if(User.new.is_a?(OSXUser))
270
- require 'appscript'
271
- Appscript.app(exe).activate
272
- end
273
- rescue LoadError => e
274
- puts "[WARNING] Cannot focus Flash Player without rb-appscript gem"
269
+ def close
270
+ usr = User.new
271
+ if(usr.is_a?(WinUser))
272
+ Thread.kill(@thread)
273
+ elsif(usr.is_a?(OSXUser))
274
+ @thread.kill
275
+ else
276
+ Process.kill("SIGALRM", @player_pid)
275
277
  end
276
278
  end
277
-
279
+
278
280
  def read_log(thread, log_file)
279
281
  lines_put = 0
280
282
 
data/rakefile.rb CHANGED
@@ -42,6 +42,11 @@ spec = Gem::Specification.new do |s|
42
42
  s.files = PKG_LIST.to_a
43
43
 
44
44
  s.add_dependency('sprout', '>= 0.7.189')
45
+ s.add_dependency('sprout-flashplayer-tool', '>= 10.22.0')
46
+
47
+ if RUBY_PLATFORM.match('darwin')
48
+ s.add_dependency('rb-appscript', '>= 0.5.1')
49
+ end
45
50
  end
46
51
 
47
52
  Rake::GemPackageTask.new(spec) do |p|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sprout-flashplayer-bundle
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.151.1
4
+ version: 10.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pattern Park
@@ -9,7 +9,7 @@ autorequire: sprout/flashplayer
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-01-07 00:00:00 -08:00
12
+ date: 2009-05-21 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -22,6 +22,26 @@ dependencies:
22
22
  - !ruby/object:Gem::Version
23
23
  version: 0.7.189
24
24
  version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: sprout-flashplayer-tool
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 10.22.0
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: rb-appscript
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 0.5.1
44
+ version:
25
45
  description: Shared Project to support the Flash Player task
26
46
  email: projectsprouts@googlegroups.com
27
47
  executables: []
@@ -31,19 +51,16 @@ extensions: []
31
51
  extra_rdoc_files: []
32
52
 
33
53
  files:
34
- - lib
35
- - pkg
36
54
  - rakefile.rb
37
- - samples
38
- - test
39
- - lib/sprout
40
- - lib/sprout/flashplayer
55
+ - lib/clix_flash_player.rb
56
+ - lib/clix_wrapper.rb
41
57
  - lib/sprout/flashplayer/version.rb
42
58
  - lib/sprout/flashplayer.rb
43
- - lib/sprout/tasks
44
59
  - lib/sprout/tasks/flashplayer_task.rb
45
- has_rdoc: false
60
+ has_rdoc: true
46
61
  homepage: http://www.projectsprouts.org
62
+ licenses: []
63
+
47
64
  post_install_message:
48
65
  rdoc_options: []
49
66
 
@@ -64,9 +81,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
64
81
  requirements: []
65
82
 
66
83
  rubyforge_project: sprout
67
- rubygems_version: 1.3.1
84
+ rubygems_version: 1.3.3
68
85
  signing_key:
69
- specification_version: 2
86
+ specification_version: 3
70
87
  summary: Supporting tasks for Flash Player Rake integration
71
88
  test_files: []
72
89