buildr-as3 0.1.17 → 0.1.18
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 +4 -12
- data/VERSION +1 -1
- data/buildr-as3.gemspec +2 -2
- data/lib/buildr/as3/alchemy.rb +93 -23
- data/lib/buildr/as3/apparat.rb +5 -5
- data/lib/buildr/as3/flexsdk.rb +1 -1
- data/lib/buildr/as3/ide/fdt4.rb +6 -3
- metadata +4 -4
data/README.rdoc
CHANGED
@@ -6,23 +6,15 @@
|
|
6
6
|
|
7
7
|
== 0.1.17
|
8
8
|
|
9
|
-
* [FXIED]
|
10
|
-
Actually no files were updated in version 0.1.16 because of a git hick-up,
|
11
|
-
now the changes meant for 0.1.16 are applied in 0.1.17.
|
9
|
+
* [FXIED] Actually no files were updated in version 0.1.16 because of a git hick-up, now the changes meant for 0.1.16 are applied in 0.1.17.
|
12
10
|
|
13
11
|
== 0.1.16
|
14
12
|
|
15
|
-
* [FEATURE]
|
16
|
-
API for Framworks and Toolkits integration has been refactored and updated.
|
13
|
+
* [FEATURE] API for Framworks and Toolkits integration has been refactored and updated.
|
17
14
|
|
18
|
-
* [FIXED] Issue 15
|
19
|
-
Zip file extraction is now handled with gnuwin32 unzip on Windows, and the equivalent
|
20
|
-
on *nix platforms as a fallback for rubyzip.
|
21
|
-
On Windows gnuwin32 unzip needs to be installed and added to the PATH variable.
|
15
|
+
* [FIXED] Issue 15: Zip file extraction is now handled with gnuwin32 unzip on Windows, and the equivalent on *nix platforms as a fallback for rubyzip. On Windows gnuwin32 unzip needs to be installed and added to the PATH variable.
|
22
16
|
|
23
|
-
* [FIXED] Issue 16
|
24
|
-
Binarymode was not set on target-file, which caused the downloaded archive to be corrupt.
|
25
|
-
This is an issue of buildr and was reported.
|
17
|
+
* [FIXED] Issue 16: Binarymode was not set on target-file, which caused the downloaded archive to be corrupt. This is an issue of buildr and was reported.
|
26
18
|
|
27
19
|
== 0.1.13
|
28
20
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.18
|
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.
|
8
|
+
s.version = "0.1.18"
|
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-
|
12
|
+
s.date = %q{2011-02-10}
|
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 = [
|
data/lib/buildr/as3/alchemy.rb
CHANGED
@@ -24,44 +24,113 @@ module Buildr
|
|
24
24
|
module Alchemy
|
25
25
|
class AlchemyToolkit
|
26
26
|
|
27
|
-
attr_reader :home, :achacks, :gcc, :flex_sdk, :alchemy_setup, :bin
|
27
|
+
attr_reader :home, :achacks, :gcc, :flex_sdk, :alchemy_setup, :bin, :swfbridge
|
28
28
|
|
29
29
|
def initialize(flex_sdk)
|
30
|
+
@version = "1.0-PR1"
|
31
|
+
@system = Buildr::Util.win_os? ? "win" : "unix"
|
32
|
+
@spec = "com.adobe.alchemy:toolkit:zip:#{@system}:#{@version}"
|
33
|
+
@flex_sdk = flex_sdk
|
34
|
+
@alchemy_zip = Buildr.artifact(@spec)
|
35
|
+
@alchemy_dir = File.join(File.dirname(@alchemy_zip.to_s), "alchemy-#{@system}-#{@version}", get_alchemy_toolkit_subfolder(@system) )
|
36
|
+
generate_paths @alchemy_dir
|
37
|
+
self
|
38
|
+
end
|
30
39
|
|
31
|
-
|
40
|
+
def invoke
|
41
|
+
@url ||= get_alchemy_toolkit_url(@system)
|
42
|
+
|
43
|
+
# if @url
|
44
|
+
# Buildr.artifact(@spec).from(Buildr.download(@url)).invoke unless File.exists? @alchemy_zip.to_s
|
45
|
+
# else
|
46
|
+
# Buildr.artifact(@spec).invoke unless File.exists? @alchemy_zip.to_s
|
47
|
+
# end
|
48
|
+
|
49
|
+
if Buildr::Util.win_os?
|
50
|
+
unless File.exists? @alchemy_zip.to_s
|
51
|
+
FileUtils.mkdir_p File.dirname(@alchemy_zip.to_s) unless File.directory? File.dirname(@alchemy_zip.to_s)
|
52
|
+
File.open @alchemy_zip.to_s, 'w' do |file|
|
53
|
+
file.binmode()
|
54
|
+
URI.read(@url, {:progress=>true}) { |chunk| file.write chunk }
|
55
|
+
end
|
56
|
+
end
|
57
|
+
else
|
58
|
+
Buildr.artifact(@spec).from(Buildr.download(@url)).invoke unless File.exists? @alchemy_zip.to_s
|
59
|
+
end
|
32
60
|
|
33
|
-
|
61
|
+
unless File.exists? @alchemy_dir
|
62
|
+
puts "Unzipping Alchemy, this might take a while."
|
63
|
+
unzip_dir = File.dirname @alchemy_dir
|
64
|
+
if Buildr::Util.win_os?
|
65
|
+
puts "Please make sure unzip is installed and in your PATH variable!"
|
66
|
+
unzip @alchemy_zip, unzip_dir
|
67
|
+
else
|
68
|
+
begin
|
69
|
+
Buildr.unzip(unzip_dir.to_s=>@alchemy_zip.to_s).target.invoke
|
70
|
+
rescue TypeError
|
71
|
+
puts "RubyZip extract failed, trying system unzip now."
|
72
|
+
unzip @alchemy_zip, unzip_dir
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
setup unless File.exists? @alchemy_setup
|
77
|
+
self
|
78
|
+
end
|
34
79
|
|
35
|
-
|
36
|
-
|
80
|
+
def from(url)
|
81
|
+
@url = url
|
82
|
+
self
|
83
|
+
end
|
37
84
|
|
38
|
-
|
39
|
-
toolkit_zip.invoke unless File.exists? toolkit_zip.to_s
|
85
|
+
protected
|
40
86
|
|
41
|
-
|
87
|
+
def unzip(zip, destination)
|
88
|
+
project_dir = Dir.getwd
|
89
|
+
Dir.chdir File.dirname(zip.to_s)
|
90
|
+
system("unzip #{File.basename(zip.to_s).to_s} -d #{File.basename(destination).to_s}")
|
91
|
+
Dir.chdir project_dir
|
92
|
+
end
|
42
93
|
|
43
|
-
|
44
|
-
|
45
|
-
|
94
|
+
def setup
|
95
|
+
project_dir = Dir.getwd
|
96
|
+
ENV["PATH"] = "#{flex_sdk.bin}#{File::PATH_SEPARATOR}#{ENV["PATH"]}"
|
97
|
+
Dir.chdir @home
|
98
|
+
system("sh ./config")
|
99
|
+
if Buildr::Util.win_os?
|
100
|
+
Dir.chdir @bin
|
101
|
+
system("ln -sf llvm-stub llvm-stub.exe")
|
46
102
|
end
|
103
|
+
Dir.chdir project_dir
|
104
|
+
end
|
47
105
|
|
48
|
-
|
106
|
+
def generate_paths(home_dir)
|
107
|
+
@home = home_dir
|
49
108
|
@achacks = "#{@home}/achacks"
|
50
109
|
@gcc = "#{@achacks}/gcc"
|
51
110
|
@alchemy_setup = "#{@home}/alchemy-setup"
|
52
111
|
@config = "#{@home}/config"
|
53
112
|
@bin = "#{@home}/bin"
|
113
|
+
@swfbridge = Buildr::Util.win_os? ? "#{@bin}/swfbridge.exe" : "#{@bin}/swfbridge"
|
114
|
+
end
|
54
115
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
system("sh ./config")
|
61
|
-
Dir.chdir project_dir
|
116
|
+
def get_alchemy_toolkit_subfolder(system)
|
117
|
+
if system == "win"
|
118
|
+
folder = "alchemy-cygwin-v0.5a"
|
119
|
+
else
|
120
|
+
folder = "alchemy-darwin-v0.5a"
|
62
121
|
end
|
122
|
+
folder
|
123
|
+
end
|
63
124
|
|
125
|
+
def get_alchemy_toolkit_url(system)
|
126
|
+
if system == "win"
|
127
|
+
url = "http://download.macromedia.com/pub/labs/alchemy/alchemy_sdk_cygwin_p1_121008.zip"
|
128
|
+
else
|
129
|
+
url = "http://download.macromedia.com/pub/labs/alchemy/alchemy_sdk_darwin_p1_121008.zip"
|
130
|
+
end
|
131
|
+
url
|
64
132
|
end
|
133
|
+
|
65
134
|
end
|
66
135
|
|
67
136
|
module Compiler
|
@@ -81,7 +150,7 @@ module Buildr
|
|
81
150
|
include Buildr::AS3::Compiler::CompilerUtils
|
82
151
|
|
83
152
|
def compile(sources, target, dependencies)
|
84
|
-
alchemy_tk = options[:alchemy]
|
153
|
+
alchemy_tk = options[:alchemy].invoke
|
85
154
|
flex_sdk = alchemy_tk.flex_sdk
|
86
155
|
output = Buildr::AS3::Compiler::CompilerUtils::get_output(project, target, :swc, options)
|
87
156
|
|
@@ -101,10 +170,11 @@ module Buildr
|
|
101
170
|
unless Buildr.application.options.dryrun
|
102
171
|
ENV["ALCHEMY_HOME"]= alchemy_tk.home
|
103
172
|
ENV["ALCHEMY_VER"] = "0.4a"
|
104
|
-
ENV["PATH"] = "#{alchemy_tk.bin}
|
173
|
+
ENV["PATH"] = "#{alchemy_tk.bin}#{File::PATH_SEPARATOR}#{ENV["PATH"]}"
|
105
174
|
ENV["ASC"]="#{alchemy_tk.home}/bin/asc.jar"
|
106
|
-
ENV["
|
107
|
-
ENV["
|
175
|
+
ENV["ADL"]=alchemy_tk.flex_sdk.adl
|
176
|
+
ENV["SWFBRIDGE"]=alchemy_tk.swfbridge
|
177
|
+
ENV["PATH"] = "#{alchemy_tk.achacks}#{File::PATH_SEPARATOR}#{ENV["PATH"]}"
|
108
178
|
ENV["PATH"] = "#{ENV["PATH"]}:#{flex_sdk.bin}"
|
109
179
|
project_dir = Dir.getwd
|
110
180
|
Dir.chdir File.dirname options[:main]
|
data/lib/buildr/as3/apparat.rb
CHANGED
@@ -100,7 +100,6 @@ module Buildr
|
|
100
100
|
end
|
101
101
|
end
|
102
102
|
|
103
|
-
|
104
103
|
module Tasks
|
105
104
|
include Extension
|
106
105
|
|
@@ -119,7 +118,7 @@ module Buildr
|
|
119
118
|
output = Buildr::AS3::Compiler::CompilerUtils::get_output(project, compile.target, compile.packaging, compile.options)
|
120
119
|
apparat_tk = compile.options[:apparat].invoke
|
121
120
|
cmd_args = []
|
122
|
-
cmd_args << "
|
121
|
+
cmd_args << "#{apparat_tk.tdsi}"
|
123
122
|
cmd_args << "-i #{output}"
|
124
123
|
cmd_args << "-o #{output}"
|
125
124
|
reserved = []
|
@@ -128,15 +127,16 @@ module Buildr
|
|
128
127
|
cmd_args << "-#{key} #{value}"
|
129
128
|
end
|
130
129
|
ENV["PATH"] = "#{apparat_tk.scala_home}/bin#{File::PATH_SEPARATOR}#{ENV["PATH"]}" if apparat_tk.scala_home && !ENV["PATH"].include?("#{apparat_tk.scala_home}/bin")
|
131
|
-
puts "path:", ENV["PATH"]
|
132
|
-
puts "tdsi:",cmd_args.join(" "), system(cmd_args.join " ")
|
130
|
+
# puts "path:", ENV["PATH"]
|
131
|
+
# puts "tdsi:",cmd_args.join(" "), system(cmd_args.join " ")
|
132
|
+
system(cmd_args.join " ")
|
133
133
|
end
|
134
134
|
|
135
135
|
def apparat_reducer(quality)
|
136
136
|
output = Buildr::AS3::Compiler::CompilerUtils::get_output(project, compile.target, compile.packaging, compile.options)
|
137
137
|
apparat_tk = compile.options[:apparat].invoke
|
138
138
|
cmd_args = []
|
139
|
-
cmd_args << "
|
139
|
+
cmd_args << "#{apparat_tk.reducer}"
|
140
140
|
cmd_args << "-i #{output}"
|
141
141
|
cmd_args << "-o #{output}"
|
142
142
|
cmd_args << "-q"
|
data/lib/buildr/as3/flexsdk.rb
CHANGED
@@ -29,7 +29,7 @@ module Buildr
|
|
29
29
|
class FlexSDK
|
30
30
|
|
31
31
|
attr_reader :home, :mxmlc_jar, :compc_jar, :asdoc_jar, :fcsh_jar, :flex_config,
|
32
|
-
:asdoc_templates, :default_options, :air_config, :bin, :adt_jar
|
32
|
+
:asdoc_templates, :default_options, :air_config, :bin, :adt_jar, :adl
|
33
33
|
|
34
34
|
attr_writer :flex_config, :air_config, :asdoc_templates
|
35
35
|
|
data/lib/buildr/as3/ide/fdt4.rb
CHANGED
@@ -100,9 +100,12 @@ module Buildr
|
|
100
100
|
path = dependency.to_s
|
101
101
|
end
|
102
102
|
target = project.path_to(:lib, :main, :as3) + "/" + File.basename(path)
|
103
|
-
|
104
|
-
File.
|
105
|
-
|
103
|
+
if target != path
|
104
|
+
unless File.exists?(target) && !File.symlink?(target)
|
105
|
+
puts "Creating symlink: #{target}"
|
106
|
+
File.delete(target) if File.exists?(target)
|
107
|
+
File.symlink path, target
|
108
|
+
end
|
106
109
|
end
|
107
110
|
target
|
108
111
|
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:
|
4
|
+
hash: 63
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 18
|
10
|
+
version: 0.1.18
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Dominic Graefen
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-02-
|
18
|
+
date: 2011-02-10 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|