airake 0.1.4 → 0.1.5
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.
- data/History.txt +6 -1
- data/README.txt +11 -11
- data/app_generators/airake/airake_generator.rb +1 -3
- data/app_generators/airake/templates/README +23 -13
- data/app_generators/airake/templates/Rakefile +2 -1
- data/app_generators/airake/templates/application.mxml +1 -1
- data/app_generators/airake/templates/descriptor.xml +1 -1
- data/lib/airake/fcsh.rb +8 -2
- data/lib/airake/fcshd.rb +6 -0
- data/lib/airake/project.rb +33 -22
- data/lib/airake/tasks/deployment.rake +24 -26
- data/lib/airake/version.rb +1 -1
- metadata +1 -1
data/History.txt
CHANGED
@@ -1,5 +1,10 @@
|
|
1
|
+
== 0.1.5 2007-08-30
|
2
|
+
* Fixed required include in Rakefile
|
3
|
+
* Removing app_id as required argument
|
4
|
+
* Refactored deployment.rake
|
5
|
+
|
1
6
|
== 0.1.4 2007-08-30
|
2
|
-
* Fixed
|
7
|
+
* Fixed bug with app_name being titleized
|
3
8
|
|
4
9
|
== 0.1.3 2007-08-29
|
5
10
|
|
data/README.txt
CHANGED
@@ -18,29 +18,29 @@ The project includes as3corelib and flexunit, and test scaffolding as well.
|
|
18
18
|
|
19
19
|
Run: rake --tasks
|
20
20
|
|
21
|
-
# Start FCSHD
|
22
|
-
rake start_fcshd
|
23
|
-
|
24
21
|
# Compiling
|
25
|
-
rake compile
|
22
|
+
rake air:compile
|
26
23
|
|
27
24
|
# Running air debug launcher (ADL)
|
28
|
-
rake adl
|
25
|
+
rake air:adl
|
26
|
+
|
27
|
+
# Start FCSHD (for faster compilation)
|
28
|
+
rake air:start_fcshd
|
29
29
|
|
30
30
|
# Stop FCSHD
|
31
|
-
rake stop_fcsh
|
31
|
+
rake air:stop_fcsh
|
32
32
|
|
33
33
|
# Restart FCSHD
|
34
|
-
rake restart_fcshd
|
34
|
+
rake air:restart_fcshd
|
35
35
|
|
36
36
|
# Running alternate MXML, (the following expects src/Test-app.xml descriptor file)
|
37
|
-
rake adl MXML=src/Test.mxml
|
37
|
+
rake air:adl MXML=src/Test.mxml
|
38
38
|
|
39
39
|
# Run ADL with debug enabled
|
40
|
-
rake adl DEBUG=true
|
40
|
+
rake air:adl DEBUG=true
|
41
41
|
|
42
42
|
# Testing
|
43
|
-
rake test
|
43
|
+
rake air:test
|
44
44
|
|
45
45
|
# Package AIR file
|
46
|
-
rake package
|
46
|
+
rake air:package
|
@@ -3,14 +3,12 @@ class AirakeGenerator < RubiGen::Base
|
|
3
3
|
#default_options :author => nil
|
4
4
|
|
5
5
|
attr_reader :app_name
|
6
|
-
attr_reader :app_id
|
7
6
|
|
8
7
|
def initialize(runtime_args, runtime_options = {})
|
9
8
|
super
|
10
|
-
usage if args.empty? || args.size <
|
9
|
+
usage if args.empty? || args.size < 1
|
11
10
|
@destination_root = File.expand_path(args.shift)
|
12
11
|
@app_name = File.basename(@destination_root).camelize
|
13
|
-
@app_id = args.shift
|
14
12
|
extract_options
|
15
13
|
end
|
16
14
|
|
@@ -1,36 +1,46 @@
|
|
1
1
|
== Setup
|
2
2
|
|
3
|
-
|
3
|
+
To include mxmlc, adl and adt (from Flex Builder):
|
4
|
+
export PATH="/Applications/Adobe Flex Builder 3/sdks/moxie/bin:$PATH"
|
5
|
+
|
6
|
+
To include adl and adt (from Apollo SDK):
|
4
7
|
export PATH="/Applications/ApolloSDK/bin:$PATH"
|
5
8
|
|
6
|
-
|
7
|
-
|
9
|
+
== Creating an AIR project
|
10
|
+
|
11
|
+
airake path/to/MyProject com.company.MyProject
|
12
|
+
|
13
|
+
will build a project scaffold with application name of MyProject and application id (used for AIR descriptor) of com.company.MyProject
|
14
|
+
|
15
|
+
The project includes as3corelib and flexunit, and test scaffolding as well.
|
8
16
|
|
9
17
|
== Tasks
|
10
18
|
|
11
|
-
|
12
|
-
rake start_fcshd
|
19
|
+
Run: rake --tasks
|
13
20
|
|
14
21
|
# Compiling
|
15
|
-
rake compile
|
22
|
+
rake air:compile
|
16
23
|
|
17
24
|
# Running air debug launcher (ADL)
|
18
|
-
rake adl
|
25
|
+
rake air:adl
|
26
|
+
|
27
|
+
# Start FCSHD (for faster compilation)
|
28
|
+
rake air:start_fcshd
|
19
29
|
|
20
30
|
# Stop FCSHD
|
21
|
-
rake stop_fcsh
|
31
|
+
rake air:stop_fcsh
|
22
32
|
|
23
33
|
# Restart FCSHD
|
24
|
-
rake restart_fcshd
|
34
|
+
rake air:restart_fcshd
|
25
35
|
|
26
36
|
# Running alternate MXML, (the following expects src/Test-app.xml descriptor file)
|
27
|
-
rake adl MXML=src/Test.mxml
|
37
|
+
rake air:adl MXML=src/Test.mxml
|
28
38
|
|
29
39
|
# Run ADL with debug enabled
|
30
|
-
rake adl DEBUG=true
|
40
|
+
rake air:adl DEBUG=true
|
31
41
|
|
32
42
|
# Testing
|
33
|
-
rake test
|
43
|
+
rake air:test
|
34
44
|
|
35
45
|
# Package AIR file
|
36
|
-
rake package
|
46
|
+
rake air:package
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<?xml version="1.0" encoding="utf-8"?>
|
2
2
|
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml">
|
3
3
|
|
4
|
-
<mx:HTML location="http://airake.rubyforge.org/" width="100%" height="100%"/>
|
4
|
+
<mx:HTML location="http://airake.rubyforge.org/resources.html" width="100%" height="100%"/>
|
5
5
|
|
6
6
|
</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.M4" appId="
|
2
|
+
<application xmlns="http://ns.adobe.com/air/application/1.0.M4" appId="com.company.App" version="0.0.1">
|
3
3
|
|
4
4
|
<!--
|
5
5
|
AIR Application Descriptor File:
|
data/lib/airake/fcsh.rb
CHANGED
@@ -74,6 +74,12 @@ module PatternPark
|
|
74
74
|
end_time = Time.now - start_time
|
75
75
|
puts "[FCSH] Compilation complete in: #{end_time} seconds"
|
76
76
|
end
|
77
|
-
|
78
|
-
|
77
|
+
|
78
|
+
def self.new_from_rake(env, default_ip = "127.0.0.1", default_port = 20569)
|
79
|
+
fcsh_ip = env["FCSH_IP"] || default_ip
|
80
|
+
fcsh_port = (env["FCSH_PORT"] || default_port).to_i
|
81
|
+
self.new(fcsh_ip, fcsh_port)
|
82
|
+
end
|
83
|
+
|
84
|
+
end
|
79
85
|
end
|
data/lib/airake/fcshd.rb
CHANGED
@@ -98,6 +98,12 @@ module PatternPark
|
|
98
98
|
cmd.index = @compile_commands.size
|
99
99
|
end
|
100
100
|
end
|
101
|
+
|
102
|
+
def self.start_from_rake(env, default_ip = "127.0.0.1", default_port = 20569)
|
103
|
+
fcsh_ip = env["FCSH_IP"] || default_ip
|
104
|
+
fcsh_port = (env["FCSH_PORT"] || default_port).to_i
|
105
|
+
self.new(fcsh_ip, fcsh_port)
|
106
|
+
end
|
101
107
|
end
|
102
108
|
|
103
109
|
class FCSHProcess
|
data/lib/airake/project.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
module Airake
|
2
|
+
# Project settings for AIR app
|
2
3
|
class Project
|
3
4
|
|
4
5
|
attr_reader :project_name, :mxmlc_path, :adt_path
|
@@ -6,7 +7,7 @@ module Airake
|
|
6
7
|
attr_reader :mxml_path, :appxml_path, :air_path, :swf_path
|
7
8
|
attr_reader :debug
|
8
9
|
|
9
|
-
def initialize(base_dir, mxml_path,
|
10
|
+
def initialize(base_dir, mxml_path, options = {})
|
10
11
|
@mxmlc_path = "mxmlc"
|
11
12
|
@adt_path = "adt"
|
12
13
|
|
@@ -26,22 +27,21 @@ module Airake
|
|
26
27
|
@air_path = options[:air_path] || "#{@bin_dir}/#{project_name}.air"
|
27
28
|
@swf_path = options[:swf_path] || "#{@bin_dir}/#{project_name}.swf"
|
28
29
|
|
29
|
-
@debug =
|
30
|
+
@debug = options[:debug] || false
|
30
31
|
end
|
31
32
|
|
32
|
-
def
|
33
|
-
|
33
|
+
def run_adt
|
34
|
+
run(adt_command)
|
34
35
|
end
|
35
36
|
|
36
|
-
def
|
37
|
-
|
38
|
-
@source_paths.empty? ? "" : "-source-path #{@source_paths.join(" ")}"
|
37
|
+
def run_mxmlc
|
38
|
+
run(mxmlc_command)
|
39
39
|
end
|
40
40
|
|
41
|
-
def
|
42
|
-
|
41
|
+
def run_adl
|
42
|
+
run(adl_command)
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
def mxmlc_command
|
46
46
|
"#{@mxmlc_path} +configname=air #{source_path_option} -library-path+=#{@lib_dir} -output #{@swf_path} #{debug_option} -disable-incremental-optimizations=true -- #{@mxml_path}"
|
47
47
|
end
|
@@ -52,8 +52,31 @@ module Airake
|
|
52
52
|
|
53
53
|
def adl_command
|
54
54
|
"adl #{@appxml_path} #{@base_dir}"
|
55
|
+
end
|
56
|
+
|
57
|
+
# Create project from ENV (for rake tasks)
|
58
|
+
def self.new_from_rake(env, is_test = false)
|
59
|
+
base_dir = env["BASE_DIR"]
|
60
|
+
mxml = is_test ? env["MXML_TEST"] : env["MXML"]
|
61
|
+
options = { :debug => env["DEBUG"] }
|
62
|
+
self.new(base_dir, mxml, options)
|
63
|
+
end
|
64
|
+
|
65
|
+
protected
|
66
|
+
|
67
|
+
def lib_source_paths
|
68
|
+
Dir["#{@lib_dir}/*"].collect { |f| f if File.directory?(f) }.compact + [ @test_dir, @src_dir ]
|
55
69
|
end
|
56
70
|
|
71
|
+
def source_path_option
|
72
|
+
@source_paths ||= lib_source_paths
|
73
|
+
@source_paths.empty? ? "" : "-source-path #{@source_paths.join(" ")}"
|
74
|
+
end
|
75
|
+
|
76
|
+
def debug_option
|
77
|
+
"-debug=#{@debug}" if @debug
|
78
|
+
end
|
79
|
+
|
57
80
|
def relative_path(path)
|
58
81
|
Pathname.new(path).relative_path_from(Pathname.new(@base_dir))
|
59
82
|
end
|
@@ -79,17 +102,5 @@ module Airake
|
|
79
102
|
system cmd or fail(cmd, $?)
|
80
103
|
end
|
81
104
|
|
82
|
-
def run_adt
|
83
|
-
run(adt_command)
|
84
|
-
end
|
85
|
-
|
86
|
-
def run_mxmlc
|
87
|
-
run(mxmlc_command)
|
88
|
-
end
|
89
|
-
|
90
|
-
def run_adl
|
91
|
-
run(adl_command)
|
92
|
-
end
|
93
|
-
|
94
105
|
end
|
95
106
|
end
|
@@ -1,15 +1,10 @@
|
|
1
1
|
namespace :air do
|
2
|
-
|
3
|
-
task :settings do
|
4
|
-
ENV["FCSH_IP"] ||= "127.0.0.1"
|
5
|
-
ENV["FCSH_PORT"] ||= "20569"
|
6
|
-
end
|
7
|
-
|
2
|
+
|
8
3
|
desc "Compile"
|
9
|
-
task :compile
|
4
|
+
task :compile do
|
10
5
|
begin
|
11
|
-
project = Airake::Project.
|
12
|
-
fcsh = FCSH.
|
6
|
+
project = Airake::Project.new_from_rake(ENV)
|
7
|
+
fcsh = PatternPark::FCSH.new_from_rake(ENV)
|
13
8
|
fcsh.execute([ project.base_dir, project.mxmlc_command ])
|
14
9
|
rescue FCSHConnectError => e
|
15
10
|
puts "Cannot connect to FCSHD (start by running: rake air:fcshd); Continuing compilation..."
|
@@ -18,44 +13,47 @@ namespace :air do
|
|
18
13
|
end
|
19
14
|
|
20
15
|
desc "Test"
|
21
|
-
task :test
|
22
|
-
test_project = Airake::Project.
|
16
|
+
task :test do
|
17
|
+
test_project = Airake::Project.new_from_rake(ENV, true)
|
23
18
|
test_project.run_mxmlc
|
24
19
|
test_project.run_adl
|
25
20
|
end
|
26
21
|
|
27
22
|
desc "Package"
|
28
23
|
task :package => :compile do
|
29
|
-
project = Airake::Project.
|
24
|
+
project = Airake::Project.new_from_rake(ENV)
|
30
25
|
project.run_adt
|
31
26
|
end
|
32
27
|
|
33
28
|
desc "Apollo Debug Luncher"
|
34
29
|
task :adl => :compile do
|
35
|
-
project = Airake::Project.
|
30
|
+
project = Airake::Project.new_from_rake(ENV)
|
36
31
|
project.run_adl
|
37
32
|
end
|
38
33
|
|
39
34
|
desc "Start the FCSHD process (or use air:fcshd)"
|
40
|
-
task :start_fcshd
|
41
|
-
puts "Starting FCSHD
|
42
|
-
FCSHD.
|
35
|
+
task :start_fcshd do
|
36
|
+
puts "Starting FCSHD..."
|
37
|
+
PatternPark::FCSHD.start_from_rake(ENV)
|
43
38
|
end
|
39
|
+
|
40
|
+
task :fcshd => :start_fcshd # Alias
|
44
41
|
|
45
42
|
desc "Stop the FCSHD process"
|
46
|
-
task :stop_fcshd
|
47
|
-
|
48
|
-
|
43
|
+
task :stop_fcshd do
|
44
|
+
begin
|
45
|
+
fcsh = PatternPark::FCSH.new_from_rake(ENV)
|
46
|
+
fcsh.stop
|
47
|
+
rescue
|
48
|
+
puts "Could not stop FCSHD"
|
49
|
+
end
|
49
50
|
end
|
50
51
|
|
51
52
|
desc "Restart the FCSHD process"
|
52
|
-
task :
|
53
|
-
|
54
|
-
|
55
|
-
|
53
|
+
task :restart_fcshd => [ :stop_fcshd, :sleep, :start_fcshd ]
|
54
|
+
|
55
|
+
task :sleep do
|
56
|
+
sleep 2
|
56
57
|
end
|
57
|
-
|
58
|
-
# Aliases
|
59
|
-
task :fcshd => :start_fcshd
|
60
58
|
|
61
59
|
end
|
data/lib/airake/version.rb
CHANGED