airake 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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"