buildr-as3 0.1.20 → 0.1.28
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/README.rdoc +14 -0
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/bin/buildr-as3 +27 -0
- data/buildr-as3.gemspec +29 -10
- data/lib/buildr/as3.rb +7 -8
- data/lib/buildr/as3/compiler.rb +9 -260
- data/lib/buildr/as3/compiler/aircompc.rb +52 -0
- data/lib/buildr/as3/compiler/airmxmlc.rb +54 -0
- data/lib/buildr/as3/compiler/base.rb +78 -0
- data/lib/buildr/as3/compiler/compc.rb +64 -0
- data/lib/buildr/as3/compiler/mxmlc.rb +73 -0
- data/lib/buildr/as3/doc.rb +5 -41
- data/lib/buildr/as3/doc/asdoc.rb +75 -0
- data/lib/buildr/as3/ide.rb +23 -0
- data/lib/buildr/as3/ide/fdt4.rb +1 -1
- data/lib/buildr/as3/packaging.rb +4 -188
- data/lib/buildr/as3/packaging/air.rb +120 -0
- data/lib/buildr/as3/packaging/airi.rb +114 -0
- data/lib/buildr/as3/packaging/swc.rb +79 -0
- data/lib/buildr/as3/packaging/swf.rb +79 -0
- data/lib/buildr/as3/project.rb +34 -0
- data/lib/buildr/as3/test.rb +29 -0
- data/lib/buildr/as3/test/base.rb +47 -0
- data/lib/buildr/as3/test/flexunit4.rb +127 -0
- data/lib/buildr/as3/toolkits.rb +28 -0
- data/lib/buildr/as3/{alchemy.rb → toolkits/alchemy.rb} +13 -54
- data/lib/buildr/as3/{apparat.rb → toolkits/apparat.rb} +27 -54
- data/lib/buildr/as3/toolkits/base.rb +84 -0
- data/lib/buildr/as3/{flexsdk.rb → toolkits/flexsdk.rb} +18 -46
- metadata +32 -15
- data/lib/buildr/as3/tests.rb +0 -54
data/README.rdoc
CHANGED
@@ -14,6 +14,20 @@
|
|
14
14
|
|
15
15
|
= Changelog
|
16
16
|
|
17
|
+
== 0.1.28
|
18
|
+
|
19
|
+
* [CLOSED] Issue 10: Added packaging task for unsigned AIR files *.airi
|
20
|
+
* [CLOSED] Issue 19: Added conditional compilation arguments (CONFIG::debug & CONFIG::environment) which reflect the buildr settings.
|
21
|
+
* [CLOSED] Issue 4: Alchemy will be supported on demand
|
22
|
+
* [CLOSED] Issue 9: Alchemy will be supported on demand
|
23
|
+
* [FIXED] Issue 17: Apparat tasks work on windows now
|
24
|
+
* [FIXED] Issue 24: New asdoc task has been added
|
25
|
+
* [FIXED] Issue 18: RDoc has been added to most modules
|
26
|
+
* [FIXED] Issue 20: Apparat task failed message has been added
|
27
|
+
* [FIXED] Issue 3: Trace info has been added
|
28
|
+
* [FIXED] Issue 23: Download functions for artifacts have been updated to work across platforms
|
29
|
+
* [FIXED] Issue 1: Compiler module has been rewritten from scratch
|
30
|
+
|
17
31
|
== 0.1.20
|
18
32
|
|
19
33
|
* [FIXED] directories of dependencies are now added as source folders in all compilers
|
data/Rakefile
CHANGED
@@ -18,7 +18,7 @@ Jeweler::Tasks.new do |gem|
|
|
18
18
|
gem.description = "Build like you code - now supporting ActionScript 3 & Flex"
|
19
19
|
gem.email = "dominic @nospam@ devboy.org"
|
20
20
|
gem.authors = ["Dominic Graefen"]
|
21
|
-
gem.add_runtime_dependency("buildr",">=1.4.
|
21
|
+
gem.add_runtime_dependency("buildr",">=1.4.5")
|
22
22
|
end
|
23
23
|
Jeweler::RubygemsDotOrgTasks.new
|
24
24
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.28
|
data/bin/buildr-as3
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# Copyright (C) 2011 by Dominic Graefen / http://devboy.org
|
4
|
+
#
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
10
|
+
# furnished to do so, subject to the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be included in
|
13
|
+
# all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
# THE SOFTWARE.
|
22
|
+
#
|
23
|
+
|
24
|
+
require 'rubygems'
|
25
|
+
require 'buildr'
|
26
|
+
require 'buildr/as3'
|
27
|
+
Buildr.application.run
|
data/buildr-as3.gemspec
CHANGED
@@ -5,13 +5,15 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{buildr-as3}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.28"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Dominic Graefen"]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-04-15}
|
13
|
+
s.default_executable = %q{buildr-as3}
|
13
14
|
s.description = %q{Build like you code - now supporting ActionScript 3 & Flex}
|
14
15
|
s.email = %q{dominic @nospam@ devboy.org}
|
16
|
+
s.executables = ["buildr-as3"]
|
15
17
|
s.extra_rdoc_files = [
|
16
18
|
"LICENSE.txt",
|
17
19
|
"README.rdoc"
|
@@ -23,23 +25,40 @@ Gem::Specification.new do |s|
|
|
23
25
|
"README.rdoc",
|
24
26
|
"Rakefile",
|
25
27
|
"VERSION",
|
28
|
+
"bin/buildr-as3",
|
26
29
|
"buildr-as3.gemspec",
|
27
30
|
"lib/buildr/as3.rb",
|
28
|
-
"lib/buildr/as3/alchemy.rb",
|
29
|
-
"lib/buildr/as3/apparat.rb",
|
30
31
|
"lib/buildr/as3/compiler.rb",
|
32
|
+
"lib/buildr/as3/compiler/aircompc.rb",
|
33
|
+
"lib/buildr/as3/compiler/airmxmlc.rb",
|
34
|
+
"lib/buildr/as3/compiler/base.rb",
|
35
|
+
"lib/buildr/as3/compiler/compc.rb",
|
36
|
+
"lib/buildr/as3/compiler/mxmlc.rb",
|
31
37
|
"lib/buildr/as3/doc.rb",
|
32
|
-
"lib/buildr/as3/
|
38
|
+
"lib/buildr/as3/doc/asdoc.rb",
|
39
|
+
"lib/buildr/as3/ide.rb",
|
33
40
|
"lib/buildr/as3/ide/fdt4.rb",
|
34
41
|
"lib/buildr/as3/packaging.rb",
|
35
|
-
"lib/buildr/as3/
|
42
|
+
"lib/buildr/as3/packaging/air.rb",
|
43
|
+
"lib/buildr/as3/packaging/airi.rb",
|
44
|
+
"lib/buildr/as3/packaging/swc.rb",
|
45
|
+
"lib/buildr/as3/packaging/swf.rb",
|
46
|
+
"lib/buildr/as3/project.rb",
|
47
|
+
"lib/buildr/as3/test.rb",
|
48
|
+
"lib/buildr/as3/test/base.rb",
|
49
|
+
"lib/buildr/as3/test/flexunit4.rb",
|
50
|
+
"lib/buildr/as3/toolkits.rb",
|
51
|
+
"lib/buildr/as3/toolkits/alchemy.rb",
|
52
|
+
"lib/buildr/as3/toolkits/apparat.rb",
|
53
|
+
"lib/buildr/as3/toolkits/base.rb",
|
54
|
+
"lib/buildr/as3/toolkits/flexsdk.rb",
|
36
55
|
"test/helper.rb",
|
37
56
|
"test/test_buildr_as3.rb"
|
38
57
|
]
|
39
58
|
s.homepage = %q{http://github.com/devboy/buildr_as3}
|
40
59
|
s.licenses = ["MIT"]
|
41
60
|
s.require_paths = ["lib"]
|
42
|
-
s.rubygems_version = %q{1.
|
61
|
+
s.rubygems_version = %q{1.6.2}
|
43
62
|
s.summary = %q{Buildr extension to allow ActionScript3/Flex development.}
|
44
63
|
s.test_files = [
|
45
64
|
"test/helper.rb",
|
@@ -54,20 +73,20 @@ Gem::Specification.new do |s|
|
|
54
73
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
55
74
|
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
56
75
|
s.add_development_dependency(%q<rcov>, [">= 0"])
|
57
|
-
s.add_runtime_dependency(%q<buildr>, [">= 1.4.
|
76
|
+
s.add_runtime_dependency(%q<buildr>, [">= 1.4.5"])
|
58
77
|
else
|
59
78
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
60
79
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
61
80
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
62
81
|
s.add_dependency(%q<rcov>, [">= 0"])
|
63
|
-
s.add_dependency(%q<buildr>, [">= 1.4.
|
82
|
+
s.add_dependency(%q<buildr>, [">= 1.4.5"])
|
64
83
|
end
|
65
84
|
else
|
66
85
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
67
86
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
68
87
|
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
69
88
|
s.add_dependency(%q<rcov>, [">= 0"])
|
70
|
-
s.add_dependency(%q<buildr>, [">= 1.4.
|
89
|
+
s.add_dependency(%q<buildr>, [">= 1.4.5"])
|
71
90
|
end
|
72
91
|
end
|
73
92
|
|
data/lib/buildr/as3.rb
CHANGED
@@ -19,14 +19,13 @@
|
|
19
19
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
20
20
|
# THE SOFTWARE.
|
21
21
|
#
|
22
|
+
|
23
|
+
require "buildr"
|
24
|
+
|
25
|
+
require "#{File.dirname(__FILE__)}/as3/project"
|
22
26
|
require "#{File.dirname(__FILE__)}/as3/compiler"
|
23
27
|
require "#{File.dirname(__FILE__)}/as3/packaging"
|
24
|
-
require "#{File.dirname(__FILE__)}/as3/
|
28
|
+
require "#{File.dirname(__FILE__)}/as3/toolkits"
|
29
|
+
require "#{File.dirname(__FILE__)}/as3/ide"
|
25
30
|
require "#{File.dirname(__FILE__)}/as3/doc"
|
26
|
-
require
|
27
|
-
require "#{File.dirname(__FILE__)}/as3/apparat"
|
28
|
-
require "#{File.dirname(__FILE__)}/as3/ide/fdt4"
|
29
|
-
require "#{File.dirname(__FILE__)}/as3/tests"
|
30
|
-
include Buildr::AS3::Flex
|
31
|
-
include Buildr::AS3::Apparat
|
32
|
-
include Buildr::AS3::Alchemy
|
31
|
+
require File.dirname(__FILE__) + '/as3/test'
|
data/lib/buildr/as3/compiler.rb
CHANGED
@@ -19,265 +19,14 @@
|
|
19
19
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
20
20
|
# THE SOFTWARE.
|
21
21
|
#
|
22
|
-
#TODO: Refactor compiler classes, right now everything is copy&paste
|
23
22
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
23
|
+
require "#{File.dirname(__FILE__)}/compiler/base"
|
24
|
+
require "#{File.dirname(__FILE__)}/compiler/mxmlc"
|
25
|
+
require "#{File.dirname(__FILE__)}/compiler/compc"
|
26
|
+
require "#{File.dirname(__FILE__)}/compiler/airmxmlc"
|
27
|
+
require "#{File.dirname(__FILE__)}/compiler/aircompc"
|
28
28
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
def append_args( cmd_args, append_args )
|
34
|
-
unless append_args.nil? || append_args.empty?
|
35
|
-
append_args.each do |arg|
|
36
|
-
cmd_args << arg
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
def self.get_output(project, target, package, options)
|
42
|
-
return options[:output] if options.has_key? :output
|
43
|
-
return "#{target}/#{File.basename(options[:main].to_s, File.extname(options[:main].to_s))}.swf" if package == :swf
|
44
|
-
return "#{target}/#{project.name.gsub(":", "-")}.swc" if package == :swc
|
45
|
-
fail("Could not guess output file.")
|
46
|
-
end
|
47
|
-
|
48
|
-
def needed?(sources, target, dependencies)
|
49
|
-
output = CompilerUtils::get_output(project, target, project.compile.packaging, options)
|
50
|
-
sources.each do |source|
|
51
|
-
if is_output_outdated?(output, source)
|
52
|
-
puts "Recompile of #{project.name} needed: Sources are newer than target"
|
53
|
-
return true
|
54
|
-
end
|
55
|
-
end
|
56
|
-
dependencies.each do |dependency|
|
57
|
-
if is_output_outdated?(output, dependency)
|
58
|
-
puts "Recompile of #{project.name} needed: Dependencies are newer than target"
|
59
|
-
return true
|
60
|
-
end
|
61
|
-
end
|
62
|
-
puts "Recompile of #{project.name} not needed."
|
63
|
-
false
|
64
|
-
end
|
65
|
-
|
66
|
-
def is_output_outdated?(output, file_to_check)
|
67
|
-
return true unless File.exists? output
|
68
|
-
older(output, file_to_check)
|
69
|
-
end
|
70
|
-
|
71
|
-
def older(a, b) # a older than b
|
72
|
-
timestamp_from_file(a) < timestamp_from_file(b)
|
73
|
-
end
|
74
|
-
|
75
|
-
def timestamp_from_file(file)
|
76
|
-
File.directory?(file) ? get_last_modified(file) : File.mtime(file)
|
77
|
-
end
|
78
|
-
|
79
|
-
def get_last_modified(dir)
|
80
|
-
file_mtimes = []
|
81
|
-
dirs = Dir.new(dir).select { |file| file!= '.' && file!='..' && File.directory?(dir+"/"+file)==true }
|
82
|
-
dirs = dirs.collect { |subdir| dir+"/"+subdir }
|
83
|
-
dirs.each { |subdir| file_mtimes << get_last_modified(subdir) }
|
84
|
-
files = Dir.new(dir).select { |file| file!= '.' && file!='..' && File.directory?(dir+"/"+file)==false }
|
85
|
-
files = files.collect { |file| dir+'/'+file }
|
86
|
-
files.each { |file| file_mtimes << File.mtime(file) }
|
87
|
-
file_mtimes.sort!
|
88
|
-
file_mtimes.reverse!
|
89
|
-
file_mtimes.length > 0 ? file_mtimes.first : Time.at(0)
|
90
|
-
end
|
91
|
-
|
92
|
-
def move_dependency_dirs_to_source( sources, dependencies )
|
93
|
-
moves = []
|
94
|
-
dependencies.each do |dependency|
|
95
|
-
if File.directory? dependency
|
96
|
-
moves << dependency
|
97
|
-
end
|
98
|
-
end
|
99
|
-
moves.each do |move|
|
100
|
-
dependencies.delete move
|
101
|
-
sources << move
|
102
|
-
end
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
class Mxmlc < Buildr::Compiler::Base
|
107
|
-
specify :language => :actionscript,
|
108
|
-
:sources => [:as3, :mxml], :source_ext => [:as, :mxml],
|
109
|
-
:target => "bin", :target_ext => "swf",
|
110
|
-
:packaging => :swf
|
111
|
-
|
112
|
-
attr_reader :project
|
113
|
-
|
114
|
-
def initialize(project, options)
|
115
|
-
super
|
116
|
-
@project = project
|
117
|
-
end
|
118
|
-
|
119
|
-
include CompilerUtils
|
120
|
-
|
121
|
-
def compile(sources, target, dependencies)
|
122
|
-
puts dependencies.join("\n")
|
123
|
-
flex_sdk = options[:flexsdk].invoke
|
124
|
-
output = CompilerUtils::get_output(project, target, :swf, options)
|
125
|
-
move_dependency_dirs_to_source( sources, dependencies)
|
126
|
-
cmd_args = []
|
127
|
-
cmd_args << "-jar" << flex_sdk.mxmlc_jar
|
128
|
-
cmd_args << "+flexlib" << "#{flex_sdk.home}/frameworks"
|
129
|
-
cmd_args << options[:main]
|
130
|
-
cmd_args << "-output" << output
|
131
|
-
cmd_args << "-load-config" << flex_sdk.flex_config
|
132
|
-
append_args(cmd_args,options[:append])
|
133
|
-
sources.each {|source| cmd_args << "-source-path+=#{source}"}
|
134
|
-
# cmd_args << "-source-path" << sources.join(" ")
|
135
|
-
cmd_args << "-library-path+=#{dependencies.join(",")}" unless dependencies.empty?
|
136
|
-
options[:debug] = Buildr.options.debug.to_s
|
137
|
-
options.to_hash.reject { |key, value| reserved_options.include?(key) }.
|
138
|
-
each do |key, value|
|
139
|
-
cmd_args << "-#{key}=#{value}"
|
140
|
-
end
|
141
|
-
flex_sdk.default_options.each do |key, value|
|
142
|
-
cmd_args << "-#{key}=#{value}"
|
143
|
-
end
|
144
|
-
|
145
|
-
puts "args:", cmd_args
|
146
|
-
unless Buildr.application.options.dryrun
|
147
|
-
Java::Commands.java cmd_args
|
148
|
-
end
|
149
|
-
end
|
150
|
-
end
|
151
|
-
|
152
|
-
class AirMxmlc < Buildr::Compiler::Base
|
153
|
-
|
154
|
-
specify :language => :actionscript,
|
155
|
-
:sources => [:as3, :mxml], :source_ext => [:as, :mxml],
|
156
|
-
:target => "bin", :target_ext => "swf",
|
157
|
-
:packaging => :swf
|
158
|
-
|
159
|
-
attr_reader :project
|
160
|
-
|
161
|
-
def initialize(project, options)
|
162
|
-
super
|
163
|
-
@project = project
|
164
|
-
end
|
165
|
-
|
166
|
-
include CompilerUtils
|
167
|
-
|
168
|
-
def compile(sources, target, dependencies)
|
169
|
-
flex_sdk = options[:flexsdk].invoke
|
170
|
-
output = CompilerUtils::get_output(project, target, :swf, options)
|
171
|
-
move_dependency_dirs_to_source( sources, dependencies)
|
172
|
-
cmd_args = []
|
173
|
-
cmd_args << "-jar" << flex_sdk.mxmlc_jar
|
174
|
-
cmd_args << "+flexlib" << "#{flex_sdk.home}/frameworks"
|
175
|
-
cmd_args << "+configname" << "air"
|
176
|
-
cmd_args << options[:main]
|
177
|
-
cmd_args << "-output" << output
|
178
|
-
cmd_args << "-load-config" << flex_sdk.air_config
|
179
|
-
sources.each {|source| cmd_args << "-source-path+=#{source}"}
|
180
|
-
cmd_args << "-library-path+=#{dependencies.join(",")}" unless dependencies.empty?
|
181
|
-
options[:debug] = Buildr.options.debug.to_s
|
182
|
-
options.to_hash.reject { |key, value| reserved_options.include?(key) }.
|
183
|
-
each do |key, value|
|
184
|
-
cmd_args << "-#{key}=#{value}"
|
185
|
-
end
|
186
|
-
flex_sdk.default_options.each do |key, value|
|
187
|
-
cmd_args << "-#{key}=#{value}"
|
188
|
-
end
|
189
|
-
|
190
|
-
unless Buildr.application.options.dryrun
|
191
|
-
Java::Commands.java cmd_args
|
192
|
-
end
|
193
|
-
end
|
194
|
-
end
|
195
|
-
|
196
|
-
class Compc < Buildr::Compiler::Base
|
197
|
-
specify :language => :actionscript,
|
198
|
-
:sources => [:as3, :mxml], :source_ext => [:as, :mxml],
|
199
|
-
:target => "bin", :target_ext => "swc",
|
200
|
-
:packaging => :swc
|
201
|
-
attr_reader :project
|
202
|
-
|
203
|
-
def initialize(project, options)
|
204
|
-
super
|
205
|
-
@project = project
|
206
|
-
end
|
207
|
-
|
208
|
-
include CompilerUtils
|
209
|
-
|
210
|
-
def compile(sources, target, dependencies)
|
211
|
-
flex_sdk = options[:flexsdk].invoke
|
212
|
-
output = CompilerUtils::get_output(project, target, :swc, options)
|
213
|
-
move_dependency_dirs_to_source( sources, dependencies)
|
214
|
-
cmd_args = []
|
215
|
-
cmd_args << "-jar" << flex_sdk.compc_jar
|
216
|
-
cmd_args << "-output" << output
|
217
|
-
cmd_args << "+flexlib" << "#{flex_sdk.home}/frameworks"
|
218
|
-
cmd_args << "-load-config" << flex_sdk.flex_config
|
219
|
-
sources.each {|source| cmd_args << "-include-sources+=#{source}"}
|
220
|
-
cmd_args << "-library-path+=#{dependencies.join(",")}" unless dependencies.empty?
|
221
|
-
options[:debug] = Buildr.options.debug.to_s
|
222
|
-
options.to_hash.reject { |key, value| reserved_options.include?(key) }.
|
223
|
-
each do |key, value|
|
224
|
-
cmd_args << "-#{key}=#{value}"
|
225
|
-
end
|
226
|
-
flex_sdk.default_options.each do |key, value|
|
227
|
-
cmd_args << "-#{key}=#{value}"
|
228
|
-
end
|
229
|
-
|
230
|
-
unless Buildr.application.options.dryrun
|
231
|
-
Java::Commands.java cmd_args
|
232
|
-
end
|
233
|
-
end
|
234
|
-
end
|
235
|
-
|
236
|
-
class AirCompc < Buildr::Compiler::Base
|
237
|
-
specify :language => :actionscript,
|
238
|
-
:sources => [:as3, :mxml], :source_ext => [:as, :mxml],
|
239
|
-
:target => "bin", :target_ext => "swc",
|
240
|
-
:packaging => :swc
|
241
|
-
attr_reader :project
|
242
|
-
|
243
|
-
def initialize(project, options)
|
244
|
-
super
|
245
|
-
@project = project
|
246
|
-
end
|
247
|
-
|
248
|
-
include CompilerUtils
|
249
|
-
|
250
|
-
def compile(sources, target, dependencies)
|
251
|
-
flex_sdk = options[:flexsdk].invoke
|
252
|
-
output = CompilerUtils::get_output(project, target, :swc, options)
|
253
|
-
move_dependency_dirs_to_source( sources, dependencies)
|
254
|
-
cmd_args = []
|
255
|
-
cmd_args << "-jar" << flex_sdk.compc_jar
|
256
|
-
cmd_args << "-output" << output
|
257
|
-
cmd_args << "-load-config" << flex_sdk.air_config
|
258
|
-
cmd_args << "+flexlib" << "#{flex_sdk.home}/frameworks"
|
259
|
-
cmd_args << "+configname" << "air"
|
260
|
-
sources.each {|source| cmd_args << "-include-sources+=#{source}"}
|
261
|
-
cmd_args << "-library-path+=#{dependencies.join(",")}" unless dependencies.empty?
|
262
|
-
options[:debug] = Buildr.options.debug.to_s
|
263
|
-
options.to_hash.reject { |key, value| reserved_options.include?(key) }.
|
264
|
-
each do |key, value|
|
265
|
-
cmd_args << "-#{key}=#{value}"
|
266
|
-
end
|
267
|
-
flex_sdk.default_options.each do |key, value|
|
268
|
-
cmd_args << "-#{key}=#{value}"
|
269
|
-
end
|
270
|
-
|
271
|
-
|
272
|
-
unless Buildr.application.options.dryrun
|
273
|
-
Java::Commands.java cmd_args
|
274
|
-
end
|
275
|
-
end
|
276
|
-
end
|
277
|
-
end
|
278
|
-
end
|
279
|
-
end
|
280
|
-
Buildr::Compiler.compilers << Buildr::AS3::Compiler::Mxmlc
|
281
|
-
Buildr::Compiler.compilers << Buildr::AS3::Compiler::Compc
|
282
|
-
Buildr::Compiler.compilers << Buildr::AS3::Compiler::AirMxmlc
|
283
|
-
Buildr::Compiler.compilers << Buildr::AS3::Compiler::AirCompc
|
29
|
+
Buildr::Compiler << Buildr::AS3::Compiler::Mxmlc
|
30
|
+
Buildr::Compiler << Buildr::AS3::Compiler::Compc
|
31
|
+
Buildr::Compiler << Buildr::AS3::Compiler::AirMxmlc
|
32
|
+
Buildr::Compiler << Buildr::AS3::Compiler::AirCompc
|