buildr-as3 0.1.9 → 0.1.10

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.9
1
+ 0.1.10
data/buildr-as3.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{buildr-as3}
8
- s.version = "0.1.9"
8
+ s.version = "0.1.10"
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-02-01}
12
+ s.date = %q{2011-02-03}
13
13
  s.description = %q{Build like you code - now supporting ActionScript 3 & Flex}
14
14
  s.email = %q{dominic @nospam@ devboy.org}
15
15
  s.extra_rdoc_files = [
@@ -37,7 +37,7 @@ Gem::Specification.new do |s|
37
37
  s.homepage = %q{http://github.com/devboy/buildr_as3}
38
38
  s.licenses = ["MIT"]
39
39
  s.require_paths = ["lib"]
40
- s.rubygems_version = %q{1.3.7}
40
+ s.rubygems_version = %q{1.5.0}
41
41
  s.summary = %q{Buildr extension to allow ActionScript3/Flex development.}
42
42
  s.test_files = [
43
43
  "test/helper.rb",
@@ -45,7 +45,6 @@ Gem::Specification.new do |s|
45
45
  ]
46
46
 
47
47
  if s.respond_to? :specification_version then
48
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
49
48
  s.specification_version = 3
50
49
 
51
50
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
@@ -25,7 +25,7 @@ module Buildr
25
25
  class FlexSDK
26
26
 
27
27
  attr_reader :home, :mxmlc_jar, :compc_jar, :asdoc_jar, :fcsh_jar, :flex_config,
28
- :asdoc_templates, :default_options, :air_config, :bin
28
+ :asdoc_templates, :default_options, :air_config, :bin, :adt_jar
29
29
 
30
30
  attr_writer :flex_config, :air_config, :asdoc_templates
31
31
 
@@ -48,6 +48,8 @@ module Buildr
48
48
  @mxmlc_jar = "#{@home}/lib/mxmlc.jar"
49
49
  @compc_jar = "#{@home}/lib/compc.jar"
50
50
  @asdoc_jar = "#{@home}/lib/asdoc.jar"
51
+ @adt_jar = "#{@home}/lib/adt.jar"
52
+ @adl = Buildr::Util.win_os? ? "#{@home}/bin/adl.exe" : "#{@home}/bin/adl"
51
53
  @asdoc_templates = "#{@home}/asdoc/templates"
52
54
  @fcsh_jar = "#{@home}/lib/fcsh.jar"
53
55
  @flex_config = "#{@home}/frameworks/flex-config.xml"
@@ -91,6 +91,81 @@ module Buildr
91
91
 
92
92
  end
93
93
 
94
+ class AirTask < Rake::FileTask
95
+
96
+ include Extension
97
+ include Buildr::AS3::Compiler::CompilerUtils
98
+
99
+ attr_writer :target_air, :src_swf, :flexsdk
100
+ attr_reader :target_air, :src_swf, :storetype, :keystore, :storepass, :appdescriptor, :libs, :flexsdk
101
+
102
+ def initialize(*args) #:nodoc:
103
+ super
104
+ enhance do
105
+ fail "File not found: #{src_swf}" unless File.exists? src_swf
106
+ cmd_args = []
107
+ cmd_args << "-jar" << flexsdk.adt_jar
108
+ cmd_args << "-package"
109
+ cmd_args << "-storetype" << storetype
110
+ cmd_args << "-keystore" << keystore
111
+ cmd_args << "-storepass" << storepass
112
+ cmd_args << target_air
113
+ cmd_args << appdescriptor
114
+ cmd_args << "-C" << File.dirname(src_swf) << File.basename(src_swf)
115
+ # puts libs unless libs.nil?
116
+ libs.each do |key, value|
117
+ puts "key,value", key, value
118
+ cmd_args << "-C" << key << value
119
+ end unless libs.nil?
120
+
121
+ puts cmd_args.join " "
122
+
123
+ unless Buildr.application.options.dryrun
124
+ Java::Commands.java cmd_args
125
+ end
126
+ end
127
+ end
128
+
129
+ def needed?
130
+ is_output_outdated? target_air, src_swf
131
+ end
132
+
133
+ first_time do
134
+ desc 'create air package task'
135
+ Project.local_task('package_air')
136
+ end
137
+
138
+ before_define do |project|
139
+ AirTask.define_task('package_air').tap do |package_air|
140
+ package_air
141
+ end
142
+ end
143
+
144
+ def sign(*args)
145
+ args.each do |arg|
146
+ @storetype = arg[:storetype] if arg.has_key? :storetype
147
+ @keystore = arg[:keystore] if arg.has_key? :keystore
148
+ @storepass = arg[:storepass] if arg.has_key? :storepass
149
+ @appdescriptor = arg[:appdescriptor] if arg.has_key? :appdescriptor
150
+ end
151
+ self
152
+ end
153
+
154
+ def with(*args)
155
+ @libs ||= Hash.new
156
+ args.each do |arg|
157
+ case arg
158
+ when Hash
159
+ arg.each do |key,value|
160
+ @libs[key] = value
161
+ end
162
+ end
163
+ end
164
+ self
165
+ end
166
+
167
+ end
168
+
94
169
  def package_swc(&block)
95
170
  task("package_swc").enhance &block
96
171
  end
@@ -99,6 +174,10 @@ module Buildr
99
174
  task("package_swf").enhance &block
100
175
  end
101
176
 
177
+ def package_air(&block)
178
+ task("package_air").enhance &block
179
+ end
180
+
102
181
  protected
103
182
 
104
183
  def package_as_swc(file_name)
@@ -117,6 +196,15 @@ module Buildr
117
196
  end
118
197
  end
119
198
 
199
+ def package_as_air(file_name)
200
+ fail("Package types don't match! :swf vs. :#{compile.packaging.to_s}") unless compile.packaging == :swf
201
+ AirTask.define_task(file_name).tap do |swf|
202
+ swf.src_swf = Buildr::AS3::Compiler::CompilerUtils::get_output(project,compile.target,:swf,compile.options)
203
+ swf.target_air = file_name
204
+ swf.flexsdk = compile.options[:flexsdk]
205
+ end
206
+ end
207
+
120
208
  end
121
209
  end
122
210
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: buildr-as3
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
5
- prerelease: false
4
+ hash: 15
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 9
10
- version: 0.1.9
9
+ - 10
10
+ version: 0.1.10
11
11
  platform: ruby
12
12
  authors:
13
13
  - Dominic Graefen
@@ -15,10 +15,12 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-01 00:00:00 +01:00
18
+ date: 2011-02-03 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
+ prerelease: false
23
+ type: :development
22
24
  requirement: &id001 !ruby/object:Gem::Requirement
23
25
  none: false
24
26
  requirements:
@@ -28,11 +30,11 @@ dependencies:
28
30
  segments:
29
31
  - 0
30
32
  version: "0"
31
- type: :development
32
33
  name: shoulda
33
- prerelease: false
34
34
  version_requirements: *id001
35
35
  - !ruby/object:Gem::Dependency
36
+ prerelease: false
37
+ type: :development
36
38
  requirement: &id002 !ruby/object:Gem::Requirement
37
39
  none: false
38
40
  requirements:
@@ -44,11 +46,11 @@ dependencies:
44
46
  - 0
45
47
  - 0
46
48
  version: 1.0.0
47
- type: :development
48
49
  name: bundler
49
- prerelease: false
50
50
  version_requirements: *id002
51
51
  - !ruby/object:Gem::Dependency
52
+ prerelease: false
53
+ type: :development
52
54
  requirement: &id003 !ruby/object:Gem::Requirement
53
55
  none: false
54
56
  requirements:
@@ -60,11 +62,11 @@ dependencies:
60
62
  - 5
61
63
  - 2
62
64
  version: 1.5.2
63
- type: :development
64
65
  name: jeweler
65
- prerelease: false
66
66
  version_requirements: *id003
67
67
  - !ruby/object:Gem::Dependency
68
+ prerelease: false
69
+ type: :development
68
70
  requirement: &id004 !ruby/object:Gem::Requirement
69
71
  none: false
70
72
  requirements:
@@ -74,11 +76,11 @@ dependencies:
74
76
  segments:
75
77
  - 0
76
78
  version: "0"
77
- type: :development
78
79
  name: rcov
79
- prerelease: false
80
80
  version_requirements: *id004
81
81
  - !ruby/object:Gem::Dependency
82
+ prerelease: false
83
+ type: :runtime
82
84
  requirement: &id005 !ruby/object:Gem::Requirement
83
85
  none: false
84
86
  requirements:
@@ -90,9 +92,7 @@ dependencies:
90
92
  - 4
91
93
  - 4
92
94
  version: 1.4.4
93
- type: :runtime
94
95
  name: buildr
95
- prerelease: false
96
96
  version_requirements: *id005
97
97
  description: Build like you code - now supporting ActionScript 3 & Flex
98
98
  email: dominic @nospam@ devboy.org
@@ -150,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
150
  requirements: []
151
151
 
152
152
  rubyforge_project:
153
- rubygems_version: 1.3.7
153
+ rubygems_version: 1.5.0
154
154
  signing_key:
155
155
  specification_version: 3
156
156
  summary: Buildr extension to allow ActionScript3/Flex development.