flashsdk 1.0.5.pre → 1.0.12.pre

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.
Files changed (59) hide show
  1. data/Gemfile +1 -1
  2. data/Gemfile.lock +26 -0
  3. data/POSTINSTALL.rdoc +1 -1
  4. data/README.textile +79 -0
  5. data/VERSION +1 -1
  6. data/bin/sprout-flex +8 -0
  7. data/doc/adl-list.txt +4 -0
  8. data/doc/adt-list.txt +12 -0
  9. data/ext/CloseFlashPlayerForDumbassOSX.scpt +6 -0
  10. data/ext/OpenFlashPlayerForDumbassOSX.scpt +12 -0
  11. data/flashsdk-1.0.11.pre.gem +0 -0
  12. data/flashsdk.gemspec +1 -3
  13. data/lib/flashplayer/log_file.rb +4 -5
  14. data/lib/flashplayer/specification.rb +1 -1
  15. data/lib/flashplayer/system_mixins.rb +91 -0
  16. data/lib/flashplayer/task.rb +1 -38
  17. data/lib/flashplayer.rb +1 -0
  18. data/lib/flashsdk/adl.rb +50 -0
  19. data/lib/flashsdk/adt.rb +227 -0
  20. data/lib/flashsdk/amxmlc.rb +29 -0
  21. data/lib/flashsdk/compc.rb +6 -3
  22. data/lib/flashsdk/compiler_base.rb +8 -0
  23. data/lib/flashsdk/generators/flash_helper.rb +27 -7
  24. data/lib/flashsdk/generators/flex_project_generator.rb +30 -0
  25. data/lib/flashsdk/generators/project_generator.rb +6 -6
  26. data/lib/flashsdk/generators/templates/ActionScript3RunnerClass.as +19 -0
  27. data/lib/flashsdk/generators/templates/Flex4Application.mxml +45 -0
  28. data/lib/flashsdk/generators/templates/Flex4Main.css +7 -0
  29. data/lib/flashsdk/generators/templates/Flex4Rakefile.rb +35 -0
  30. data/lib/flashsdk/generators/templates/Flex4RunnerClass.mxml +29 -0
  31. data/lib/flashsdk/generators/templates/FlexTestRunner.mxml +0 -0
  32. data/lib/flashsdk/generators/templates/rakefile.rb +24 -4
  33. data/lib/flashsdk/module.rb +2 -2
  34. data/lib/flashsdk/mxmlc.rb +10 -7
  35. data/lib/flashsdk.rb +4 -0
  36. data/lib/flex4.rb +2 -2
  37. data/mate +0 -0
  38. data/rakefile.rb +22 -3
  39. data/test/fixtures/air/simple/SomeProject.as +11 -0
  40. data/test/fixtures/air/simple/SomeProject.mxml +9 -0
  41. data/test/fixtures/air/simple/SomeProject.pfx +0 -0
  42. data/test/fixtures/air/simple/SomeProject.swf +0 -0
  43. data/test/fixtures/air/simple/SomeProject.xml +13 -0
  44. data/test/fixtures/flashplayer/AsUnit Runner.swf +0 -0
  45. data/test/unit/adl_test.rb +30 -0
  46. data/test/unit/adt_test.rb +68 -0
  47. data/test/unit/amxmlc_test.rb +54 -0
  48. data/test/unit/{task_test.rb → flashplayer_task_test.rb} +4 -5
  49. data/test/unit/flex_generator_test.rb +37 -0
  50. data/test/unit/mxmlc_test.rb +5 -5
  51. data/test/unit/project_generator_test.rb +4 -0
  52. data/test/unit/test_helper.rb +4 -5
  53. metadata +51 -14
  54. data/lib/flashplayer/clix_flash_player.rb +0 -91
  55. data/lib/flashplayer/clix_wrapper.rb +0 -22
  56. /data/test/unit/{log_file_test.rb → flashplayer_log_file_test.rb} +0 -0
  57. /data/test/unit/{mm_config_test.rb → flashplayer_mm_config_test.rb} +0 -0
  58. /data/test/unit/{flashplayer_test.rb → flashplayer_module_test.rb} +0 -0
  59. /data/test/unit/{trust_test.rb → flashplayer_trust_test.rb} +0 -0
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem 'sprout', '>= 1.0.20.pre'
3
+ gem 'sprout', '>= 1.0.26.pre'
4
4
 
5
5
  group :development do
6
6
  gem "shoulda"
data/Gemfile.lock ADDED
@@ -0,0 +1,26 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ archive-tar-minitar (0.5.2)
5
+ mocha (0.9.8)
6
+ rake
7
+ open4 (1.0.1)
8
+ rake (0.8.7)
9
+ rdoc (2.5.11)
10
+ rubyzip (0.9.4)
11
+ shoulda (2.11.3)
12
+ sprout (1.0.28.pre)
13
+ archive-tar-minitar (= 0.5.2)
14
+ bundler (>= 0.9.19)
15
+ open4 (>= 0.9.6)
16
+ rake (>= 0.8.7)
17
+ rdoc (>= 2.5.8)
18
+ rubyzip (= 0.9.4)
19
+
20
+ PLATFORMS
21
+ ruby
22
+
23
+ DEPENDENCIES
24
+ mocha
25
+ shoulda
26
+ sprout (>= 1.0.26.pre)
data/POSTINSTALL.rdoc CHANGED
@@ -1,5 +1,5 @@
1
1
  ++++++++++++++++++++++++++++++++
2
- You have successfully installed the Project Sprouts FlashSDK!
2
+ You have successfully installed the Project Sprouts Flash SDK!
3
3
 
4
4
  To get started with a new ActionScript 3 project:
5
5
 
data/README.textile CHANGED
@@ -0,0 +1,79 @@
1
+
2
+ h1. The Flash SDK Sprout Gem
3
+
4
+ h3. Installation
5
+
6
+ # "Install Ruby":http://www.ruby-lang.org/en/downloads/ _(>= v 1.8.7)_
7
+ # "Install RubyGems":http://rubyforge.org/frs/?group_id=126 _(>= v 1.3.6)_
8
+ # Install the Flash SDK prerelease gem:
9
+
10
+ <pre><code>gem install flashsdk --pre</code></pre>
11
+
12
+ h3. Getting Started
13
+
14
+ Open a terminal and enter the following commands:
15
+
16
+ Create a new ActionScript 3 project and move into it:
17
+
18
+ <pre><code>sprout-as3 SomeProject
19
+ cd SomeProject</code></pre>
20
+
21
+
22
+ Resolve all dependencies, compile and launch the SWF:
23
+
24
+ <pre><code>rake</code></pre>
25
+
26
+ Generate a new class, test case and test suite:
27
+
28
+ <pre><code>sprout-class utils.MathUtil</code></pre>
29
+
30
+ Compile and launch the test harness:
31
+
32
+ <pre><code>rake test</code></pre>
33
+
34
+ Compile a SWC file:
35
+
36
+ <pre><code>rake swc</code></pre>
37
+
38
+ Generate documentation using "AsDoc":http://labs.adobe.com/wiki/index.php/ASDoc:
39
+
40
+ <pre><code>rake asdoc</code></pre>
41
+
42
+ Execute the test harness, emit a JUnit-compatible test results document, and close the Flash Player when complete or after encountering an uncaught exception:
43
+
44
+ <pre><code>rake ci</code></pre>
45
+
46
+ Display all available Rake tasks:
47
+
48
+ <pre><code>rake -T</code></pre>
49
+
50
+ h3. Some Links
51
+
52
+ * "Web Site":http://projectsprouts.org
53
+ * "See the Documentation":http://projectsprouts.org/rdoc
54
+ * "Meet the Community":http://groups.google.com/group/projectsprouts
55
+
56
+ h3. MIT License
57
+
58
+ <pre>
59
+ Copyright (c) 2007-2010 Pattern Park
60
+
61
+ Permission is hereby granted, free of charge, to any person obtaining
62
+ a copy of this software and associated documentation files (the
63
+ "Software"), to deal in the Software without restriction, including
64
+ without limitation the rights to use, copy, modify, merge, publish,
65
+ distribute, sublicense, and/or sell copies of the Software, and to
66
+ permit persons to whom the Software is furnished to do so, subject to
67
+ the following conditions:
68
+
69
+ The above copyright notice and this permission notice shall be
70
+ included in all copies or substantial portions of the Software.
71
+
72
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
73
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
74
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
75
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
76
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
77
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
78
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
79
+ </pre>
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.5.pre
1
+ 1.0.12.pre
data/bin/sprout-flex ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'flashsdk'
5
+
6
+ generator = FlashSDK::FlexProjectGenerator.new
7
+ generator.parse! ARGV
8
+ generator.execute
data/doc/adl-list.txt CHANGED
@@ -0,0 +1,4 @@
1
+ application descriptor file not specified
2
+ usage:
3
+ adl ( -runtime <runtime-dir> )? ( -pubid <pubid> )? -nodebug? ( -profile mobileDevice|extendedMobileDevice|desktop|extendedDesktop )? ( -screensize <size> )? <app-desc> <root-dir>? ( -- ... )?
4
+ adl -help
data/doc/adt-list.txt CHANGED
@@ -0,0 +1,12 @@
1
+ usage:
2
+ adt -checkstore SIGNING_OPTIONS
3
+ adt -certificate -cn <name> ( -ou <org-unit> )? ( -o <org-name> )? ( -c <country> )? <key-type> <pfx-file> <password>
4
+ adt -help
5
+ adt -migrate SIGNING_OTIONS <air-file-in> <air-file-out>
6
+ adt -package SIGNING_OPTIONS <air-file> <app-desc> FILE_ARGS
7
+ adt -prepare <airi-file> <app-desc> FILE_ARGS
8
+ adt -sign SIGNING_OPTIONS <airi-file> <air-file>
9
+ adt -version
10
+
11
+ SIGNING_OPTIONS: -storetype <type> ( -keystore <store> )? ( -storepass <pass> )? ( -keypass <pass> )? ( -providerName <name> )? ( -tsa <url> )?
12
+ FILE_ARGS: <fileOrDir>* (( -C <dir> <fileOrDir>+ ) | ( -e <file> <path> ))*
@@ -0,0 +1,6 @@
1
+
2
+ on run argv
3
+ set flash_player to item 1 of argv as text
4
+ tell application flash_player to quit
5
+ end run
6
+
@@ -0,0 +1,12 @@
1
+
2
+ on run argv
3
+ set flash_player to item 1 of argv as text
4
+ set swf_file to item 2 of argv as text
5
+ tell application flash_player to activate
6
+ tell application flash_player to open swf_file
7
+ repeat
8
+ if application flash_player is not running then exit repeat
9
+ delay 0.1
10
+ end repeat
11
+ end run
12
+
Binary file
data/flashsdk.gemspec CHANGED
@@ -3,8 +3,6 @@ lib = File.expand_path File.dirname(__FILE__), 'lib'
3
3
  $:.unshift lib unless $:.include?(lib)
4
4
 
5
5
  require 'bundler'
6
- Bundler.setup
7
-
8
6
  require 'flashsdk'
9
7
 
10
8
  Gem::Specification.new do |s|
@@ -15,7 +13,7 @@ Gem::Specification.new do |s|
15
13
  s.homepage = "http://www.adobe.com/products/flex"
16
14
  s.summary = "Adobe Flash SDK including mxmlc, compc, asdoc, adl, adt, optimizer and fdb"
17
15
  s.description = "The Flash SDK Rubygem is brought to you by Project Sprouts (http://projectsprouts.org)"
18
- s.executable = 'sprout-as3'
16
+ s.executables = ['sprout-as3', 'sprout-flex']
19
17
  s.post_install_message = File.read 'POSTINSTALL.rdoc'
20
18
  s.files = FileList['**/**/*'].exclude /.git|.svn|.DS_Store/
21
19
  s.add_bundler_dependencies
@@ -6,7 +6,8 @@ module FlashPlayer
6
6
  attr_accessor :logger
7
7
 
8
8
  def initialize
9
- @logger = $stdout
9
+ @logger = $stdout
10
+ super
10
11
  end
11
12
 
12
13
  def tail thread=nil
@@ -26,12 +27,10 @@ module FlashPlayer
26
27
  thread ||= fake_thread
27
28
  lines_put = 0
28
29
 
29
- trap("INT") { thread.kill }
30
-
31
30
  while thread.alive? do
32
31
  lines_put = read_from_file path, lines_put
33
32
  logger.flush
34
- sleep(0.2)
33
+ sleep(0.1)
35
34
  end
36
35
 
37
36
  logger.puts ""
@@ -85,7 +84,7 @@ module FlashPlayer
85
84
  end
86
85
  end
87
86
 
88
- desc "Tail the flashlog.txt and block"
87
+ desc "Tail the flashlog.txt and block (until CTRL+C)"
89
88
  task :flashlog do
90
89
  mm_config = FlashPlayer::MMConfig.new
91
90
  mm_config.create
@@ -9,7 +9,7 @@ Sprout::Specification.new do |s|
9
9
  t.archive_type = :zip
10
10
  t.url = "http://download.macromedia.com/pub/flashplayer/updaters/10/flashplayer_10_sa_debug.app.zip"
11
11
  t.md5 = "ff6824b7fd676dd1b613204221f5b5b9"
12
- t.add_executable :flashplayer, "Flash Player Debugger.app/Contents/MacOS/Flash Player Debugger"
12
+ t.add_executable :flashplayer, "Flash Player Debugger.app"
13
13
  end
14
14
 
15
15
  s.add_remote_file_target do |t|
@@ -0,0 +1,91 @@
1
+ ##
2
+ # Update the native System instances
3
+ # to handle FlashPlayer launching in
4
+ # order to overcome non-cli limitations.
5
+ #
6
+ module Sprout
7
+ module System
8
+
9
+ class WinSystem
10
+
11
+ def open_flashplayer_with exe, swf
12
+ return Thread.new {
13
+ system exe, swf
14
+ }
15
+ end
16
+ end
17
+
18
+ class OSXSystem < UnixSystem
19
+
20
+ ##
21
+ # Use AppleScript to open the specified Flash Player
22
+ # because, simply launching the executable does not focus
23
+ # it.
24
+ def open_flashplayer_with exe, swf
25
+ # Clean paths differently for this exectuable,
26
+ # because we're forking out to AppleScript over
27
+ # a new process, and spaces need to be escaped.
28
+ @player_exe = exe.split(' ').join('\ ')
29
+
30
+ wrapper = []
31
+ wrapper << "osascript"
32
+ wrapper << open_flashplayer_script_path
33
+ wrapper << @player_exe
34
+
35
+ # Call the UnixSystem.open_flashplayer_with method:
36
+ super wrapper.join(" "), File.expand_path(swf)
37
+ end
38
+
39
+ private
40
+
41
+ ##
42
+ # Use AppleScript to close the Flash Player
43
+ def close_flashplayer
44
+ closer = []
45
+ closer << "osascript"
46
+ closer << close_flashplayer_script_path
47
+ closer << @player_exe
48
+ `#{closer.join(" ")}`
49
+ end
50
+
51
+ def ext_gem_path
52
+ File.join(File.dirname(__FILE__), '..', '..', 'ext')
53
+ end
54
+
55
+ def close_flashplayer_script_path
56
+ File.expand_path(File.join(ext_gem_path, "CloseFlashPlayerForDumbassOSX.scpt"))
57
+ end
58
+
59
+ def open_flashplayer_script_path
60
+ File.expand_path(File.join(ext_gem_path, "OpenFlashPlayerForDumbassOSX.scpt"))
61
+ end
62
+
63
+ end
64
+
65
+ # All others inherit from this class
66
+ class UnixSystem
67
+
68
+ def open_flashplayer_with exe, swf
69
+ trap("INT") {
70
+ close_flashplayer
71
+ @player_thread.kill
72
+ }
73
+
74
+ @player_thread = Thread.new {
75
+ require 'open4'
76
+ @player_pid, stdin, stdout, stderr = Open4.popen4("#{exe} #{swf}")
77
+ stdout.read
78
+ }
79
+ end
80
+
81
+ private
82
+
83
+ def close_flashplayer
84
+ # Don't need to do anything - created
85
+ # this method to handle belligerent OS X trash.
86
+ end
87
+
88
+ end
89
+ end
90
+ end
91
+
@@ -25,7 +25,6 @@ module FlashPlayer
25
25
 
26
26
  def execute *args
27
27
  super
28
- #puts ">> invoke with: #{args} and input: #{input}"
29
28
  update_input_if_necessary
30
29
  execute_safely do
31
30
  update_mm_config
@@ -50,6 +49,7 @@ module FlashPlayer
50
49
 
51
50
  def execute_safely
52
51
  begin
52
+ Thread.abort_on_exception = true
53
53
  yield if block_given?
54
54
  rescue FlashPlayer::PathError => e
55
55
  logger.puts ">> [WARNING] It seems this was the first time FlashPlayer was launched on this system and as a result, the expected folders were not found. Please close the Player and run again - this message should only ever be displayed once."
@@ -94,43 +94,6 @@ module FlashPlayer
94
94
  end
95
95
  end
96
96
 
97
- ##
98
- # Update the native System instances
99
- # to handle FlashPlayer launching in
100
- # order to overcome non-cli limitations.
101
- #
102
- module Sprout
103
- module System
104
-
105
- class WinSystem
106
- def open_flashplayer_with exe, swf
107
- return Thread.new {
108
- system command
109
- }
110
- end
111
- end
112
-
113
- class OSXSystem
114
- def open_flashplayer_with exe, swf
115
- require 'flashplayer/clix_flash_player'
116
- @clix_player = CLIXFlashPlayer.new
117
- @clix_player.execute(exe, swf)
118
- return @clix_player
119
- end
120
- end
121
-
122
- class UnixSystem
123
- def open_flashplayer_with exe, swf
124
- return Thread.new {
125
- require 'open4'
126
- @player_pid, stdin, stdout, stderr = Open4.popen4(command)
127
- stdout.read
128
- }
129
- end
130
- end
131
- end
132
- end
133
-
134
97
  def flashplayer *args, &block
135
98
  FlashPlayer::Task.define_task *args, &block
136
99
  end
data/lib/flashplayer.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'flashplayer/system_mixins'
1
2
  require 'flashplayer/errors'
2
3
  require 'flashplayer/module'
3
4
  require 'flashplayer/mm_config'
@@ -0,0 +1,50 @@
1
+ module FlashSDK
2
+
3
+ class ADL
4
+ include Sprout::Executable
5
+
6
+ add_param :runtime, Path
7
+
8
+ add_param :pubid, String
9
+
10
+ add_param :nodebug, Boolean
11
+
12
+ add_param :profile, String
13
+
14
+ add_param :screensize, String
15
+
16
+ add_param :app_desc, String, { :hidden_name => true, :delimiter => ' ' }
17
+
18
+ add_param :root_dir, String, { :hidden_name => true, :delimiter => ' ' }
19
+
20
+ #add_param :shitty_dashes, String, { :hidden_name => true, :delimiter => ' ', :default => '--' }
21
+
22
+ add_param :input, File, { :hidden_name => true }
23
+
24
+ ##
25
+ # The the Ruby file that will load the expected
26
+ # Sprout::Specification.
27
+ #
28
+ # Default value is 'flex4'
29
+ #
30
+ set :pkg_name, 'flex4'
31
+
32
+ ##
33
+ # The default pkg version
34
+ #
35
+ set :pkg_version, ">= #{FlashSDK::VERSION}"
36
+
37
+ ##
38
+ # The default executable target.
39
+ #
40
+ set :executable, :adl
41
+ end
42
+ end
43
+
44
+ class Sprout::System::UnixSystem
45
+
46
+ def should_repair_executable path
47
+ return false
48
+ #return (File.exists?(path) && !File.directory?(path) && File.read(path).match(/^\#\!\/bin\/sh/))
49
+ end
50
+ end
@@ -0,0 +1,227 @@
1
+ module FlashSDK
2
+
3
+ ##
4
+ # Creates AIR certificates and compiles AIR packages for distribution.
5
+ #
6
+ # Following is an example of how this tool might be used to create
7
+ # a certificate and AIR package:
8
+ #
9
+ # mxmlc 'bin/SomeProject.swf' do |t|
10
+ # t.input = 'src/SomeProject.as'
11
+ # end
12
+ #
13
+ # adt 'cert/SomeProject.pfx' do |t|
14
+ # t.certificate = true
15
+ # t.cn = 'SelfCertificate'
16
+ # t.key_type = '2048-RSA'
17
+ # t.pfx_file = 'cert/SomeProject.pfx'
18
+ # # Don't check the .password file into version control:
19
+ # t.password = File.read('cert/.password')
20
+ # end
21
+ #
22
+ # adt 'bin/SomeProject.air' => ['bin/SomeProject.swf', 'cert/SomeProject.pfx'] do |t|
23
+ # t.package = true
24
+ # t.package_input = 'SomeProject.xml'
25
+ # t.package_output = 'bin/SomeProject.air'
26
+ # t.storetype = 'PKCS12'
27
+ # t.keystore = 'cert/SomeProject.pfx'
28
+ # # Don't check the .password file into version control:
29
+ # t.storepass = File.read('cert/.password')
30
+ # t.included_files << 'bin/SomeProject.swf'
31
+ # end
32
+ #
33
+ # desc "Compile, certify and package the AIR application"
34
+ # task package => 'bin/SomeProject.air'
35
+ #
36
+ class ADT
37
+ include Sprout::Executable
38
+ #NOTE:
39
+ # The order of these parameters is important!
40
+ # Please do not alphabetize or rearrange unless you're
41
+ # fixing a bug related to how ADT actually expects
42
+ # the arguments...
43
+
44
+ ##
45
+ # Create an AIR package.
46
+ #
47
+ add_param :package, Boolean, { :hidden_value => true }
48
+
49
+ ##
50
+ # Set true to create a certificate.
51
+ #
52
+ # If this value is true, you can optionally set org_unit, org_name and country.
53
+ #
54
+ # If this value is true, you MUST set +cn+, +key_type+, and +pfx_file+.
55
+ #
56
+ # adt 'cert/SampleCert.pfx' do |t|
57
+ # t.certificate = true
58
+ # t.cn = 'SelfCertificate'
59
+ # t.key_type = '1024-RSA'
60
+ # t.pfx_file = 'cert/SampleCert.pfx'
61
+ # t.password = 'samplepassword'
62
+ # end
63
+ #
64
+ add_param :certificate, Boolean, { :hidden_value => true }
65
+
66
+ ##
67
+ # A Signing Option
68
+ #
69
+ add_param :storetype, String, { :delimiter => ' ' }
70
+
71
+
72
+ ##
73
+ # A Signing Option
74
+ #
75
+ add_param :keystore, String, { :delimiter => ' ' }
76
+
77
+ ##
78
+ # Provide the password directly to the ADT task
79
+ # so that it doesn't attempt to prompt.
80
+ #
81
+ add_param :storepass, String, { :delimiter => ' ' }
82
+
83
+
84
+ ##
85
+ # A Signing Option
86
+ #
87
+ add_param :keypass, String, { :delimiter => ' ' }
88
+
89
+
90
+ ##
91
+ # A Signing Option
92
+ #
93
+ add_param :providername, String, { :delimiter => ' ' }
94
+
95
+
96
+ ##
97
+ # A Signing Option
98
+ #
99
+ add_param :tsa, String
100
+
101
+ ##
102
+ # Check Store Signing options
103
+ #
104
+ add_param :checkstore, String
105
+
106
+ ##
107
+ # Expects two files:
108
+ #
109
+ # 1) The Airi file (?)
110
+ # 2) The application description
111
+ #add_param :prepare, Files
112
+
113
+ ##
114
+ # Expects two files:
115
+ #
116
+ # 1) The Airi file (?)
117
+ # 2) The Air file
118
+ add_param :sign, Files, { :delimiter => ' ' }
119
+
120
+
121
+ ##
122
+ # The AIR runtime version to use.
123
+ add_param :version, String, { :delimiter => ' ' }
124
+
125
+ ##
126
+ # The AIR file that should be created
127
+ # after packaging is complete.
128
+ #
129
+ add_param :package_output, String, { :hidden_name => true }
130
+
131
+ ##
132
+ # The XML application descriptor that
133
+ # should be used to create an AIR
134
+ # application.
135
+ #
136
+ add_param :package_input, File, { :hidden_name => true }
137
+
138
+ ##
139
+ # Organization unit, follows certificate.
140
+ #
141
+ add_param :org_unit, String
142
+
143
+ ##
144
+ # Organization name, follows certificate.
145
+ #
146
+ add_param :org_name, String
147
+
148
+ ##
149
+ # Country, follows certificate.
150
+ #
151
+ add_param :country, String
152
+
153
+ ##
154
+ # The Certificate name.
155
+ #
156
+ add_param :cn, String, { :delimiter => ' ' }
157
+
158
+ ##
159
+ # Key Type, follows certificate.
160
+ #
161
+ add_param :key_type, String, { :hidden_name => true }
162
+
163
+ ##
164
+ # PFX File
165
+ #
166
+ add_param :pfx_file, String, { :hidden_name => true }
167
+
168
+ ##
169
+ # When creating a certificate, this is the file
170
+ # where the password can be found.
171
+ #
172
+ add_param :password, String, { :hidden_name => true, :delimiter => ' ' }
173
+
174
+ ##
175
+ # Expects Signing Options, plus
176
+ # two files:
177
+ #
178
+ # 1) The Air file in
179
+ # 2) The Air file out
180
+ #
181
+ add_param :migrate, Files
182
+
183
+ ##
184
+ # A list of files to include in the
185
+ #
186
+ add_param :included_files, Files, { :hidden_name => true }
187
+
188
+ ##
189
+ # A list of paths (directories) to search
190
+ # for contents that will be included in the
191
+ # packaged AIR application.
192
+ #
193
+ # If files are hidden from the file system,
194
+ # they will not be included.
195
+ #
196
+ add_param :included_paths, Paths, { :hidden_name => true }
197
+
198
+ ##
199
+ # The the Ruby file that will load the expected
200
+ # Sprout::Specification.
201
+ #
202
+ # Default value is 'flex4'
203
+ #
204
+ set :pkg_name, 'flex4'
205
+
206
+ ##
207
+ # The default pkg version
208
+ #
209
+ set :pkg_version, ">= #{FlashSDK::VERSION}"
210
+
211
+ ##
212
+ # The default executable target.
213
+ #
214
+ set :executable, :adt
215
+
216
+ ##
217
+ # Ensure the default prefix is '-'
218
+ set :default_prefix, '-'
219
+ end
220
+ end
221
+
222
+ def adt *args, &block
223
+ exe = FlashSDK::ADT.new
224
+ exe.to_rake(*args, &block)
225
+ exe
226
+ end
227
+