airake 0.4.3 → 0.4.4
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 +4 -0
- data/Manifest.txt +2 -0
- data/lib/airake.rb +2 -0
- data/lib/airake/commands/mxmlc.rb +4 -4
- data/lib/airake/project.rb +17 -69
- data/lib/airake/projects/air.rb +78 -0
- data/lib/airake/projects/flash.rb +34 -0
- data/lib/airake/tasks/air.rake +9 -9
- data/lib/airake/tasks/flash.rake +3 -11
- data/lib/airake/version.rb +1 -1
- metadata +4 -2
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
data/lib/airake.rb
CHANGED
@@ -16,6 +16,8 @@ require 'airake/commands/adl'
|
|
16
16
|
require 'airake/commands/adt'
|
17
17
|
require 'airake/commands/asdoc'
|
18
18
|
require 'airake/project'
|
19
|
+
require 'airake/projects/air'
|
20
|
+
require 'airake/projects/flash'
|
19
21
|
require 'airake/runner'
|
20
22
|
require 'rake'
|
21
23
|
require 'airake/tasks'
|
@@ -5,7 +5,7 @@ module Airake #:nodoc:
|
|
5
5
|
# MXMLC (MXML compiler)
|
6
6
|
class Mxmlc < Base
|
7
7
|
|
8
|
-
attr_reader :mxmlc_path, :mxmlc_extra_opts, :swf_path, :
|
8
|
+
attr_reader :mxmlc_path, :mxmlc_extra_opts, :swf_path, :target_file, :lib_dir, :src_dirs, :debug
|
9
9
|
attr_reader :config_name
|
10
10
|
|
11
11
|
# Create MXMLC command.
|
@@ -13,14 +13,14 @@ module Airake #:nodoc:
|
|
13
13
|
# ==== Options
|
14
14
|
# +mxmlc_path+:: Path to flex compiler, defaults to 'mxmlc'
|
15
15
|
# +swf_path+:: Path to generated swf (required)
|
16
|
-
# +
|
16
|
+
# +target_file+:: Path to target file (.mxml file) (required)
|
17
17
|
# +lib_dir+:: Path to lib directory. Will load swc files from here or source directories
|
18
18
|
# +src_dirs+:: Path to source directories (required)
|
19
19
|
# +config_name+:: Config name, like 'air'
|
20
20
|
# +mxmlc_extra_opts+:: Extra options to pass to compiler
|
21
21
|
#
|
22
22
|
def initialize(options = {})
|
23
|
-
assert_required(options, [ :swf_path, :
|
23
|
+
assert_required(options, [ :swf_path, :target_file, :src_dirs ])
|
24
24
|
|
25
25
|
default_mxmlc_path = options[:config_name].blank? ? "mxmlc" : "mxmlc +configname=#{options[:config_name]}"
|
26
26
|
|
@@ -42,7 +42,7 @@ module Airake #:nodoc:
|
|
42
42
|
command << escape(@swf_path)
|
43
43
|
command << "-debug=#{@debug}" unless @debug.nil?
|
44
44
|
command << "--"
|
45
|
-
command << escape(@
|
45
|
+
command << escape(@target_file)
|
46
46
|
process(command)
|
47
47
|
end
|
48
48
|
|
data/lib/airake/project.rb
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
module Airake
|
2
2
|
|
3
|
-
# Project for AIR application
|
4
|
-
#
|
5
3
|
class Project
|
6
4
|
|
7
|
-
attr_reader :base_dir, :src_dirs, :lib_dir
|
8
|
-
attr_reader :mxml_path, :appxml_path, :air_path, :swf_path
|
9
|
-
attr_reader :debug, :assets, :certificate
|
5
|
+
attr_reader :env, :base_dir, :src_dirs, :lib_dir, :swf_path, :debug
|
10
6
|
|
11
7
|
# Create project.
|
12
8
|
#
|
@@ -14,33 +10,24 @@ module Airake
|
|
14
10
|
# +env+: Environment, such as development, test, production. Defaults to ENV["AIRAKE_ENV"].
|
15
11
|
# +base_dir+: Base (project) directory. Defaults to ENV["AIRAKE_ROOT"]
|
16
12
|
# +options+: If nil, options are loaded from airake.yml in root. (All paths relative to base directory)
|
17
|
-
# - +mxml_path+: Path to the ProjectName.mxml
|
18
|
-
# - +appxml_path+: Path to application descriptor
|
19
13
|
# - +src_dirs+: Paths to source
|
20
14
|
# - +lib_dir+: Path to lib directory
|
21
|
-
# - +air_path+: Path to AIR file
|
22
15
|
# - +swf_path+: Path to SWF file
|
23
16
|
# - +debug+: "true" or "false"
|
24
|
-
# - +assets+: Path to assets
|
25
|
-
# - +certificate+: Path to certificate
|
26
17
|
#
|
27
18
|
# ==== More options:
|
28
19
|
# * mxmlc_path
|
29
|
-
# * adt_path
|
30
|
-
# * adl_path
|
31
20
|
# * asdoc_path
|
32
21
|
# * mxmlc_extra_opts
|
33
|
-
# * adt_extra_opts
|
34
|
-
# * adl_extra_opts
|
35
22
|
# * asdoc_extra_opts
|
36
23
|
#
|
37
24
|
def initialize(env = nil, base_dir = nil, options = nil)
|
38
|
-
|
39
|
-
env = ENV["AIRAKE_ENV"] if env.nil?
|
25
|
+
@env = env
|
26
|
+
@env = ENV["AIRAKE_ENV"] if @env.nil?
|
40
27
|
base_dir = ENV["AIRAKE_ROOT"] if base_dir.nil?
|
41
28
|
raise "Need to specify an AIRAKE_ROOT (project root)" if base_dir.blank?
|
42
29
|
|
43
|
-
|
30
|
+
@base_dir = base_dir
|
44
31
|
|
45
32
|
if options.nil?
|
46
33
|
conf_path = File.join(base_dir, "airake.yml")
|
@@ -58,62 +45,26 @@ module Airake
|
|
58
45
|
env_options = options[env]
|
59
46
|
options = options.merge(env_options) if env_options
|
60
47
|
options.symbolize_keys!
|
61
|
-
#puts "Options: #{options.to_yaml}" if ENV["DEBUG"]
|
62
48
|
end
|
63
49
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
@appxml_path = File.join(base_dir, options[:appxml_path])
|
68
|
-
|
69
|
-
@src_dirs = options[:src_dirs].collect { |src_dir| File.join(base_dir, src_dir) }
|
70
|
-
@lib_dir = File.join(base_dir, options[:lib_dir]) if options[:lib_dir]
|
71
|
-
|
72
|
-
# Dest package files
|
73
|
-
@air_path = File.join(base_dir, options[:air_path])
|
74
|
-
@swf_path = File.join(base_dir, options[:swf_path])
|
75
|
-
|
76
|
-
# Debug options
|
77
|
-
@debug = options[:debug]
|
78
|
-
|
79
|
-
with_keyed_options([ :assets, :certificate, :mxmlc_path, :adt_path, :adl_path, :asdoc_path,
|
80
|
-
:mxmlc_extra_opts, :adt_extra_opts, :adl_extra_opts, :asdoc_extra_opts ], options)
|
81
|
-
|
82
|
-
ensure_exists([ @mxml_path, @appxml_path, *@src_dirs ])
|
83
|
-
end
|
84
|
-
|
85
|
-
# Flex compiler command (under AIR) for this project
|
86
|
-
def amxmlc
|
87
|
-
mxmlc({ :config_name => "air" })
|
50
|
+
load(options)
|
51
|
+
|
52
|
+
ensure_exists([ *@src_dirs ])
|
88
53
|
end
|
89
54
|
|
90
|
-
#
|
91
|
-
def
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
# ADL command for this project
|
100
|
-
def adl
|
101
|
-
options = { :appxml_path => @appxml_path, :base_dir => @base_dir, :adl_extra_opts => @adl_extra_opts,
|
102
|
-
:adl_path => @adl_path }
|
103
|
-
Airake::Commands::Adl.new(options)
|
104
|
-
end
|
105
|
-
|
106
|
-
# ADT command for this project
|
107
|
-
def adt
|
108
|
-
options = { :air_path => @air_path, :appxml_path => @appxml_path, :swf_path => @swf_path,
|
109
|
-
:base_dir => @base_dir, :assets => @assets, :cert => @certificate, :adt_extra_opts => @adt_extra_opts,
|
110
|
-
:adt_path => @adt_path }
|
111
|
-
Airake::Commands::Adt.new(options)
|
55
|
+
# Load options
|
56
|
+
def load(options = {})
|
57
|
+
@src_dirs = []
|
58
|
+
@src_dirs = options[:src_dirs].collect { |src_dir| File.join(base_dir, src_dir) } if options[:src_dirs]
|
59
|
+
|
60
|
+
@lib_dir = File.join(base_dir, options[:lib_dir]) if options[:lib_dir]
|
61
|
+
@swf_path = File.join(base_dir, options[:swf_path])
|
62
|
+
|
63
|
+
with_keyed_options([ :debug ], options)
|
112
64
|
end
|
113
65
|
|
114
66
|
# AS docs
|
115
67
|
def asdoc
|
116
|
-
src_dirs = [ @src_dir ]
|
117
68
|
options = { :lib_dir => @lib_dir, :src_dirs => @src_dirs, :asdoc_extra_opts => @asdoc_extra_opts,
|
118
69
|
:asdoc_path => @asdoc_path }
|
119
70
|
Airake::Commands::Asdoc.new(options)
|
@@ -121,10 +72,7 @@ module Airake
|
|
121
72
|
|
122
73
|
# Remove files
|
123
74
|
def clean
|
124
|
-
|
125
|
-
paths.each do |path|
|
126
|
-
FileUtils.rm(path, :verbose => true) if File.exist?(path)
|
127
|
-
end
|
75
|
+
FileUtils.rm(@swf_path, :verbose => true) if File.exist?(@swf_path)
|
128
76
|
end
|
129
77
|
|
130
78
|
protected
|
@@ -0,0 +1,78 @@
|
|
1
|
+
module Airake
|
2
|
+
|
3
|
+
module Projects
|
4
|
+
|
5
|
+
# Project for AIR application
|
6
|
+
class Air < Airake::Project
|
7
|
+
|
8
|
+
attr_reader :mxml_path, :appxml_path, :air_path
|
9
|
+
attr_reader :assets, :certificate
|
10
|
+
|
11
|
+
# Load options
|
12
|
+
#
|
13
|
+
# +options+: If nil, options are loaded from airake.yml in root. (All paths relative to base directory)
|
14
|
+
# - +air_path+: Path to AIR file
|
15
|
+
# - +mxml_path+: Path to the ProjectName.mxml
|
16
|
+
# - +appxml_path+: Path to application descriptor
|
17
|
+
# - +assets+: Path to assets
|
18
|
+
# - +certificate+: Path to certificate
|
19
|
+
#
|
20
|
+
# ==== More options
|
21
|
+
# * adt_path
|
22
|
+
# * adl_path
|
23
|
+
# * adt_extra_opts
|
24
|
+
# * adl_extra_opts
|
25
|
+
#
|
26
|
+
def load(options = {})
|
27
|
+
super(options)
|
28
|
+
|
29
|
+
@air_path = File.join(base_dir, options[:air_path])
|
30
|
+
@mxml_path = File.join(base_dir, options[:mxml_path])
|
31
|
+
@appxml_path = File.join(base_dir, options[:appxml_path])
|
32
|
+
|
33
|
+
with_keyed_options([ :assets, :certificate, :mxmlc_path, :adt_path, :adl_path, :asdoc_path,
|
34
|
+
:mxmlc_extra_opts, :adt_extra_opts, :adl_extra_opts, :asdoc_extra_opts ], options)
|
35
|
+
|
36
|
+
ensure_exists([ @mxml_path, @appxml_path ])
|
37
|
+
end
|
38
|
+
|
39
|
+
# Flex compiler command (under AIR) for this project
|
40
|
+
def amxmlc
|
41
|
+
mxmlc({ :config_name => "air" })
|
42
|
+
end
|
43
|
+
|
44
|
+
# Flex compiler command for this project
|
45
|
+
def mxmlc(options = {})
|
46
|
+
options = options.merge({ :swf_path => @swf_path, :target_file => @mxml_path, :lib_dir => @lib_dir,
|
47
|
+
:src_dirs => @src_dirs, :debug => @debug, :mxmlc_extra_opts => @mxmlc_extra_opts,
|
48
|
+
:mxmlc_path => @mxmlc_path })
|
49
|
+
|
50
|
+
Airake::Commands::Mxmlc.new(options)
|
51
|
+
end
|
52
|
+
|
53
|
+
# ADL command for this project
|
54
|
+
def adl
|
55
|
+
options = { :appxml_path => @appxml_path, :base_dir => @base_dir, :adl_extra_opts => @adl_extra_opts,
|
56
|
+
:adl_path => @adl_path }
|
57
|
+
Airake::Commands::Adl.new(options)
|
58
|
+
end
|
59
|
+
|
60
|
+
# ADT command for this project
|
61
|
+
def adt
|
62
|
+
options = { :air_path => @air_path, :appxml_path => @appxml_path, :swf_path => @swf_path,
|
63
|
+
:base_dir => @base_dir, :assets => @assets, :cert => @certificate, :adt_extra_opts => @adt_extra_opts,
|
64
|
+
:adt_path => @adt_path }
|
65
|
+
Airake::Commands::Adt.new(options)
|
66
|
+
end
|
67
|
+
|
68
|
+
def clean
|
69
|
+
paths = [ @swf_path, @air_path ]
|
70
|
+
paths.each do |path|
|
71
|
+
FileUtils.rm(path, :verbose => true) if File.exist?(path)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Airake
|
2
|
+
|
3
|
+
module Projects
|
4
|
+
|
5
|
+
# Project for Flash
|
6
|
+
class Flash < Airake::Project
|
7
|
+
|
8
|
+
attr_reader :target_file
|
9
|
+
|
10
|
+
# Load options
|
11
|
+
#
|
12
|
+
# +options+: If nil, options are loaded from airake.yml in root. (All paths relative to base directory)
|
13
|
+
# - +target_file+: Path to target file
|
14
|
+
#
|
15
|
+
def load(options = {})
|
16
|
+
super(options)
|
17
|
+
with_keyed_options([ :target_file ], options)
|
18
|
+
ensure_exists([ @target_file ])
|
19
|
+
end
|
20
|
+
|
21
|
+
# Flex compiler command for this project
|
22
|
+
def mxmlc(options = {})
|
23
|
+
options = options.merge({ :swf_path => @swf_path, :target_file => @target_file, :lib_dir => @lib_dir,
|
24
|
+
:src_dirs => @src_dirs, :debug => @debug, :mxmlc_extra_opts => @mxmlc_extra_opts,
|
25
|
+
:mxmlc_path => @mxmlc_path })
|
26
|
+
|
27
|
+
Airake::Commands::Mxmlc.new(options)
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
data/lib/airake/tasks/air.rake
CHANGED
@@ -3,7 +3,7 @@ namespace :air do
|
|
3
3
|
desc "Compile"
|
4
4
|
task :compile => :clean do
|
5
5
|
begin
|
6
|
-
project = Airake::
|
6
|
+
project = Airake::Projects::Air.new
|
7
7
|
fcsh = PatternPark::FCSH.new_from_rake(ENV)
|
8
8
|
fcsh.execute([ project.base_dir, project.amxmlc.compile ])
|
9
9
|
rescue PatternPark::FCSHConnectError => e
|
@@ -17,7 +17,7 @@ namespace :air do
|
|
17
17
|
ENV["AIRAKE_ENV"] = "test"
|
18
18
|
Rake::Task["air:clean"].invoke
|
19
19
|
|
20
|
-
test_project = Airake::
|
20
|
+
test_project = Airake::Projects::Air.new
|
21
21
|
Airake::Runner.run(test_project.amxmlc, :compile)
|
22
22
|
Airake::Runner.run(test_project.adl, :launch)
|
23
23
|
end
|
@@ -28,7 +28,7 @@ namespace :air do
|
|
28
28
|
pfx_file = ENV["CERTIFICATE"]
|
29
29
|
|
30
30
|
unless pfx_file
|
31
|
-
project = Airake::
|
31
|
+
project = Airake::Projects::Air.new
|
32
32
|
pfx_file = project.certificate
|
33
33
|
end
|
34
34
|
|
@@ -47,7 +47,7 @@ namespace :air do
|
|
47
47
|
|
48
48
|
puts "Will generate a certificate file at: #{pfx_file}"
|
49
49
|
|
50
|
-
project = Airake::
|
50
|
+
project = Airake::Projects::Air.new
|
51
51
|
optionals = {}
|
52
52
|
|
53
53
|
print "Specify common name (e.g. SelfSign, ADigitalID) [SelfSign]: "
|
@@ -79,7 +79,7 @@ namespace :air do
|
|
79
79
|
pfx_file = ENV["CERTIFICATE"]
|
80
80
|
|
81
81
|
unless pfx_file
|
82
|
-
project = Airake::
|
82
|
+
project = Airake::Projects::Air.new
|
83
83
|
pfx_file = project.certificate
|
84
84
|
end
|
85
85
|
|
@@ -109,7 +109,7 @@ namespace :air do
|
|
109
109
|
|
110
110
|
desc "Package only"
|
111
111
|
task :package_only do
|
112
|
-
project = Airake::
|
112
|
+
project = Airake::Projects::Air.new
|
113
113
|
Airake::Runner.run(project.adt, :package)
|
114
114
|
end
|
115
115
|
|
@@ -122,7 +122,7 @@ namespace :air do
|
|
122
122
|
|
123
123
|
desc "Launch ADL only"
|
124
124
|
task :adl_only do
|
125
|
-
project = Airake::
|
125
|
+
project = Airake::Projects::Air.new
|
126
126
|
Airake::Runner.run(project.adl, :launch)
|
127
127
|
end
|
128
128
|
|
@@ -164,13 +164,13 @@ namespace :air do
|
|
164
164
|
|
165
165
|
desc "Docs"
|
166
166
|
task :docs do
|
167
|
-
project = Airake::
|
167
|
+
project = Airake::Projects::Air.new
|
168
168
|
Airake::Runner.run(project.asdoc, :generate)
|
169
169
|
end
|
170
170
|
|
171
171
|
desc "Clean"
|
172
172
|
task :clean do
|
173
|
-
project = Airake::
|
173
|
+
project = Airake::Projects::Air.new
|
174
174
|
project.clean
|
175
175
|
end
|
176
176
|
|
data/lib/airake/tasks/flash.rake
CHANGED
@@ -3,23 +3,15 @@ namespace :flash do
|
|
3
3
|
desc "Compile (on flash)"
|
4
4
|
task :compile => :clean do
|
5
5
|
begin
|
6
|
-
project = Airake::
|
6
|
+
project = Airake::Projects::Flash.new
|
7
7
|
Airake::Runner.run(project.mxmlc, :compile)
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
11
|
desc "Clean"
|
12
12
|
task :clean do
|
13
|
-
project = Airake::
|
14
|
-
|
15
|
-
|
16
|
-
# Test
|
17
|
-
test_project = Airake::Project.new_from_rake(ENV, :test)
|
18
|
-
paths += project.to_clean
|
19
|
-
|
20
|
-
paths.each do |path|
|
21
|
-
FileUtils.rm(path, :verbose => true) if File.exist?(path)
|
22
|
-
end
|
13
|
+
project = Airake::Projects::Flash.new
|
14
|
+
project.clean
|
23
15
|
end
|
24
16
|
|
25
17
|
desc "Run"
|
data/lib/airake/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: airake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.4
|
5
5
|
platform: ""
|
6
6
|
authors:
|
7
7
|
- Gabriel Handford, Min Kim
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-06-
|
12
|
+
date: 2008-06-25 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -92,6 +92,8 @@ files:
|
|
92
92
|
- lib/airake/fcsh.rb
|
93
93
|
- lib/airake/fcshd.rb
|
94
94
|
- lib/airake/project.rb
|
95
|
+
- lib/airake/projects/air.rb
|
96
|
+
- lib/airake/projects/flash.rb
|
95
97
|
- lib/airake/runner.rb
|
96
98
|
- lib/airake/tasks.rb
|
97
99
|
- lib/airake/tasks/air.rake
|