asrake 0.14.0 → 0.14.1
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.md +35 -50
- data/asrake.gemspec +3 -7
- data/lib/asrake/adt.rb +6 -6
- data/lib/asrake/base_compiler.rb +3 -2
- metadata +5 -7
data/README.md
CHANGED
@@ -2,23 +2,14 @@
|
|
2
2
|
|
3
3
|
**Quickly and easily create build scripts for Actionscript 3, Flex, and AIR projects.**
|
4
4
|
|
5
|
-
|
6
5
|
## Installation
|
7
6
|
|
8
7
|
### `gem install asrake`
|
9
8
|
|
10
|
-
Or add this line to your application's Gemfile:
|
11
|
-
|
12
|
-
gem 'asrake'
|
13
|
-
|
14
|
-
And then execute:
|
15
|
-
|
16
|
-
$ bundle
|
17
|
-
|
18
|
-
|
19
9
|
## Usage
|
20
10
|
|
21
|
-
Add the path(s) to your Flex SDK for all systems that will need to run the Rake tasks.
|
11
|
+
Add the path(s) to your Flex SDK for all systems that will need to run the Rake tasks. The value of the environment variable `FLEX_HOME` is added to this list by default if it is defined on your system.
|
12
|
+
|
22
13
|
```ruby
|
23
14
|
FlexSDK::SDK_PATHS << 'C:\develop\sdk\flex_sdk_4.6.0.23201'
|
24
15
|
FlexSDK::SDK_PATHS << "C:/develop/sdk/flex_sdk 4.5.1"
|
@@ -36,35 +27,40 @@ Convenience methods are provided for `include_libraries`, `external_library_path
|
|
36
27
|
### Build a SWF or SWC
|
37
28
|
|
38
29
|
```
|
39
|
-
ASRake::Mxmlc(
|
30
|
+
ASRake::Mxmlc.new(output)
|
40
31
|
```
|
41
32
|
```
|
42
|
-
ASRake::Compc(
|
33
|
+
ASRake::Compc.new(output)
|
43
34
|
```
|
44
35
|
|
45
36
|
Assign arguments for your build and optionally run it with a friendlier-named task:
|
46
37
|
|
47
38
|
```ruby
|
48
|
-
args = ASRake::Compc.new "bin/
|
39
|
+
args = ASRake::Compc.new "bin/my_project.swc"
|
49
40
|
args.target_player = 11.0
|
50
41
|
args.debug = true
|
51
|
-
args.source_path << "
|
42
|
+
args.source_path << "src"
|
52
43
|
args.statically_link_only_referenced_classes << "lib/lib_used_in_project.swc"
|
53
44
|
|
54
45
|
desc "Build swc"
|
55
46
|
task :build => args
|
56
47
|
```
|
57
48
|
|
58
|
-
You can
|
49
|
+
You can chain together complex builds and the dependencies will be properly handled:
|
59
50
|
|
60
51
|
```ruby
|
52
|
+
bar = ASRake::Compc.new "lib/other_project/bin/proj.swc"
|
53
|
+
bar.target_player = 11.0
|
54
|
+
bar.source_path << "lib/other_project/src"
|
55
|
+
|
56
|
+
foo = ASRake::Compc.new "bin/my_project.swc"
|
57
|
+
foo.target_player = 11.0
|
58
|
+
foo.debug = true
|
59
|
+
foo.source_path << "src"
|
60
|
+
foo.library_path << bar
|
61
|
+
|
61
62
|
desc "Build swc"
|
62
|
-
|
63
|
-
build.target_player = 11.0
|
64
|
-
build.debug = true
|
65
|
-
build.source_path << "bin/src"
|
66
|
-
build.statically_link_only_referenced_classes << "lib/lib_used_in_project.swc"
|
67
|
-
end
|
63
|
+
task :build => foo
|
68
64
|
```
|
69
65
|
|
70
66
|
### Include ASDoc in a SWC
|
@@ -73,12 +69,10 @@ If you are compiling with `Compc`, you can set the field `include_asdoc` to have
|
|
73
69
|
|
74
70
|
```ruby
|
75
71
|
desc "Build swc"
|
76
|
-
ASRake::Compc.new "bin/bin/my_project.swc"
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
build.include_asdoc = true
|
81
|
-
end
|
72
|
+
swc = ASRake::Compc.new "bin/bin/my_project.swc"
|
73
|
+
swc.target_player = 11.0
|
74
|
+
swc.source_path << "bin/src"
|
75
|
+
swc.include_asdoc = true
|
82
76
|
```
|
83
77
|
|
84
78
|
### Build an AIR
|
@@ -87,25 +81,22 @@ Compile your SWF file as normal, but set the `isAIR` property to true
|
|
87
81
|
|
88
82
|
```ruby
|
89
83
|
desc "Build app"
|
90
|
-
ASRake::Mxmlc.new "bin/my_app.swf"
|
91
|
-
|
92
|
-
|
93
|
-
end
|
84
|
+
my_app = ASRake::Mxmlc.new "bin/my_app.swf"
|
85
|
+
my_app.load_config << "mxmlc_config.xml"
|
86
|
+
my_app.isAIR = true
|
94
87
|
```
|
95
88
|
|
96
89
|
Provide the package task with the AIR and keystore information. If the key doesn't exist, it will be created.
|
97
90
|
|
98
|
-
> Be sure that the swf file is included in the package (eg, it is included here by packaging everything in the bin directory
|
91
|
+
> Be sure that the swf file is included in the package (eg, it is included here by packaging everything in the bin directory: `air.include_files << "bin ."`)
|
99
92
|
|
100
93
|
```ruby
|
101
|
-
ASRake::
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
package.additional_args = "-C bin ."
|
108
|
-
end
|
94
|
+
air = ASRake::Adt.new "deploy/my_app.air"
|
95
|
+
air.keystore = "cert.p12"
|
96
|
+
air.keystore_name = "my_app"
|
97
|
+
air.storepass = "my_app"
|
98
|
+
air.tsa = "none"
|
99
|
+
air.include_files << "bin ."
|
109
100
|
```
|
110
101
|
|
111
102
|
### Version
|
@@ -159,7 +150,7 @@ cp_u "path/to/file.xml", "/dest/dest.xml"
|
|
159
150
|
# copy an array of files
|
160
151
|
cp_u %w{application.xml my_app.swf config.json}, "/dest"
|
161
152
|
|
162
|
-
# use FileList, Dir.glob(), or
|
153
|
+
# use FileList, Dir.glob(), or other methods to copy groups of files
|
163
154
|
cp_u FileList["lib/**/*.swc"], "bin/lib"
|
164
155
|
```
|
165
156
|
|
@@ -170,17 +161,11 @@ You don't need to create a rake task to build a swf or swc. Just call `execute()
|
|
170
161
|
> Note that this will not do any dependency checks, so the build will run even if it is unnecessary
|
171
162
|
|
172
163
|
```ruby
|
173
|
-
args = ASRake::Compc.new "bin/
|
164
|
+
args = ASRake::Compc.new "bin/my_project.swc"
|
174
165
|
args.target_player = 11.0
|
175
|
-
args.source_path << "
|
166
|
+
args.source_path << "src"
|
176
167
|
args.statically_link_only_referenced_classes << "lib/lib_used_in_project.swc"
|
177
168
|
args.execute()
|
178
|
-
|
179
|
-
(ASRake::Mxmlc.new "bin/bin/my_project.swf" do |mxmlc|
|
180
|
-
mxmlc.target_player = 11.0
|
181
|
-
mxmlc.debug = true
|
182
|
-
mxmlc.source_path << "bin/src"
|
183
|
-
end).execute()
|
184
169
|
```
|
185
170
|
|
186
171
|
## Contributing
|
data/asrake.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
Gem::Specification.new do |spec|
|
3
3
|
spec.name = 'asrake'
|
4
|
-
spec.version = '0.14.
|
4
|
+
spec.version = '0.14.1'
|
5
5
|
spec.platform = Gem::Platform::RUBY
|
6
6
|
|
7
7
|
spec.authors = ["Malachi Griffie"]
|
@@ -9,13 +9,9 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.homepage = 'https://github.com/nexussays/ASRake'
|
10
10
|
spec.license = 'MIT'
|
11
11
|
|
12
|
-
spec.summary =
|
13
|
-
A cross-platform Rake library to quickly and easily create build scripts for
|
14
|
-
Actionscript 3, Flex, and AIR projects.
|
15
|
-
DESC
|
12
|
+
spec.summary = "A Rake library for Actionscript 3, Flex, and AIR projects."
|
16
13
|
spec.description = <<DESC
|
17
|
-
A Rake library for Actionscript 3, Flex, and AIR projects.
|
18
|
-
See full documentation at https://github.com/nexussays/ASRake/blob/master/README.md
|
14
|
+
A Rake-based library for quickly and easily creating build scripts for Actionscript 3, Flex, and AIR projects.
|
19
15
|
DESC
|
20
16
|
|
21
17
|
spec.files = Dir['lib/**/*.rb'] + %w[LICENSE README.md asrake.gemspec Gemfile]
|
data/lib/asrake/adt.rb
CHANGED
@@ -51,12 +51,12 @@ class Adt < BaseExecutable
|
|
51
51
|
# define named task first so if desc was called it will be attached to it instead of the file task
|
52
52
|
def execute
|
53
53
|
|
54
|
-
raise "You must define 'output' for #{self}" if self.output == nil
|
55
|
-
raise "You must define 'application_descriptor'" if self.application_descriptor == nil || !File.exists?(self.application_descriptor)
|
56
|
-
raise "You must define 'keystore' for #{self}" if self.keystore == nil
|
57
|
-
raise "You must define 'keystore_name' for #{self}" if self.keystore_name == nil
|
58
|
-
raise "You must define 'storepass' for #{self}" if self.storepass == nil
|
59
|
-
raise "You must define 'include_files' for #{self}\neg: include_files << 'bin .'" if self.include_files.length < 1
|
54
|
+
#raise "You must define 'output' for #{self}" if self.output == nil
|
55
|
+
#raise "You must define 'application_descriptor'" if self.application_descriptor == nil || !File.exists?(self.application_descriptor)
|
56
|
+
#raise "You must define 'keystore' for #{self}" if self.keystore == nil
|
57
|
+
#raise "You must define 'keystore_name' for #{self}" if self.keystore_name == nil
|
58
|
+
#raise "You must define 'storepass' for #{self}" if self.storepass == nil
|
59
|
+
#raise "You must define 'include_files' for #{self}\neg: include_files << 'bin .'" if self.include_files.length < 1
|
60
60
|
|
61
61
|
# TODO: Somehow confirm that the initialWindow content is included in the build
|
62
62
|
#app_xml = Nokogiri::XML(File.read(application_descriptor))
|
data/lib/asrake/base_compiler.rb
CHANGED
@@ -105,10 +105,10 @@ class BaseCompiler < BaseExecutable
|
|
105
105
|
end
|
106
106
|
end
|
107
107
|
|
108
|
-
|
108
|
+
raise "You must define 'target_player' for #{self}" if self.target_player == nil && !is_target_defined
|
109
109
|
|
110
110
|
# TODO: iterate over all non-default config files provided and look for source-path entries
|
111
|
-
#
|
111
|
+
#raise "You must add at least one path to 'source_path' for #{self}" if source_path.empty? && !configSource?
|
112
112
|
|
113
113
|
#
|
114
114
|
# validation complete, generate build args
|
@@ -167,6 +167,7 @@ class BaseCompiler < BaseExecutable
|
|
167
167
|
|
168
168
|
def task_pre_invoke
|
169
169
|
super
|
170
|
+
# TODO: get dependencies from config files
|
170
171
|
# set dependencies on all .as and .mxml files in the source paths
|
171
172
|
dependencies = FileList.new
|
172
173
|
self.source_path.each do |path|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asrake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.14.
|
4
|
+
version: 0.14.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-12-
|
12
|
+
date: 2012-12-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -65,9 +65,8 @@ dependencies:
|
|
65
65
|
- - ~>
|
66
66
|
- !ruby/object:Gem::Version
|
67
67
|
version: '0.9'
|
68
|
-
description: ! 'A Rake library for
|
69
|
-
|
70
|
-
See full documentation at https://github.com/nexussays/ASRake/blob/master/README.md
|
68
|
+
description: ! 'A Rake-based library for quickly and easily creating build scripts
|
69
|
+
for Actionscript 3, Flex, and AIR projects.
|
71
70
|
|
72
71
|
'
|
73
72
|
email:
|
@@ -119,7 +118,6 @@ rubyforge_project:
|
|
119
118
|
rubygems_version: 1.8.24
|
120
119
|
signing_key:
|
121
120
|
specification_version: 3
|
122
|
-
summary: A
|
123
|
-
for Actionscript 3, Flex, and AIR projects.
|
121
|
+
summary: A Rake library for Actionscript 3, Flex, and AIR projects.
|
124
122
|
test_files: []
|
125
123
|
has_rdoc:
|