airake 0.4.1 → 0.4.2

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,43 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html>
4
+ <head>
5
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
6
+ <title>Airake - Rake tasks for Adobe AIR</title>
7
+ <link rel="stylesheet" href="screen.css" type="text/css" media="screen"/>
8
+ </head>
9
+ <body>
10
+ <div id="page">
11
+ <div id="content">
12
+ <div id="header">
13
+ <h1>Component generators</h1>
14
+ <p><a href="/">Home</a> | <a href="rdoc/">RDOC</a> | <a href="http://ducktyper.com">Blog</a></p>
15
+ </div>
16
+
17
+ <div class="section">
18
+ <h1></h1>
19
+
20
+ <pre>
21
+ Description:
22
+
23
+ Creates an actionscript class at a src path.
24
+
25
+ Usage:
26
+
27
+ ./script/generate class com.foo.Bar [path/to/src (optional)]
28
+ </pre>
29
+
30
+ </div>
31
+ </div>
32
+
33
+ <div id="footer">&nbsp;</div>
34
+ </div>
35
+
36
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
37
+ </script>
38
+ <script type="text/javascript">
39
+ _uacct = "UA-1286493-4";
40
+ urchinTracker();
41
+ </script>
42
+ </body>
43
+ </html>
@@ -0,0 +1 @@
1
+ scp * gabe@rubyforge.org:/var/www/gforge-projects/airake/
data/html/index.html ADDED
@@ -0,0 +1,130 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html>
4
+ <head>
5
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
6
+ <title>Airake - Rake tasks for Adobe AIR</title>
7
+ <link rel="stylesheet" href="screen.css" type="text/css" media="screen"/>
8
+ </head>
9
+ <body>
10
+ <div id="page">
11
+ <div id="content">
12
+ <div id="header">
13
+ <h1>Airake</h1>
14
+ <h2>Rake tasks and generators for Adobe AIR apps.</h2>
15
+ <p><a href="http://rubyforge.org/projects/airake/">RubyForge project</a> |
16
+ <a href="resources.html">Resources</a> | <a href="rdoc/">RDOC</a> |
17
+ <a href="http://groups.google.com/group/airake">Group</a> |
18
+ <a href="http://ducktyper.com">Blog</a>
19
+ </p><p><strong>View:</strong>
20
+ <a href="/tasks.html">Tasks</a> | <a href="/app_generators.html">App generators</a> |
21
+ <a href="/component_generators.html">Component generators</a>
22
+ </p>
23
+ </div>
24
+
25
+ <div class="section">
26
+ <h1>What you need first</h1>
27
+ <h2>If you didn't already have it</h2>
28
+
29
+ <ol>
30
+ <li>
31
+ <h2>Install
32
+ <a href="http://www.ruby-lang.org/en/downloads/">ruby</a>,
33
+ <a href="http://www.rubygems.org/read/chapter/3">rubygems</a> and
34
+ <a href="http://docs.rubyrake.org/read/chapter/6">rake</a></h2>
35
+ <p>Or use the <a href="http://rubyosx.rubyforge.org/">one-click installer</a> (MacOSX)</p>
36
+ </li>
37
+
38
+ <li>
39
+ <h2>Get <a href="http://labs.adobe.com/downloads/airsdk.html">AIR SDK</a></h2>
40
+ <p>This gives you command line tools, including:
41
+ <a href="http://livedocs.adobe.com/labs/air/1/devappsflex/help.html?content=CommandLineTools_4.html">adl</a>
42
+ and <a href="http://livedocs.adobe.com/labs/air/1/devappsflex/help.html?content=SDKHelloWorld_6.html#1028523">adt</a>.
43
+ </p>
44
+ </li>
45
+
46
+ <li>
47
+ <h2>Get <a href="http://labs.adobe.com/technologies/flex/sdk/flex3sdk.html">Flex 3 Beta SDK</a></h2>
48
+ <p>This gives you command line tools, including:
49
+ <a href="http://livedocs.adobe.com/flex/201/html/compilers_123_11.html#149503">mxmlc</a> and
50
+ <a href="http://labs.adobe.com/wiki/index.php/Flex_Compiler_Shell">fcsh</a>.</p>
51
+ </li>
52
+
53
+ <li>
54
+ <h2>Install airake (for Mac):</h2>
55
+ <pre>sudo gem install airake</pre>
56
+ <p>While you're in the Terminal, include the AIR SDK and Flex SDK bin directories to your path:</p>
57
+ <pre>export PATH="/path/to/air_sdk/bin:$PATH"
58
+ export PATH="/path/to/flex_sdk_3/bin:$PATH"</pre>
59
+ </li>
60
+
61
+ <li>
62
+ <h2>Install airake (for Windows):</h2>
63
+ <pre>gem install airake</pre>
64
+ <p>Add <tt>c:\path\to\air_sdk\bin</tt> and <tt>c:\path\to\flex_sdk\bin</tt> to your Control Panel, Enviroment Variables, Path</p>
65
+ <p>Flex compiler requires a JRE (install <a href="http://www.java.com">java</a> if you don't have it)</a>
66
+ </li>
67
+
68
+ <li>
69
+ <h2>Install the <a href="http://labs.adobe.com/downloads/air.html">AIR runtime</a></h2>
70
+ </li>
71
+
72
+ </ol>
73
+ </div>
74
+
75
+ <div class="section">
76
+ <h1>Getting started</h1>
77
+
78
+ <ol>
79
+ <li>
80
+ <h2>Create your AIR project:</h2>
81
+ <pre>airake MyProject</pre>
82
+
83
+ <p>A new project is created. </p>
84
+ </li>
85
+
86
+ <li>
87
+ <h2>Run it:</h2>
88
+ <pre>rake adl</pre>
89
+ <p>For faster compiling using the Flex Compiler Shell (FCSH), start (or stop/restart) the FCSH daemon:</p>
90
+ <pre>rake fcsh:start
91
+ rake fcsh:stop
92
+ rake fcsh:restart</pre>
93
+ </li>
94
+
95
+ <li>
96
+ <h2>Test it:</h2>
97
+ <pre>rake test</pre>
98
+ <p>It uses <a href="http://code.google.com/p/as3flexunitlib/">FlexUnit</a>.</p>
99
+ </li>
100
+
101
+ <li>
102
+ <h2>Package it:</h2>
103
+ <pre>rake package</pre>
104
+ <p>Look for MyProject.air in the project bin directory.</p>
105
+ <p>If you need to create a certificate, run:</p>
106
+ <pre>rake certificate</pre>
107
+ </li>
108
+ </ol>
109
+ </div>
110
+
111
+ <div class="section">
112
+ <h1>Learn more</h1>
113
+ <p>Go to the <a href="resources.html">resources</a> page</p>
114
+ </div>
115
+
116
+ </div>
117
+
118
+ <div id="footer"><p><a href="mailto:gabrielh@gmail.com">gabrielh@gmail.com</a> | <a href="http://ducktyper.com">duck_typer</a></p>
119
+ <p>Portions of this work are derived from <a href="http://code.google.com/p/projectsprouts/">Sprouts</a>, you should check them out!</p></div>
120
+ </div>
121
+
122
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
123
+ </script>
124
+ <script type="text/javascript">
125
+ _uacct = "UA-1286493-4";
126
+ urchinTracker();
127
+ </script>
128
+
129
+ </body>
130
+ </html>
@@ -0,0 +1,51 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html>
4
+ <head>
5
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
6
+ <title>Airake - Rake tasks for Adobe AIR</title>
7
+ <link rel="stylesheet" href="screen.css" type="text/css" media="screen"/>
8
+ </head>
9
+ <body>
10
+ <div id="page">
11
+ <div id="content">
12
+ <div id="header">
13
+ <h1>Airake</h1>
14
+ <p><a href="/">Home</a> | <a href="rdoc/">RDOC</a> | <a href="http://ducktyper.com">Blog</a></p>
15
+ </div>
16
+
17
+ <div class="section">
18
+ <h1>Resources</h1>
19
+
20
+ <ul>
21
+ <li><p><a href="http://www.adobe.com/devnet/air/">Adobe AIR Development Center</a></p></li>
22
+ <li><p><a href="http://bugs.adobe.com/flex/">Flex JIRA</a></p></li>
23
+ </ul>
24
+
25
+ <h1>APIs</h1>
26
+ <ul>
27
+ <li><p><a href="http://livedocs.adobe.com/labs/flex3/langref/">Actionscript 3 Language Reference</a></p></li>
28
+ <li><p><a href="http://weblogs.macromedia.com/as_libraries/docs/corelib/">AS3 corelib API</a></p></li>
29
+
30
+
31
+ <h1>Libraries</h1>
32
+ <ul>
33
+ <li><p><a href="http://code.google.com/p/as3corelib/">as3corelib</a> (corelib)*</p></li>
34
+ <li><p><a href="http://code.google.com/p/as3flexunitlib/">as3flexunitlib</a> (flexunit)*</p></li>
35
+ <li><p><a href="http://tools.assembla.com/flexsdk/browser">Flex source</a> (some of it at least). Better yet you can find the flex source in the SDK, Flex3SDK/frameworks/projects/framework/src</p></li>
36
+ </ul>
37
+ <p>* Included with airake projects</p>
38
+ </div>
39
+ </div>
40
+
41
+ <div id="footer">&nbsp;</div>
42
+ </div>
43
+
44
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
45
+ </script>
46
+ <script type="text/javascript">
47
+ _uacct = "UA-1286493-4";
48
+ urchinTracker();
49
+ </script>
50
+ </body>
51
+ </html>
data/html/screen.css ADDED
@@ -0,0 +1,105 @@
1
+
2
+ body {
3
+ margin: 0;
4
+ margin-bottom: 25px;
5
+ padding: 0;
6
+ background-color: #f0f0f0;
7
+ font-family: "Lucida Grande", "Bitstream Vera Sans", "Verdana";
8
+ font-size: 13px;
9
+ color: #333;
10
+ }
11
+
12
+ h1 {
13
+ font-size: 28px;
14
+ color: #000;
15
+ }
16
+
17
+ a {color: #03c}
18
+ a:hover {
19
+ background-color: #03c;
20
+ color: white;
21
+ text-decoration: none;
22
+ }
23
+
24
+ pre, tt {
25
+ padding: 8px;
26
+ font-size: 12px;
27
+ background: #000000;
28
+ color: #CCCCCC;
29
+ }
30
+
31
+ tt {
32
+ padding: 2px 4px 2px 4px;
33
+ }
34
+
35
+ #page {
36
+ background-color: #f0f0f0;
37
+ width: 750px;
38
+ margin: 0;
39
+ margin-left: auto;
40
+ margin-right: auto;
41
+ }
42
+
43
+ #content {
44
+ float: left;
45
+ background-color: white;
46
+ border: 3px solid #aaa;
47
+ border-top: none;
48
+ padding: 25px;
49
+ width: 675px;
50
+ }
51
+
52
+ #footer {
53
+ clear: both;
54
+ text-align: center;
55
+ }
56
+
57
+
58
+ #header, .section {
59
+ padding-left: 75px;
60
+ padding-right: 30px;
61
+ }
62
+
63
+ #header h1, #header h2 {margin: 0}
64
+ #header h2 {
65
+ color: #888;
66
+ font-weight: normal;
67
+ font-size: 16px;
68
+ }
69
+
70
+ .section {
71
+ border-top: 1px solid #ccc;
72
+ margin-top: 25px;
73
+ padding-top: 15px;
74
+ }
75
+ .section h1 {
76
+ margin: 0;
77
+ font-size: 20px;
78
+ }
79
+ .section h2 {
80
+ margin: 0;
81
+ font-size: 14px;
82
+ font-weight: normal;
83
+ color: #333;
84
+ }
85
+ ol, ul {
86
+ margin-left: 0;
87
+ padding-left: 0;
88
+ }
89
+ ul li { list-style: none; }
90
+
91
+ li {
92
+ font-size: 18px;
93
+ color: #888;
94
+ margin-bottom: 15px;
95
+ }
96
+ li h2 {
97
+ margin: 0;
98
+ font-weight: normal;
99
+ font-size: 18px;
100
+ color: #333;
101
+ }
102
+ li p {
103
+ color: #555;
104
+ font-size: 13px;
105
+ }
data/html/tasks.html ADDED
@@ -0,0 +1,64 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html>
4
+ <head>
5
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
6
+ <title>Airake - Rake tasks for Adobe AIR</title>
7
+ <link rel="stylesheet" href="screen.css" type="text/css" media="screen"/>
8
+ </head>
9
+ <body>
10
+ <div id="page">
11
+ <div id="content">
12
+ <div id="header">
13
+ <h1>Tasks</h1>
14
+ <p><a href="/">Home</a> | <a href="rdoc/">RDOC</a> | <a href="http://ducktyper.com">Blog</a></p>
15
+ </div>
16
+
17
+ <div class="section">
18
+ <h1>AIR project tasks</h1>
19
+
20
+ <pre>
21
+ rake air:adl # Launch ADL
22
+
23
+ rake air:clean # Clean
24
+
25
+ rake air:compile # Compile
26
+
27
+ rake air:package # Package
28
+
29
+ rake air:test # Test</pre>
30
+ </div>
31
+
32
+ <div class="section">
33
+ <h1>AIR tasks</h1>
34
+
35
+ <pre>
36
+ rake air:acompc # Create component (swc)
37
+
38
+ rake air:certificate # Create certificate</pre>
39
+ </div>
40
+
41
+ <div class="section">
42
+ <h1>FCSH</h1>
43
+
44
+ <pre>
45
+ rake fcsh:restart # Restart the FCSHD process
46
+
47
+ rake fcsh:start # Start the FCSHD process (or use air:fcshd)
48
+
49
+ rake fcsh:stop # Stop the FCSHD process</pre>
50
+
51
+ </div>
52
+ </div>
53
+
54
+ <div id="footer">&nbsp;</div>
55
+ </div>
56
+
57
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
58
+ </script>
59
+ <script type="text/javascript">
60
+ _uacct = "UA-1286493-4";
61
+ urchinTracker();
62
+ </script>
63
+ </body>
64
+ </html>
@@ -9,13 +9,14 @@ module Airake #:nodoc:
9
9
 
10
10
  attr_reader :acompc_path, :acompc_extra_opts, :source_path, :include_packages, :output_path
11
11
 
12
- # Build with options
12
+ # Create ACOMPC command.
13
13
  #
14
- # acompc_path: Path to acompc, defaults to 'acompc'
15
- # source_path: Path to source, defaults to 'src'
16
- # output_path: Path to output (required)
17
- # include_packages: Array of package names to include (required). Example, com.airake.utils will include all classes from Dir["com/airake/utils/**/*.as"]
18
- # acompc_extra_opts: Extra options for command line
14
+ # ==== Options
15
+ # +acompc_path+:: Path to acompc, defaults to 'acompc'
16
+ # +source_path+:: Path to source, defaults to 'src'
17
+ # +output_path+:: Path to output (required)
18
+ # +include_packages+:: Array of package names to include (required). Example, com.airake.utils will include all classes from Dir["com/airake/utils/**/*.as"]
19
+ # +acompc_extra_opts+:: Extra options for command line
19
20
  #
20
21
  def initialize(options = {})
21
22
  assert_required(options, [ :output_path, :include_packages ])
@@ -9,12 +9,13 @@ module Airake #:nodoc:
9
9
 
10
10
  attr_reader :adl_path, :adl_extra_opts, :appxml_path, :base_dir
11
11
 
12
- # Build with options
12
+ # Create ADL command.
13
13
  #
14
- # adl_path: Path to adl, defaults to 'adl'
15
- # appxml_path: Path to application descriptor xml (required)
16
- # base_dir: Path to base project directory (required)
17
- # adl_extra_opts: Extra options for command line
14
+ # ==== Options
15
+ # +adl_path+:: Path to adl, defaults to 'adl'
16
+ # +appxml_path+:: Path to application descriptor xml (required)
17
+ # +base_dir+:: Path to base project directory (required)
18
+ # +adl_extra_opts+:: Extra options for command line
18
19
  #
19
20
  def initialize(options = {})
20
21
  assert_required(options, [ :appxml_path, :base_dir ])
@@ -7,33 +7,35 @@ module Airake #:nodoc:
7
7
  # http://livedocs.adobe.com/labs/air/1/devappsflex/help.html?content=CommandLineTools_5.html
8
8
  class Adt < Base
9
9
 
10
- attr_reader :adt_path, :certificate, :adt_extra_opts, :assets, :air_path, :appxml_path, :swf_path, :base_dir
10
+ attr_reader :adt_path, :cert, :adt_extra_opts, :assets, :air_path, :appxml_path, :swf_path, :base_dir
11
11
 
12
- # Build with options:
12
+ # Create ADT command.
13
13
  #
14
- # adt_path: Path to adt, defaults to 'adt'
15
- # base_dir: Root directory for project (required). Directories like src, lib and bin should be visible from here.
16
- # air_path: Path to generated AIR file (required)
17
- # appxml_path: Path to application xml descriptor (required)
18
- # swf_path: Path to compiled SWF file (required)
19
- # assets: Path to any assets. Should a string with asset files and directories separated by spaces: 'assets/icons/foo.png assets/images'
20
- # certificate: Path to certificate
21
- # adt_extra_opts: Extra options for command line
14
+ # ==== Options
15
+ # +adt_path+:: Path to adt, defaults to 'adt'
16
+ # +base_dir+:: Root directory for project (required). Directories like src, lib and bin should be visible from here.
17
+ # +air_path+:: Path to generated AIR file (required)
18
+ # +appxml_path+:: Path to application xml descriptor (required)
19
+ # +swf_path+:: Path to compiled SWF file (required)
20
+ # +assets+:: Path to any assets. Should a string with asset files and directories separated by spaces: 'assets/icons/foo.png assets/images'
21
+ # +cert+:: Path to certificate
22
+ # +adt_extra_opts+:: Extra options for command line
22
23
  #
23
- def initialize(options = {})
24
- assert_required(options, [ :air_path, :appxml_path, :swf_path ])
24
+ def initialize(options = {})
25
25
  with_options(options, { :adt_path => "adt" })
26
26
  end
27
27
 
28
- # Get the ADT package command
28
+ # Package
29
29
  def package
30
+ assert_not_blank(:air_path, :appxml_path, :swf_path)
31
+
30
32
  command = []
31
33
  command << @adt_path
32
34
  command << "-package"
33
35
  command << @adt_extra_opts
34
36
 
35
- unless @certificate.blank?
36
- command << "-keystore #{certificate}"
37
+ unless @cert.blank?
38
+ command << "-keystore #{@cert}"
37
39
  command << "-storetype pkcs12"
38
40
  end
39
41
  command << escape(relative_path(@air_path, @base_dir))
@@ -43,21 +45,21 @@ module Airake #:nodoc:
43
45
  process(command)
44
46
  end
45
47
 
46
- # Get the ADT certificate command to generate a certificate
48
+ # ADT certificate command
47
49
  #
48
- # cn: Common name
49
- # pfx_file: Output certificate path
50
- # key_type: 1024-RSA, 2048-RSA
51
- # password: Password
52
- # optionals:
53
- # org: Organization. 'Adobe'
54
- # org_unit: Orginizational unit. 'AIR Team'
55
- # country: Country. 'USA'
50
+ # * cn: Common name
51
+ # * pfx_file: Output certificate path
52
+ # * key_type: 1024-RSA, 2048-RSA
53
+ # * password: Password
54
+ # * optionals:
55
+ # * * org: Organization. 'Adobe'
56
+ # * * org_unit: Orginizational unit. 'AIR Team'
57
+ # * * country: Country. 'USA'
56
58
  #
57
59
  # Example result:
58
60
  # adt -certificate -cn ADigitalID 1024-RSA SigningCert.pfx 39#wnetx3tl
59
61
  #
60
- def generate_certificate(common_name, pfx_file, key_type, password, optionals = {})
62
+ def certificate(common_name, pfx_file, key_type, password, optionals = {})
61
63
  command = []
62
64
  command << @adt_path
63
65
  command << "-certificate"