buildr-as3 0.1.9 → 0.1.10

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