airake 0.1.12 → 0.2.1

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 (35) hide show
  1. data/History.txt +8 -0
  2. data/Manifest.txt +19 -8
  3. data/README.txt +6 -12
  4. data/app_generators/airake/USAGE +2 -2
  5. data/app_generators/airake/airake_generator.rb +25 -15
  6. data/app_generators/airake/templates/README +3 -12
  7. data/app_generators/browsair/USAGE +5 -0
  8. data/app_generators/browsair/browsair_generator.rb +91 -0
  9. data/app_generators/browsair/templates/README +1 -0
  10. data/app_generators/{airake/templates → shared}/Rakefile +6 -8
  11. data/app_generators/shared/application.mxml +25 -0
  12. data/app_generators/{airake/templates → shared}/descriptor.xml +10 -10
  13. data/app_generators/shared/icons/MouseRunnerDotComGraphicsLicense.txt +15 -0
  14. data/app_generators/shared/icons/Web.png +0 -0
  15. data/bin/browsair +12 -0
  16. data/config/hoe.rb +1 -1
  17. data/lib/airake/commands/adl.rb +29 -0
  18. data/lib/airake/commands/adt.rb +58 -0
  19. data/lib/airake/commands/amxmlc.rb +52 -0
  20. data/lib/airake/core_ext/blank.rb +56 -0
  21. data/lib/airake/project.rb +27 -106
  22. data/lib/airake/runner.rb +35 -0
  23. data/lib/airake/tasks/air.rake +62 -8
  24. data/lib/airake/tasks/deployment.rake +0 -3
  25. data/lib/airake/version.rb +2 -2
  26. data/lib/airake.rb +9 -0
  27. data/test/test_airake_generator.rb +5 -6
  28. data/test/test_browsair_generator.rb +49 -0
  29. metadata +26 -12
  30. data/app_generators/airake/templates/application.mxml +0 -6
  31. data/log/debug.log +0 -0
  32. /data/app_generators/{airake/templates → shared}/lib/flexunit-08.30.2007.swc +0 -0
  33. /data/app_generators/{airake/templates → shared}/test/Test-app.xml +0 -0
  34. /data/app_generators/{airake/templates → shared}/test/Test.mxml +0 -0
  35. /data/app_generators/{airake/templates → shared}/test/suite/AllTests.as +0 -0
data/History.txt CHANGED
@@ -1,3 +1,11 @@
1
+ == 0.2.1 2007-10-10
2
+
3
+ * Created browsair generator
4
+ * Fixed air:package task
5
+ * Fixed package icon support; added ASSETS env variable
6
+ * Added air:certificate task
7
+ * Default project is a browsair which points to airake resources page
8
+
1
9
  == 0.1.12 2007-10-08
2
10
 
3
11
  * Updated generator test scaffolding to Beta 2
data/Manifest.txt CHANGED
@@ -7,28 +7,38 @@ Rakefile
7
7
  app_generators/airake/USAGE
8
8
  app_generators/airake/airake_generator.rb
9
9
  app_generators/airake/templates/README
10
- app_generators/airake/templates/Rakefile
11
- app_generators/airake/templates/application.mxml
12
- app_generators/airake/templates/descriptor.xml
13
10
  app_generators/airake/templates/lib/corelib-08.30.2007.swc
14
- app_generators/airake/templates/lib/flexunit-08.30.2007.swc
15
- app_generators/airake/templates/test/Test-app.xml
16
- app_generators/airake/templates/test/Test.mxml
17
- app_generators/airake/templates/test/suite/AllTests.as
11
+ app_generators/browsair/USAGE
12
+ app_generators/browsair/browsair_generator.rb
13
+ app_generators/browsair/templates/README
14
+ app_generators/shared/Rakefile
15
+ app_generators/shared/application.mxml
16
+ app_generators/shared/descriptor.xml
17
+ app_generators/shared/icons/MouseRunnerDotComGraphicsLicense.txt
18
+ app_generators/shared/icons/Web.png
19
+ app_generators/shared/lib/flexunit-08.30.2007.swc
20
+ app_generators/shared/test/Test-app.xml
21
+ app_generators/shared/test/Test.mxml
22
+ app_generators/shared/test/suite/AllTests.as
18
23
  bin/airake
24
+ bin/browsair
19
25
  config/hoe.rb
20
26
  config/requirements.rb
21
27
  lib/airake.rb
28
+ lib/airake/commands/adl.rb
29
+ lib/airake/commands/adt.rb
30
+ lib/airake/commands/amxmlc.rb
31
+ lib/airake/core_ext/blank.rb
22
32
  lib/airake/daemonize.rb
23
33
  lib/airake/fcsh.rb
24
34
  lib/airake/fcshd.rb
25
35
  lib/airake/project.rb
36
+ lib/airake/runner.rb
26
37
  lib/airake/tasks.rb
27
38
  lib/airake/tasks/air.rake
28
39
  lib/airake/tasks/deployment.rake
29
40
  lib/airake/tasks/fcsh.rake
30
41
  lib/airake/version.rb
31
- log/debug.log
32
42
  script/destroy
33
43
  script/generate
34
44
  setup.rb
@@ -37,5 +47,6 @@ tasks/environment.rake
37
47
  tasks/website.rake
38
48
  test/test_airake.rb
39
49
  test/test_airake_generator.rb
50
+ test/test_browsair_generator.rb
40
51
  test/test_generator_helper.rb
41
52
  test/test_helper.rb
data/README.txt CHANGED
@@ -42,16 +42,13 @@ To include adl and adt (from AIR SDK):
42
42
 
43
43
  # Testing
44
44
  rake air:test
45
+
46
+ # Create certificate (Specify ENV["CERTIFICATE"] = "path/to/certificate.pfx")
47
+ rake air:certificate
45
48
 
46
49
  # Package AIR file
47
50
  rake air:package
48
51
 
49
- == Deprecated tasks
50
-
51
- Renamed air:start_fcshd to fcsh:start
52
- Renamed air:stop_fcshd to fcsh:stop
53
- Renamed air:restart_fcshd to fcsh:restart
54
-
55
52
  == Adding other tasks
56
53
 
57
54
  Add tasks to the rakefile, for example:
@@ -68,7 +65,7 @@ This is experimental. In the Rakefile, specify:
68
65
 
69
66
  # Override default settings, this is experimental
70
67
  # cwd = File.expand_path(File.dirname(__FILE__))
71
- #ENV["MXMLC_PATH"] = "mxmlc"
68
+ #ENV["AMXMLC_PATH"] = "mxmlc"
72
69
  #ENV["ADT_PATH"] = "adt"
73
70
  #ENV["BIN_DIR"] = "#{cwd}/bin"
74
71
  #ENV["SRC_DIR"] = "#{cwd}/src"
@@ -77,9 +74,6 @@ This is experimental. In the Rakefile, specify:
77
74
  #ENV["APPXML_PATH"] = "#{cwd}/src/MyProject-app.xml"
78
75
  #ENV["AIR_PATH"] = "#{cwd}/bin/MyProject.air"
79
76
  #ENV["SWF_PATH"] = "#{cwd}/bin/MyProject.swf"
80
- #ENV["MXMLC_EXTRA_OPTS"] = ...
77
+ #ENV["AMXMLC_EXTRA_OPTS"] = ...
81
78
  #ENV["ADL_EXTRA_OPTS"] = ...
82
- #ENV["ADT_EXTRA_OPTS"] = ...
83
- #ENV["MXMLC_COMMAND"] = ...
84
- #ENV["ADL_COMMAND"] = ...
85
- #ENV["ADT_COMMAND"] = ...
79
+ #ENV["ADT_EXTRA_OPTS"] = ...
@@ -1,5 +1,5 @@
1
1
  Description:
2
-
2
+ Creates an AIR project scaffold.
3
3
 
4
4
  Usage:
5
-
5
+ airake [path/to/AppName]
@@ -1,37 +1,48 @@
1
1
  class AirakeGenerator < RubiGen::Base
2
2
 
3
- #default_options :author => nil
4
-
5
- attr_reader :app_name
3
+ attr_reader :app_name, :title, :url, :description
6
4
 
7
5
  def initialize(runtime_args, runtime_options = {})
8
6
  super
9
7
  usage if args.empty? || args.size < 1
10
8
  @destination_root = File.expand_path(args.shift)
11
9
  @app_name = File.basename(@destination_root).camelize
10
+ @title = @app_name
11
+ @url = "http://airake.rubyforge.org/resources.html"
12
+ @description = "Put description here"
12
13
  extract_options
13
14
  end
14
15
 
15
- def manifest
16
+ def manifest
16
17
  record do |m|
17
18
  # Ensure appropriate folder(s) exists
18
19
  m.directory ''
19
20
  BASEDIRS.each { |path| m.directory path }
20
21
 
21
- # Create stubs
22
- m.template "Rakefile", "Rakefile"
23
22
  m.file "README", "README"
24
- m.template "descriptor.xml", "src/#{app_name}-app.xml"
25
- m.template "application.mxml", "src/#{app_name}.mxml"
23
+ m.file "lib/corelib-08.30.2007.swc", "lib/corelib-08.30.2007.swc"
24
+
25
+ # Shared templates
26
+ shared_path = "../../shared"
26
27
 
27
28
  # Lib
28
- m.file "lib/corelib-08.30.2007.swc", "lib/corelib-08.30.2007.swc"
29
- m.file "lib/flexunit-08.30.2007.swc", "lib/flexunit-08.30.2007.swc"
29
+ m.file "#{shared_path}/lib/flexunit-08.30.2007.swc", "lib/flexunit-08.30.2007.swc"
30
30
 
31
31
  # Test
32
- m.file "test/Test-app.xml", "test/Test-app.xml"
33
- m.file "test/Test.mxml", "test/Test.mxml"
34
- m.file "test/suite/AllTests.as", "test/suite/AllTests.as"
32
+ m.file "#{shared_path}/test/Test-app.xml", "test/Test-app.xml"
33
+ m.file "#{shared_path}/test/Test.mxml", "test/Test.mxml"
34
+ m.directory "test/suite"
35
+ m.file "#{shared_path}/test/suite/AllTests.as", "test/suite/AllTests.as"
36
+
37
+ m.template "#{shared_path}/Rakefile", "Rakefile"
38
+ m.template "#{shared_path}/descriptor.xml", "src/#{app_name}-app.xml"
39
+ m.template "#{shared_path}/application.mxml", "src/#{app_name}.mxml"
40
+
41
+ # Icons
42
+ m.directory "src/assets/app_icons"
43
+ m.file "#{shared_path}/icons/Web.png", "src/assets/app_icons/icon_128.png"
44
+ m.file "#{shared_path}/icons/MouseRunnerDotComGraphicsLicense.txt", "src/assets/app_icons/MouseRunnerDotComGraphicsLicense.txt"
45
+
35
46
  end
36
47
  end
37
48
 
@@ -40,7 +51,7 @@ class AirakeGenerator < RubiGen::Base
40
51
  <<-EOS
41
52
  Creates an AIR project scaffold.
42
53
 
43
- USAGE: #{spec.name} path/to/AppName com.company.AppName
54
+ USAGE: #{spec.name} [path/to/AppName]
44
55
  EOS
45
56
  end
46
57
 
@@ -69,6 +80,5 @@ EOS
69
80
  lib
70
81
  src
71
82
  test
72
- test/suite
73
83
  )
74
84
  end
@@ -42,12 +42,6 @@ To include adl and adt (from AIR SDK):
42
42
  # Package AIR file
43
43
  rake air:package
44
44
 
45
- == Deprecated tasks
46
-
47
- Renamed air:start_fcshd to fcsh:start
48
- Renamed air:stop_fcshd to fcsh:stop
49
- Renamed air:restart_fcshd to fcsh:restart
50
-
51
45
  == Adding other tasks
52
46
 
53
47
  Add tasks to the rakefile, for example:
@@ -64,7 +58,7 @@ This is experimental. In the Rakefile, specify:
64
58
 
65
59
  # Override default settings, this is experimental
66
60
  # cwd = File.expand_path(File.dirname(__FILE__))
67
- #ENV["MXMLC_PATH"] = "mxmlc"
61
+ #ENV["AMXMLC_PATH"] = "mxmlc"
68
62
  #ENV["ADT_PATH"] = "adt"
69
63
  #ENV["BIN_DIR"] = "#{cwd}/bin"
70
64
  #ENV["SRC_DIR"] = "#{cwd}/src"
@@ -73,9 +67,6 @@ This is experimental. In the Rakefile, specify:
73
67
  #ENV["APPXML_PATH"] = "#{cwd}/src/MyProject-app.xml"
74
68
  #ENV["AIR_PATH"] = "#{cwd}/bin/MyProject.air"
75
69
  #ENV["SWF_PATH"] = "#{cwd}/bin/MyProject.swf"
76
- #ENV["MXMLC_EXTRA_OPTS"] = ...
70
+ #ENV["AMXMLC_EXTRA_OPTS"] = ...
77
71
  #ENV["ADL_EXTRA_OPTS"] = ...
78
- #ENV["ADT_EXTRA_OPTS"] = ...
79
- #ENV["MXMLC_COMMAND"] = ...
80
- #ENV["ADL_COMMAND"] = ...
81
- #ENV["ADT_COMMAND"] = ...
72
+ #ENV["ADT_EXTRA_OPTS"] = ...
@@ -0,0 +1,5 @@
1
+ Description:
2
+ Create an AIR browser for a specific URL.
3
+
4
+ Usage:
5
+ browsair [name] [http://the.url] [path/to/icon_128.png (optional)]
@@ -0,0 +1,91 @@
1
+ class BrowsairGenerator < RubiGen::Base
2
+
3
+ attr_reader :app_name, :url, :title, :description, :icon_src_path
4
+
5
+ def initialize(runtime_args, runtime_options = {})
6
+ super
7
+ usage if args.empty? || args.size < 2
8
+ @destination_root = File.expand_path(args.shift)
9
+ @app_name = File.basename(@destination_root)
10
+ @url = args.shift
11
+ @title = "#{@app_name} - #{@url}"
12
+ @description = "AIR Browser for #{@url}"
13
+ @icon_src_path = File.expand_path(args.shift) unless args.empty?
14
+ extract_options
15
+ end
16
+
17
+ def manifest
18
+ record do |m|
19
+ # Ensure appropriate folder(s) exists
20
+ m.directory ''
21
+ BASEDIRS.each { |path| m.directory path }
22
+
23
+ m.file "README", "README"
24
+
25
+ # Shared templates
26
+ shared_path = "../../shared"
27
+
28
+ # Lib
29
+ m.file "#{shared_path}/lib/flexunit-08.30.2007.swc", "lib/flexunit-08.30.2007.swc"
30
+
31
+ # Test
32
+ m.file "#{shared_path}/test/Test-app.xml", "test/Test-app.xml"
33
+ m.file "#{shared_path}/test/Test.mxml", "test/Test.mxml"
34
+ m.directory "test/suite"
35
+ m.file "#{shared_path}/test/suite/AllTests.as", "test/suite/AllTests.as"
36
+
37
+ # Basic
38
+ m.template "#{shared_path}/Rakefile", "Rakefile"
39
+ m.template "#{shared_path}/descriptor.xml", "src/#{app_name}-app.xml"
40
+ m.template "#{shared_path}/application.mxml", "src/#{app_name}.mxml"
41
+
42
+ # Icons
43
+ m.directory "src/assets/app_icons"
44
+
45
+ if @icon_src_path.blank?
46
+ m.file "#{shared_path}/icons/Web.png", "src/assets/app_icons/icon_128.png"
47
+ m.file "#{shared_path}/icons/MouseRunnerDotComGraphicsLicense.txt", "src/assets/app_icons/MouseRunnerDotComGraphicsLicense.txt"
48
+ else
49
+ icon_dest_path = destination_path("src/assets/app_icons/icon_128.png")
50
+ FileUtils.cp(icon_src_path, icon_dest_path)
51
+ end
52
+
53
+ end
54
+ end
55
+
56
+ protected
57
+ def banner
58
+ <<-EOS
59
+ Create an AIR browser for a specific URL.
60
+
61
+ USAGE: #{spec.name} [name] [http://the.url] [path/to/icon_128.png (optional)]
62
+ EOS
63
+ end
64
+
65
+ def add_options!(opts)
66
+ opts.separator ''
67
+ opts.separator 'Options:'
68
+ # For each option below, place the default
69
+ # at the top of the file next to "default_options"
70
+ # opts.on("-a", "--author=\"Your Name\"", String,
71
+ # "Some comment about this option",
72
+ # "Default: none") { |options[:author]| }
73
+ opts.on("-v", "--version", "Show the #{File.basename($0)} version number and quit.")
74
+ end
75
+
76
+ def extract_options
77
+ # for each option, extract it into a local variable (and create an "attr_reader :author" at the top)
78
+ # Templates can access these value via the attr_reader-generated methods, but not the
79
+ # raw instance variable value.
80
+ # @author = options[:author]
81
+ end
82
+
83
+ # Installation skeleton. Intermediate directories are automatically
84
+ # created so don't sweat their absence here.
85
+ BASEDIRS = %w(
86
+ bin
87
+ lib
88
+ src
89
+ test
90
+ )
91
+ end
@@ -0,0 +1 @@
1
+ Browser AIR application
@@ -1,17 +1,15 @@
1
1
  require 'rubygems'
2
2
  require 'airake'
3
3
 
4
+ # Specify certificate path
5
+ ENV["CERTIFICATE"] ||= "cert.pfx"
6
+
7
+ # dirname $0
4
8
  ENV["BASE_DIR"] ||= File.expand_path(File.dirname(__FILE__))
5
9
 
6
10
  # MXML options
7
11
  ENV["MXML"] ||= "src/<%= app_name %>.mxml"
8
12
  ENV["MXML_TEST"] ||= "test/Test.mxml"
9
13
 
10
- # For task list run, rake --tasks
11
-
12
- # Uncomment for custom FCSH settings
13
- #ENV["FCSH_IP"] ||= "127.0.0.1"
14
- #ENV["FCSH_PORT"] ||= "20569"
15
-
16
- # For debug
17
- #ENV["DEBUG"] = "true"
14
+ # Assets to package
15
+ ENV["ASSETS"] ||= "src/assets"
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" showStatusBar="false">
3
+
4
+ <mx:VBox width="100%" height="100%" backgroundColor="#FFFFFF">
5
+
6
+ <mx:HBox id="buttons" width="100%" paddingLeft="5" paddingTop="5"
7
+ borderColor="#CCCCCC" borderSides="bottom" borderThickness="2" borderStyle="solid">
8
+
9
+ <mx:Button label="Back" click="html.htmlControl.historyBack()" />
10
+ <mx:Button label="Forward" click="html.htmlControl.historyForward()" />
11
+ <mx:Button label="Home" click="html.location = '<%= url %>'" />
12
+ <!-- <mx:Button label="Cancel" click="html.htmlControl.cancelLoad()" /> -->
13
+ <!-- <mx:Label text="{html.location}" width="100%" /> -->
14
+
15
+ <mx:HBox width="100%" horizontalAlign="right" paddingBottom="5" paddingRight="5">
16
+ <mx:Button label="Hide" click="buttons.height = 0" />
17
+ </mx:HBox>
18
+ </mx:HBox>
19
+
20
+ <mx:VBox width="100%" height="100%" >
21
+ <mx:HTML id="html" width="100%" height="100%" location="<%= url %>" />
22
+ </mx:VBox>
23
+ </mx:VBox>
24
+
25
+ </mx:WindowedApplication>
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <application xmlns="http://ns.adobe.com/air/application/1.0.M5" appId="com.companyName.<%= app_name %>" version="0.0.1">
2
+ <application xmlns="http://ns.adobe.com/air/application/1.0.M5" appId="com.ducktyper.browsair.<%= app_name %>" version="0.0.1">
3
3
 
4
4
  <!--
5
5
  AIR Application Descriptor File:
@@ -34,12 +34,12 @@
34
34
  <!--
35
35
  The title displayed in the AIR application installer.
36
36
  -->
37
- <title/>
37
+ <title><%= title %></title>
38
38
 
39
39
  <!--
40
40
  The description displayed in the AIR application installer.
41
41
  -->
42
- <description>Put description here</description>
42
+ <description><%= description %></description>
43
43
 
44
44
  <!--
45
45
  The application copyright information.
@@ -51,9 +51,9 @@
51
51
  -->
52
52
  <initialWindow>
53
53
  <!--
54
- The title displayed in the AIR application installer.
54
+ The window title.
55
55
  -->
56
- <title></title>
56
+ <title><%= title %></title>
57
57
 
58
58
  <!--
59
59
  The main content file of the application, which must be a SWF or HTML
@@ -118,12 +118,12 @@
118
118
  <!-- <height>500</height> -->
119
119
  <!-- <x>150</x> -->
120
120
  <!-- <y>150</y> -->
121
- <x>100</x>
122
- <y>100</y>
123
- <width>600</width>
124
- <height>400</height>
125
121
  <!-- <minSize>300 300</minSize> -->
126
122
  <!-- <maxSize>800 800</maxSize> -->
123
+ <width>1024</width>
124
+ <height>768</height>
125
+ <x>100</x>
126
+ <y>50</y>
127
127
  </initialWindow>
128
128
 
129
129
  <!--
@@ -154,7 +154,7 @@
154
154
  <!-- <image16x16>icons/AIRApp_16.png</image16x16> -->
155
155
  <!-- <image32x32>icons/AIRApp_32.png</image32x32> -->
156
156
  <!-- <image48x48>icons/AIRApp_48.png</image48x48> -->
157
- <!-- <image128x128>icons/AIRApp_128.png</image128x128> -->
157
+ <image128x128>src/assets/app_icons/icon_128.png</image128x128>
158
158
  </icon>
159
159
 
160
160
  <!--
@@ -0,0 +1,15 @@
1
+ Thanks for downloading ColoCons. While I want you to enjoy these icons for free, I ask that you please abide by the terms that they are licensed under.
2
+ Enjoy and come back to MouseRunner.com for all free content and resources.
3
+
4
+
5
+ The graphics contained in these files are licensed under the Creative Commons Attribution-ShareAlike 2.5 License
6
+
7
+ Furthermore,
8
+ You may not claim the works as your own.
9
+ You must provide a link back to www.MouseRunner.com when using on a website, for commercial purposes, and for applications.
10
+
11
+ Visit the address below to learn more about the Creative Commons license.
12
+ http://creativecommons.org/licenses/by-nc-sa/2.5/legalcode
13
+
14
+
15
+
Binary file
data/bin/browsair ADDED
@@ -0,0 +1,12 @@
1
+ require 'rubygems'
2
+ require 'rubigen'
3
+
4
+ if %w(-v --version).include? ARGV.first
5
+ require 'newgem/version'
6
+ puts "#{File.basename($0)} #{Newgem::VERSION::STRING}"
7
+ exit(0)
8
+ end
9
+
10
+ require 'rubigen/scripts/generate'
11
+ RubiGen::Base.use_application_sources! :airake
12
+ RubiGen::Scripts::Generate.new.run(ARGV, :generator => 'browsair')
data/config/hoe.rb CHANGED
@@ -2,7 +2,7 @@ require 'airake/version'
2
2
 
3
3
  AUTHOR = 'Gabriel Handford, Min Kim'
4
4
  EMAIL = "gabrielh@gmail.com"
5
- DESCRIPTION = "Adobe AIR tasks"
5
+ DESCRIPTION = "Adobe AIR generators and tasks"
6
6
  GEM_NAME = 'airake'
7
7
  RUBYFORGE_PROJECT = 'airake' # The unix name for your project
8
8
  HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
@@ -0,0 +1,29 @@
1
+ module Airake
2
+
3
+ module Commands
4
+
5
+ class Adl
6
+
7
+ attr_reader :project, :path, :extra_opts
8
+
9
+ def initialize(project, options = {})
10
+ @project = project
11
+ @path = options[:adl_path] || "adl"
12
+ @extra_opts = options[:adl_extra_opts]
13
+ end
14
+
15
+ # Get the ADL command
16
+ def launch
17
+ command = []
18
+ command << @path
19
+ command << @extra_opts
20
+ command << project.appxml_path
21
+ command << project.base_dir
22
+ command.compact.join(" ")
23
+ end
24
+
25
+ end
26
+
27
+ end
28
+
29
+ end
@@ -0,0 +1,58 @@
1
+ module Airake
2
+
3
+ module Commands
4
+
5
+ class Adt
6
+
7
+ attr_reader :project, :path, :certificate, :extra_opts, :assets
8
+
9
+ def initialize(project, options = {})
10
+ @project = project
11
+ @path = options[:adt_path] || "adt"
12
+ @certificate = options[:certificate]
13
+ @extra_opts = options[:adt_extra_opts]
14
+ @assets = options[:assets]
15
+ end
16
+
17
+ # Get the ADT command
18
+ def package
19
+ command = []
20
+ command << @path
21
+ command << @extra_opts
22
+ command << "-package"
23
+ command << "-certificate #{@certificate}"
24
+ command << project.relative_path(project.air_path)
25
+ command << project.relative_path(project.appxml_path)
26
+ command << project.relative_path(project.swf_path)
27
+ command << @assets
28
+ command.compact.join(" ")
29
+ end
30
+
31
+ # Generate a certificate
32
+ #
33
+ # cn:: Common name
34
+ # pfx_file:: Output certificate path
35
+ # key_type:: 1024-RSA, 2048-RSA
36
+ # password:: Password
37
+ # optionals:: :ou, :o, :c
38
+ #
39
+ # Example result: adt -certificate -cn ADigitalID 1024-RSA SigningCert.pfx 39#wnetx3tl
40
+ def certificate(cn, pfx_file, key_type, password, optionals = {})
41
+ command = []
42
+ command << @path
43
+ command << "-certificate"
44
+ command << "-cn #{cn}"
45
+ command << "-ou #{optionals[:ou]}" if !optionals[:ou].blank?
46
+ command << "-o #{optionals[:o]}" if !optionals[:o].blank?
47
+ command << "-c #{optionals[:c]}" if !optionals[:c].blank?
48
+ command << key_type
49
+ command << pfx_file
50
+ command << password
51
+ command.compact.join(" ")
52
+ end
53
+
54
+ end
55
+
56
+ end
57
+
58
+ end
@@ -0,0 +1,52 @@
1
+ module Airake
2
+
3
+ module Commands
4
+
5
+ class Amxmlc
6
+
7
+ attr_reader :project, :path, :extra_opts
8
+
9
+ def initialize(project, options = {})
10
+ @project = project
11
+ @path = options[:amxmlc_path] || "amxmlc"
12
+ @extra_opts = options[:amxmlc_extra_opts]
13
+ end
14
+
15
+ # Get the amxmlc command
16
+ def compile
17
+ command = []
18
+ command << @path
19
+ #command << "+configname=air"
20
+ command << source_path_option
21
+ command << library_path_option
22
+ command << "-output #{project.swf_path}"
23
+ command << project.debug_option
24
+ command << @extra_opts
25
+ command << "-disable-incremental-optimizations=true"
26
+ command << "-- #{project.mxml_path}"
27
+ command.compact.join(" ")
28
+ end
29
+
30
+ protected
31
+
32
+ def source_path_option
33
+ # List of directories in lib/ for source_path +=
34
+ lib_source_paths = Dir["#{project.lib_dir}/*"].collect { |f| f if File.directory?(f) }.compact
35
+ lib_source_paths << project.test_dir if File.directory?(project.test_dir)
36
+ lib_source_paths << project.src_dir if File.directory?(project.src_dir)
37
+
38
+ source_paths ||= lib_source_paths
39
+ source_paths.empty? ? "" : "-source-path #{source_paths.join(" ")}"
40
+ end
41
+
42
+ def library_path_option
43
+ library_paths = []
44
+ library_paths << project.lib_dir if File.directory?(project.lib_dir)
45
+ library_paths.empty? ? "" : "-library-path+=#{library_paths.join(" ")}"
46
+ end
47
+
48
+ end
49
+
50
+ end
51
+
52
+ end
@@ -0,0 +1,56 @@
1
+ class Object
2
+ # An object is blank if it's nil, empty, or a whitespace string.
3
+ # For example, "", " ", nil, [], and {} are blank.
4
+ #
5
+ # This simplifies
6
+ # if !address.nil? && !address.empty?
7
+ # to
8
+ # if !address.blank?
9
+ def blank?
10
+ if respond_to?(:empty?) && respond_to?(:strip)
11
+ empty? or strip.empty?
12
+ elsif respond_to?(:empty?)
13
+ empty?
14
+ else
15
+ !self
16
+ end
17
+ end
18
+ end
19
+
20
+ class NilClass #:nodoc:
21
+ def blank?
22
+ true
23
+ end
24
+ end
25
+
26
+ class FalseClass #:nodoc:
27
+ def blank?
28
+ true
29
+ end
30
+ end
31
+
32
+ class TrueClass #:nodoc:
33
+ def blank?
34
+ false
35
+ end
36
+ end
37
+
38
+ class Array #:nodoc:
39
+ alias_method :blank?, :empty?
40
+ end
41
+
42
+ class Hash #:nodoc:
43
+ alias_method :blank?, :empty?
44
+ end
45
+
46
+ class String #:nodoc:
47
+ def blank?
48
+ empty? || strip.empty?
49
+ end
50
+ end
51
+
52
+ class Numeric #:nodoc:
53
+ def blank?
54
+ false
55
+ end
56
+ end
@@ -8,13 +8,12 @@ module Airake
8
8
  attr_reader :base_dir, :bin_dir, :src_dir, :lib_dir, :test_dir
9
9
  attr_reader :mxml_path, :appxml_path, :air_path, :swf_path
10
10
  attr_reader :debug
11
+ attr_reader :options
12
+ attr_reader :assets
11
13
 
12
- attr_reader :mxmlc_path, :adt_path, :adl_path
13
- attr_reader :mxmlc_command, :adt_command, :adl_command, :mxmlc_extra_opts
14
-
15
- Options = [ :mxmlc_path, :adt_path, :bin_dir, :src_dir, :lib_dir, :test_dir,
16
- :appxml_path, :air_path, :swf_path, :debug, :mxmlc_command, :adt_command,
17
- :adl_command, :mxmlc_extra_opts, :adl_extra_opts, :adt_extra_opts ]
14
+ # Options to override defaults
15
+ Options = [ :certificate, :assets, :amxmlc_path, :adt_path, :adt_path, :bin_dir, :src_dir, :lib_dir, :test_dir,
16
+ :appxml_path, :air_path, :swf_path, :debug, :amxmlc_extra_opts, :adl_extra_opts, :adt_extra_opts ]
18
17
 
19
18
  # Construct project
20
19
  #
@@ -24,50 +23,42 @@ module Airake
24
23
  def initialize(base_dir, mxml_path, options = {})
25
24
  @base_dir = base_dir
26
25
  @mxml_path = mxml_path
26
+ @options = options
27
27
 
28
- @mxmlc_path = options[:mxmlc_path] || "mxmlc"
29
- @adt_path = options[:adt_path] || "adt"
30
- @adl_path = options[:adl] || "adl"
31
-
28
+ raise ArgumentError, "Invalid MXML path: #{mxml_path}" if mxml_path.blank?
29
+
32
30
  @bin_dir = options[:bin_dir] || File.join(base_dir, "bin")
33
31
  @src_dir = options[:src_dir] || File.join(base_dir, "src")
34
32
  @lib_dir = options[:lib_dir] || File.join(base_dir, "lib")
35
33
  @test_dir = options[:test_dir] || File.join(base_dir, "test")
36
-
34
+
37
35
  @project_name = File.basename(@mxml_path, ".mxml")
38
- mxml_dir = File.expand_path(File.dirname(@mxml_path))
36
+ mxml_dir = File.expand_path(File.dirname(@mxml_path))
39
37
  @appxml_path = options[:appxml_path] || File.join(mxml_dir, "#{project_name}-app.xml")
40
-
38
+
41
39
  # Dest package files
42
40
  @air_path = options[:air_path] || File.join(@bin_dir, "#{project_name}.air")
43
41
  @swf_path = options[:swf_path] || File.join(@bin_dir, "#{project_name}.swf")
44
42
 
45
- @debug = options[:debug].is_a?(TrueClass) || options[:debug] == "true"
46
-
47
- @mxmlc_extra_opts = options[:mxmlc_extra_opts]
48
- @adl_extra_opts = options[:adl_extra_opts]
49
- @adt_extra_opts = options[:adt_extra_opts]
50
-
51
- @mxmlc_command = options[:mxmlc_command] || load_mxmlc_command
52
- @adt_command = options[:adt_command] || load_adt_command
53
- @adl_command = options[:adl_command] || load_adl_command
43
+ # Debug options
44
+ @debug = options[:debug].is_a?(TrueClass) || options[:debug] == "true"
54
45
  end
55
46
 
56
- # Run the Adobe Developer Tool
57
- def run_adt
58
- run(adt_command)
47
+ # Flex compiler command
48
+ def amxmlc
49
+ Airake::Commands::Amxmlc.new(self, @options)
59
50
  end
60
-
61
- # Run the Flex compiler
62
- def run_mxmlc
63
- run(mxmlc_command)
64
- end
65
-
66
- # Run the Adobe Debug Launcher
67
- def run_adl
68
- run(adl_command)
51
+
52
+ # ADL command
53
+ def adl
54
+ Airake::Commands::Adl.new(self, @options)
69
55
  end
70
56
 
57
+ # ADT command
58
+ def adt
59
+ Airake::Commands::Adt.new(self, @options)
60
+ end
61
+
71
62
  # Create project using parameters from rake ENV
72
63
  #
73
64
  # You can set any of the options via ENV; just upcase it. <tt>:foo_bar => ENV["FOO_BAR"]</tt>
@@ -83,58 +74,10 @@ module Airake
83
74
  env_key = option_key.to_s.upcase
84
75
  options[option_key] = env[env_key] if env.has_key?(env_key)
85
76
  end
86
- puts "Using options: #{options.inspect}" unless options.empty?
77
+ #puts "Using options: #{options.inspect}" unless options.empty?
87
78
  self.new(base_dir, mxml, options)
88
79
  end
89
80
 
90
- protected
91
-
92
- # Get the mxmlc command
93
- def load_mxmlc_command
94
- command = []
95
- command << @mxmlc_path
96
- command << "+configname=air"
97
- command << source_path_option
98
- command << "-library-path+=#{@lib_dir}"
99
- command << "-output #{@swf_path}"
100
- command << debug_option
101
- command << @mxmlc_extra_opts
102
- command << "-disable-incremental-optimizations=true"
103
- command << "-- #{@mxml_path}"
104
- command.compact.join(" ")
105
- end
106
-
107
- # Get the ADT command
108
- def load_adt_command
109
- command = []
110
- command << @adt_path
111
- command << @adt_extra_opts
112
- command << "-package #{relative_path(@air_path)}"
113
- command << relative_path(@appxml_path)
114
- command << relative_path(@swf_path)
115
- command.compact.join(" ")
116
- end
117
-
118
- # Get the ADL command
119
- def load_adl_command
120
- command = []
121
- command << @adl_path
122
- command << @adl_extra_opts
123
- command << @appxml_path
124
- command << @base_dir
125
- command.compact.join(" ")
126
- end
127
-
128
- # List of directories in lib/ for source_path +=
129
- def lib_source_paths
130
- Dir["#{@lib_dir}/*"].collect { |f| f if File.directory?(f) }.compact + [ @test_dir, @src_dir ]
131
- end
132
-
133
- def source_path_option
134
- @source_paths ||= lib_source_paths
135
- @source_paths.empty? ? "" : "-source-path #{@source_paths.join(" ")}"
136
- end
137
-
138
81
  def debug_option
139
82
  "-debug=#{@debug}" if @debug
140
83
  end
@@ -144,28 +87,6 @@ module Airake
144
87
  Pathname.new(path).relative_path_from(Pathname.new(@base_dir))
145
88
  end
146
89
 
147
- # Handle system command failure
148
- def fail(cmd, error_status)
149
- fail_message = <<-EOS
150
-
151
- The '#{cmd.split.first}' command failed to run. This could be because this executable isn't in the path.
152
-
153
- To include mxmlc and fcsh:
154
- export PATH="/path_to/flex3sdk_b2_100107/bin:$PATH"
155
-
156
- To include adl and adt (from AIR SDK):
157
- export PATH="/path_to/air_sdk/bin:$PATH"
158
-
159
- EOS
160
- #puts fail_message if error_status != 256 && error_status != 4096
161
- raise "[#{error_status}] Failed to run command: #{cmd}"
162
- end
163
-
164
- # Run the (system) command
165
- def run(cmd)
166
- puts "Running: #{cmd}"
167
- system cmd or fail(cmd, $?)
168
- end
169
-
170
90
  end
91
+
171
92
  end
@@ -0,0 +1,35 @@
1
+ module Airake
2
+
3
+ class Runner
4
+
5
+ class << self
6
+ # Handle system command failure
7
+ def fail(cmd, error_status)
8
+ # fail_message = <<-EOS
9
+ #
10
+ # The '#{cmd.split.first}' command failed to run. This could be because this executable isn't in the path.
11
+ #
12
+ # To include mxmlc and fcsh:
13
+ # export PATH="/path_to/flex3sdk_b2_100107/bin:$PATH"
14
+ #
15
+ # To include adl and adt (from AIR SDK):
16
+ # export PATH="/path_to/air_sdk/bin:$PATH"
17
+ #
18
+ # EOS
19
+ # puts fail_message if error_status != 256 && error_status != 4096
20
+ raise "[#{error_status}] Failed to run command: #{cmd}"
21
+ end
22
+
23
+ # Run the command using system(..)
24
+ def run(command, method, *args)
25
+ cmd = command.send(method, *args)
26
+
27
+ puts "Running: #{cmd}"
28
+ system cmd or fail(cmd, $?)
29
+ end
30
+
31
+ end
32
+
33
+ end
34
+
35
+ end
@@ -5,10 +5,10 @@ namespace :air do
5
5
  begin
6
6
  project = Airake::Project.new_from_rake(ENV)
7
7
  fcsh = PatternPark::FCSH.new_from_rake(ENV)
8
- fcsh.execute([ project.base_dir, project.mxmlc_command ])
8
+ fcsh.execute([ project.base_dir, project.amxmlc.compile ])
9
9
  rescue PatternPark::FCSHConnectError => e
10
10
  puts "Cannot connect to FCSHD (start by running: rake fcsh:start); Continuing compilation..."
11
- project.run_mxmlc
11
+ Airake::Runner.run(project.amxmlc, :compile)
12
12
  end
13
13
  end
14
14
 
@@ -16,24 +16,78 @@ namespace :air do
16
16
  task :test do
17
17
  ENV["DEBUG"] = "true" unless ENV.has_key?("DEBUG")
18
18
  test_project = Airake::Project.new_from_rake(ENV, true)
19
- test_project.run_mxmlc
20
- test_project.run_adl
19
+ Airake::Runner.run(test_project.amxmlc, :compile)
20
+ Airake::Runner.run(test_project.adl, :launch)
21
+ end
22
+
23
+ desc "Generate certificate"
24
+ task :certificate do
25
+ pfx_file = ENV["CERTIFICATE"]
26
+
27
+ if pfx_file.blank? || pfx_file == "path/to/certificate.pfx"
28
+ print "Certificate file (to create; e.g. cert.pfx): "
29
+ pfx_file = STDIN.gets.chomp!
30
+ end
31
+
32
+ if File.exist?(pfx_file)
33
+ raise "Certificate file exists at '#{pfx_file}'. If you want to generate a new certificate, please delete it first."
34
+ end
35
+
36
+ puts "Will generate a certificate file at: #{pfx_file}"
37
+
38
+ project = Airake::Project.new_from_rake(ENV)
39
+ optionals = {}
40
+
41
+ print "Specify common name (e.g. SelfSign, ADigitalID): "
42
+ cn = STDIN.gets.chomp!
43
+
44
+ print "Key type (e.g. 1024-RSA, 2048-RSA): "
45
+ key_type = STDIN.gets.chomp!
46
+
47
+ print "Org unit (optional; e.g QE): "
48
+ optionals[:ou] = STDIN.gets.chomp!
49
+
50
+ print "Org name (optional; e.g Example - CO): "
51
+ input = STDIN.gets.chomp!
52
+ optionals[:o] = "\"#{input}\"" unless input.blank?
53
+
54
+ print "Country (optional; e.g. US): "
55
+ optionals[:c] = STDIN.gets.chomp!
56
+
57
+ print "Password: "
58
+ password = STDIN.gets.chomp!
59
+
60
+ Airake::Runner.run(project.adt, :certificate, cn, pfx_file, key_type, password, optionals)
61
+ end
62
+
63
+ # Check certificate configuration for package task
64
+ task :check_certificate do
65
+ pfx_file = ENV["CERTIFICATE"]
66
+
67
+ if pfx_file.blank? || pfx_file == "path/to/certificate.pfx"
68
+ raise <<-EOS
69
+ No certificate path found (or not set). Please specify ENV[\"CERTIFICATE\"] = \"path/to/certificate.pfx\" in Rakefile.
70
+ If you don't have a certificate run rake air:certificate to generate one.
71
+ EOS
72
+ end
73
+
74
+ raise "Certificate does not exist yet. Run rake air:certificate to generate one at #{pfx_file}" unless File.exist?(pfx_file)
21
75
  end
22
76
 
23
77
  desc "Package"
24
- task :package => :compile do
78
+ task :package => [ :check_certificate, :compile ] do
25
79
  project = Airake::Project.new_from_rake(ENV)
26
- project.run_adt
80
+ Airake::Runner.run(project.adt, :package)
27
81
  end
28
82
 
29
83
  task :set_debug do
30
84
  ENV["DEBUG"] = "true" unless ENV.has_key?("DEBUG")
31
85
  end
32
86
 
33
- desc "Apollo Debug Luncher"
87
+ desc "Launch ADL"
34
88
  task :adl => [ :set_debug, :compile ] do
35
89
  project = Airake::Project.new_from_rake(ENV)
36
- project.run_adl
90
+ Airake::Runner.run(project.adl, :launch)
37
91
  end
38
92
 
39
93
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  namespace :air do
4
4
 
5
- desc "Start the FCSHD process (DEPRECATED)"
6
5
  task :start_fcshd do
7
6
  puts "Starting FCSHD..."
8
7
  PatternPark::FCSHD.start_from_rake(ENV)
@@ -10,7 +9,6 @@ namespace :air do
10
9
 
11
10
  task :fcshd => :start_fcshd # Alias
12
11
 
13
- desc "Stop the FCSHD process (DEPRECATED)"
14
12
  task :stop_fcshd do
15
13
  begin
16
14
  fcsh = PatternPark::FCSH.new_from_rake(ENV)
@@ -20,7 +18,6 @@ namespace :air do
20
18
  end
21
19
  end
22
20
 
23
- desc "Restart the FCSHD process (DEPRECATED)"
24
21
  task :restart_fcshd => [ :stop_fcshd, :sleep, :start_fcshd ]
25
22
 
26
23
  task :sleep do
@@ -1,8 +1,8 @@
1
1
  module Airake #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
- MINOR = 1
5
- TINY = 12
4
+ MINOR = 2
5
+ TINY = 1
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
data/lib/airake.rb CHANGED
@@ -3,10 +3,19 @@ $:.unshift File.dirname(__FILE__)
3
3
  require 'airake/daemonize'
4
4
  require 'airake/fcsh'
5
5
  require 'airake/fcshd'
6
+ require 'airake/commands/amxmlc'
7
+ require 'airake/commands/adl'
8
+ require 'airake/commands/adt'
6
9
  require 'airake/project'
10
+ require 'airake/runner'
7
11
  require 'rake'
8
12
  require 'airake/tasks'
9
13
 
14
+ unless Object.respond_to?(:blank?)
15
+ require 'airake/core_ext/blank'
16
+ end
17
+
18
+
10
19
  module Airake
11
20
 
12
21
  end
@@ -3,12 +3,11 @@ require File.join(File.dirname(__FILE__), "test_generator_helper.rb")
3
3
  class TestAirakeGenerator < Test::Unit::TestCase
4
4
  include RubiGen::GeneratorTestHelper
5
5
 
6
- attr_reader :app_name, :app_id
6
+ attr_reader :app_name
7
7
 
8
8
  def setup
9
9
  bare_setup
10
10
  @app_name = "foo"
11
- @app_id = "com.foo.Bar"
12
11
  end
13
12
 
14
13
  def teardown
@@ -30,7 +29,7 @@ class TestAirakeGenerator < Test::Unit::TestCase
30
29
  # bare_teardown - place this in teardown method to destroy the TMP_ROOT or APP_ROOT folder after each test
31
30
 
32
31
  def test_generator_with_options
33
- run_generator('airake', [APP_ROOT, "com.foo.MyProject"], sources)
32
+ run_generator('airake', [APP_ROOT], sources)
34
33
  assert_generated_file "Rakefile"
35
34
  assert_generated_file "README"
36
35
  assert_directory_exists "bin"
@@ -39,10 +38,10 @@ class TestAirakeGenerator < Test::Unit::TestCase
39
38
  assert_directory_exists "test"
40
39
  end
41
40
 
42
- private
41
+ private
42
+
43
43
  def sources
44
- [RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", generator_path))
45
- ]
44
+ [ RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", generator_path)) ]
46
45
  end
47
46
 
48
47
  def generator_path
@@ -0,0 +1,49 @@
1
+ require File.join(File.dirname(__FILE__), "test_generator_helper.rb")
2
+
3
+ class TestBrowsairGenerator < Test::Unit::TestCase
4
+ include RubiGen::GeneratorTestHelper
5
+
6
+ attr_reader :app_name, :url
7
+
8
+ def setup
9
+ bare_setup
10
+ @app_name = "GReader"
11
+ @url = "http://reader.google.com"
12
+ end
13
+
14
+ def teardown
15
+ bare_teardown
16
+ end
17
+
18
+ # Some generator-related assertions:
19
+ # assert_generated_file(name, &block) # block passed the file contents
20
+ # assert_directory_exists(name)
21
+ # assert_generated_class(name, &block)
22
+ # assert_generated_module(name, &block)
23
+ # assert_generated_test_for(name, &block)
24
+ # The assert_generated_(class|module|test_for) &block is passed the body of the class/module within the file
25
+ # assert_has_method(body, *methods) # check that the body has a list of methods (methods with parentheses not supported yet)
26
+ #
27
+ # Other helper methods are:
28
+ # app_root_files - put this in teardown to show files generated by the test method (e.g. p app_root_files)
29
+ # bare_setup - place this in setup method to create the APP_ROOT folder for each test
30
+ # bare_teardown - place this in teardown method to destroy the TMP_ROOT or APP_ROOT folder after each test
31
+
32
+ def test_generator_with_options
33
+ run_generator('browsair', [ APP_ROOT, @url ], sources)
34
+ assert_generated_file "Rakefile"
35
+ assert_generated_file "README"
36
+ assert_directory_exists "bin"
37
+ assert_directory_exists "src"
38
+ end
39
+
40
+ private
41
+
42
+ def sources
43
+ [ RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", generator_path)) ]
44
+ end
45
+
46
+ def generator_path
47
+ "app_generators"
48
+ end
49
+ end
metadata CHANGED
@@ -3,15 +3,15 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: airake
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.12
7
- date: 2007-10-08 00:00:00 -04:00
8
- summary: Adobe AIR tasks
6
+ version: 0.2.1
7
+ date: 2007-10-11 00:00:00 -04:00
8
+ summary: Adobe AIR generators and tasks
9
9
  require_paths:
10
10
  - lib
11
11
  email: gabrielh@gmail.com
12
12
  homepage: http://airake.rubyforge.org
13
13
  rubyforge_project: airake
14
- description: Adobe AIR tasks
14
+ description: Adobe AIR generators and tasks
15
15
  autorequire:
16
16
  default_executable:
17
17
  bindir: bin
@@ -38,28 +38,38 @@ files:
38
38
  - app_generators/airake/USAGE
39
39
  - app_generators/airake/airake_generator.rb
40
40
  - app_generators/airake/templates/README
41
- - app_generators/airake/templates/Rakefile
42
- - app_generators/airake/templates/application.mxml
43
- - app_generators/airake/templates/descriptor.xml
44
41
  - app_generators/airake/templates/lib/corelib-08.30.2007.swc
45
- - app_generators/airake/templates/lib/flexunit-08.30.2007.swc
46
- - app_generators/airake/templates/test/Test-app.xml
47
- - app_generators/airake/templates/test/Test.mxml
48
- - app_generators/airake/templates/test/suite/AllTests.as
42
+ - app_generators/browsair/USAGE
43
+ - app_generators/browsair/browsair_generator.rb
44
+ - app_generators/browsair/templates/README
45
+ - app_generators/shared/Rakefile
46
+ - app_generators/shared/application.mxml
47
+ - app_generators/shared/descriptor.xml
48
+ - app_generators/shared/icons/MouseRunnerDotComGraphicsLicense.txt
49
+ - app_generators/shared/icons/Web.png
50
+ - app_generators/shared/lib/flexunit-08.30.2007.swc
51
+ - app_generators/shared/test/Test-app.xml
52
+ - app_generators/shared/test/Test.mxml
53
+ - app_generators/shared/test/suite/AllTests.as
49
54
  - bin/airake
55
+ - bin/browsair
50
56
  - config/hoe.rb
51
57
  - config/requirements.rb
52
58
  - lib/airake.rb
59
+ - lib/airake/commands/adl.rb
60
+ - lib/airake/commands/adt.rb
61
+ - lib/airake/commands/amxmlc.rb
62
+ - lib/airake/core_ext/blank.rb
53
63
  - lib/airake/daemonize.rb
54
64
  - lib/airake/fcsh.rb
55
65
  - lib/airake/fcshd.rb
56
66
  - lib/airake/project.rb
67
+ - lib/airake/runner.rb
57
68
  - lib/airake/tasks.rb
58
69
  - lib/airake/tasks/air.rake
59
70
  - lib/airake/tasks/deployment.rake
60
71
  - lib/airake/tasks/fcsh.rake
61
72
  - lib/airake/version.rb
62
- - log/debug.log
63
73
  - script/destroy
64
74
  - script/generate
65
75
  - setup.rb
@@ -68,11 +78,13 @@ files:
68
78
  - tasks/website.rake
69
79
  - test/test_airake.rb
70
80
  - test/test_airake_generator.rb
81
+ - test/test_browsair_generator.rb
71
82
  - test/test_generator_helper.rb
72
83
  - test/test_helper.rb
73
84
  test_files:
74
85
  - test/test_airake.rb
75
86
  - test/test_airake_generator.rb
87
+ - test/test_browsair_generator.rb
76
88
  - test/test_generator_helper.rb
77
89
  - test/test_helper.rb
78
90
  rdoc_options:
@@ -84,8 +96,10 @@ extra_rdoc_files:
84
96
  - Manifest.txt
85
97
  - Notes.txt
86
98
  - README.txt
99
+ - app_generators/shared/icons/MouseRunnerDotComGraphicsLicense.txt
87
100
  executables:
88
101
  - airake
102
+ - browsair
89
103
  extensions: []
90
104
 
91
105
  requirements: []
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" title="<%= app_name %>">
3
-
4
- <mx:Label text="Hi"/>
5
-
6
- </mx:WindowedApplication>
data/log/debug.log DELETED
File without changes