asproject 0.1.33 → 0.1.34

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.
@@ -1,2 +0,0 @@
1
-
2
- * Working on Flash Player Rake task
@@ -1,4 +1,4 @@
1
- Copyright (c) 2007 Luke Bayes
1
+ Copyright (c) 2007 Pattern Park
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.txt CHANGED
@@ -1,3 +1,2 @@
1
1
  README for asproject
2
2
  ====================
3
-
data/TODO.txt CHANGED
@@ -1,7 +1,7 @@
1
1
  ---------------------
2
- Tasks Remaining
2
+ TODO
3
3
 
4
- * Get empty directories to bundle in the gem file
5
4
  * Get Flash Player to run on mac and win
5
+ * Add support for arbitrary external dependencies (mtasc, swfmill, hamtasc, etc)
6
6
  * Display trace output across platforms for running flash players
7
7
 
@@ -59,7 +59,7 @@ module AsProject
59
59
  elsif(name.match(/Test$/))
60
60
  is_test_case = true
61
61
  template = test_case_template
62
- elsif(name.index('I') == 0 || name.index('able') == name.size - 4)
62
+ elsif(name.match(/^I[A-Z]/) || name.match(/able$/))
63
63
  is_interface = true
64
64
  template = interface_template
65
65
  else
@@ -17,6 +17,7 @@ require 'project'
17
17
  require 'eclipse_project'
18
18
  require 'asproject_arguments'
19
19
  require 'asclass'
20
+ require 'tasks/remote_file_task'
20
21
 
21
22
  module AsProject
22
23
  class AsProject < AsProjectBase
@@ -2,7 +2,7 @@ module AsProject
2
2
  module VERSION
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
- TINY = 33
5
+ TINY = 34
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -21,12 +21,12 @@ def AsProject::windowize_cygwin_path2(name)
21
21
  return name
22
22
  end
23
23
 
24
- def Dir::unique_tmpdir(application='RubyApplication')
24
+ def AsProject::unique_tmpdir(application='RubyApplication')
25
25
  rand_max = RAND_CHARS.size
26
26
  uniqueish_name = ''
27
27
  24.times{ uniqueish_name << RAND_CHARS[rand(rand_max)] }
28
28
 
29
- tmp = Dir.tmpdir
29
+ tmp = AsProject.asproject_tmpdir
30
30
  app_tmp = File.join(tmp, application)
31
31
  if(!File.exists?(app_tmp))
32
32
  Dir.mkdir(app_tmp)
@@ -34,16 +34,16 @@ def Dir::unique_tmpdir(application='RubyApplication')
34
34
 
35
35
  tmp = File.expand_path(File.join(app_tmp, uniqueish_name))
36
36
  if(File.exists?(tmp) && is_retry)
37
- raise ProjectError.new('Dir.unique_tmpdir attempted to create a new dir over an existing dir')
37
+ raise ProjectError.new('AsProject.unique_tmpdir attempted to create a new dir over an existing dir')
38
38
  # else if(File.exists?(tmp))
39
39
  # Try again once before failing, uniqueish names aren't too unique...
40
- # Dir.unique_tmpdir(application, true)
40
+ # AsProject.unique_tmpdir(application, true)
41
41
  end
42
42
  Dir.mkdir(tmp)
43
43
  return tmp
44
44
  end
45
45
 
46
- def Dir::tmpdir
46
+ def AsProject::asproject_tmpdir
47
47
  tmp = nil
48
48
  for dir in [ENV['TMPDIR'], ENV['TMP'], ENV['TEMP'],
49
49
  ENV['USERPROFILE'], '/tmp']
@@ -41,6 +41,10 @@ module AsProject
41
41
  return @user.flash_player_trust
42
42
  end
43
43
 
44
+ def remote_file_task(name, task)
45
+ return @user.remote_file_task(name, task)
46
+ end
47
+
44
48
  def gem_asproject_home
45
49
  parent = File.dirname(File.dirname(__FILE__))
46
50
  return File.expand_path(parent)
@@ -228,6 +232,16 @@ module AsProject
228
232
  @flash_log_file_name = 'flashlog.txt'
229
233
  end
230
234
 
235
+ def remote_file_task(name, task)
236
+ return UnixRemoteFileTask.new(name, self) do |t|
237
+ if(task.unix_url.nil?)
238
+ raise UsageError.new("There was a problem finding a target for #{task.name}, it doesn't appear as if this task was expected to run on your system...")
239
+ end
240
+ t.url = task.unix_url
241
+ t.extracted_file = task.unix_extracted_file
242
+ end
243
+ end
244
+
231
245
  def asproject_home
232
246
  return get_or_create(File.join(home, @default_asproject))
233
247
  end
@@ -301,6 +315,10 @@ EOF
301
315
  return file
302
316
  end
303
317
 
318
+ def downloads
319
+ return File.join(asproject_home, 'downloads')
320
+ end
321
+
304
322
  def home
305
323
  ["HOME", "USERPROFILE"].each do |homekey|
306
324
  return ENV[homekey] if ENV[homekey]
@@ -352,6 +370,16 @@ EOF
352
370
  @osx_asproject = 'AsProject'
353
371
  end
354
372
 
373
+ def remote_file_task(name, task)
374
+ return OSXRemoteFileTask.new(name, self) do |t|
375
+ if(task.osx_url.nil?)
376
+ raise UsageError.new("There was a problem finding a target for #{task.name}, it doesn't appear as if this task was expected to run on your system...")
377
+ end
378
+ t.url = task.osx_url
379
+ t.extracted_file = task.osx_extracted_file
380
+ end
381
+ end
382
+
355
383
  def flash_player_home
356
384
  return File.join(library, 'Preferences', 'Macromedia', 'Flash Player')
357
385
  end
@@ -388,6 +416,16 @@ EOF
388
416
  @win_asproject = 'AsProject'
389
417
  end
390
418
 
419
+ def remote_file_task(name, task)
420
+ return WinRemoteFileTask.new(name, self) do |t|
421
+ if(task.win_url.nil?)
422
+ raise UsageError.new("There was a problem finding a target for #{task.name}, it doesn't appear as if this task was expected to run on your system...")
423
+ end
424
+ t.url = task.win_url
425
+ t.extracted_file = task.win_extracted_file
426
+ end
427
+ end
428
+
391
429
  def home
392
430
  usr = super
393
431
  if(usr.index "My Documents")
@@ -433,6 +471,16 @@ EOF
433
471
  windowized = File.join("#{ENV['HOMEDRIVE']}#{ENV['HOMEPATH']}", 'Application Data', 'Macromedia', 'Flash Player', 'Logs', 'flashlog.txt')
434
472
  content.gsub!(flash_player_log, windowized)
435
473
  end
474
+
475
+ def remote_file_task(name, task)
476
+ return CygwinRemoteFileTask.new(name, self) do |t|
477
+ if(task.win_url.nil?)
478
+ raise UsageError.new("There was a problem finding a target for #{task.name}, it doesn't appear as if this task was expected to run on your system...")
479
+ end
480
+ t.url = task.win_url
481
+ t.extracted_file = task.win_extracted_file
482
+ end
483
+ end
436
484
  end
437
485
 
438
486
  class VistaUser < WinUser
@@ -65,7 +65,7 @@ EOF
65
65
 
66
66
  if(response.code != '200')
67
67
  msg = "Download failed for\n"
68
- msg <<"http://#{host}#{url}\n"
68
+ msg << "http://#{host}#{url}\n"
69
69
  msg << "with HTTP Status code: #{response.code.to_s}\n"
70
70
  msg << response.message
71
71
  raise UsageError.new(msg)
@@ -77,6 +77,7 @@ EOF
77
77
 
78
78
 
79
79
  result = ''
80
+
80
81
  if(is_zip?(url))
81
82
  File.open(zip_file, 'w') do |f|
82
83
  f.write(response.body)
@@ -0,0 +1,66 @@
1
+
2
+ require File.dirname(__FILE__) + '/remote_file_task'
3
+
4
+ module AsProject
5
+ class HAMTASCError < StandardError; end
6
+
7
+ class HAMTASC < MTASC
8
+
9
+ attr_accessor :pack_path,
10
+ :rb_entry,
11
+ :rb_exclude_swf,
12
+ :rb_exclude_path
13
+
14
+ def initialize(name=:compile, do_not_define=false)
15
+ @pack_path = []
16
+ @exclude_packages = []
17
+ @rb_exclude_path = []
18
+ super(name, true) do |s|
19
+ s.compiler_version = '1.12.rb.20'
20
+ s.win_url = "http://asproject.googlecode.com/files/hamtasc-#{compiler_version}.zip"
21
+ s.win_extracted_file = "/hamtasc-#{compiler_version}/hamtasc.exe"
22
+ s.osx_url = nil
23
+ s.osx_extracted_file = nil
24
+ s.unix_url = nil
25
+ s.unix_extracted_file = nil
26
+ end
27
+ yield self if block_given?
28
+ define unless do_not_define
29
+ end
30
+
31
+ def define
32
+ if(rb_exclude_path.size > 0)
33
+ @exclude_packages = rb_exclude_path
34
+ # rb_exclude_path.each do |path|
35
+ # @exclude_packages << recurse_exclude_path(path)
36
+ # end
37
+ end
38
+
39
+ @cleaned_pack_path = []
40
+ pack_path.each do |path|
41
+ add_path(path, @cleaned_pack_path)
42
+ end
43
+
44
+ super
45
+ end
46
+
47
+ def remote_task_name
48
+ return "hamtasc-#{compiler_version}"
49
+ end
50
+
51
+ def compile_task_desc
52
+ return "Compile #{name} using HAMTASC"
53
+ end
54
+
55
+ def option_list
56
+ result = super
57
+ input = result.pop if(input)
58
+ result << "-rb_entry" << rb_entry if rb_entry
59
+ result << "-rb_exclude_swf" << clean_path(rb_exclude_swf) if rb_exclude_swf
60
+ result << "-rb_exclude_package " << @exclude_packages.join(" -rb_exclude_package ") if @exclude_packages.size > 0
61
+ result << "-pack " + @cleaned_pack_path.join(" -pack ") if pack_path.size > 0
62
+ result << input if input
63
+ return result
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,110 @@
1
+
2
+ require File.dirname(__FILE__) + '/remote_file_task'
3
+
4
+ module AsProject
5
+ class MTASCError < StandardError; end
6
+
7
+ class MTASC < RemoteFileTask
8
+
9
+ attr_accessor :name,
10
+ :version,
11
+ :compiler_version,
12
+ :main,
13
+ :header,
14
+ :frame,
15
+ :verbose,
16
+ :mx,
17
+ :input,
18
+ :input_swf,
19
+ :class_path,
20
+ :output
21
+
22
+ def initialize(name=:compile, do_not_define=false)
23
+ @compiler_version = '1.13'
24
+ @options = []
25
+ @class_path = []
26
+ @user_task = nil
27
+ @win_url = "http://www.mtasc.org/zip/mtasc-#{compiler_version}.zip"
28
+ @win_extracted_file = "/mtasc-#{compiler_version}/mtasc.exe"
29
+ @osx_url = "http://www.mtasc.org/zip/mtasc-#{compiler_version}.dmg"
30
+ @osx_extracted_file = "/mtasc-#{compiler_version}/mtasc.app"
31
+ @unix_url = "http://www.mtasc.org/zip/mtasc-#{compiler_version}.tar.gz"
32
+ @unix_extracted_file = "/mtasc-#{compiler_version}/mtasc"
33
+ super(name, true)
34
+ define unless do_not_define
35
+ end
36
+
37
+ def remote_task_name
38
+ return "mtasc-#{compiler_version}"
39
+ end
40
+
41
+ def compile_task_desc
42
+ return "Compile #{name} using MTASC"
43
+ end
44
+
45
+ # Create the tasks defined by this task lib.
46
+ def define
47
+ super
48
+ # if(!input_swf && !header && pack_path.size == 0)
49
+ # raise MTASCError.new('MTASC task must be provided with an input_swf, a header argument, or at least one pack_path')
50
+ # end
51
+ # if(header && !input_swf && output)
52
+ # raise MTASCError.new('It looks like you used the output parameter where you should have used the swf parameter')
53
+ # end
54
+ desc compile_task_desc
55
+ task name => [output]
56
+ CLEAN.add(output)
57
+
58
+ if(input_swf)
59
+ file input_swf
60
+ task name => [input_swf]
61
+ end
62
+
63
+ @cleaned_class_paths = []
64
+ class_path.each do |path|
65
+ add_path(path, @cleaned_class_paths)
66
+ end
67
+
68
+ file output do |f|
69
+ user_task.execute(option_list.join(' '))
70
+ end
71
+
72
+ self
73
+ end
74
+
75
+ def recurse_exclude_path(dir)
76
+ paths = [dir]
77
+ Dir[dir + '/*'].each do |f|
78
+ if(File.directory?(f))
79
+ paths << recurse_exclude_path(f)
80
+ end
81
+ end
82
+ return paths
83
+ end
84
+
85
+ def add_path(path, list)
86
+ as_files = FileList[path + '/**/**/*.as']
87
+ file as_files
88
+ file output => as_files
89
+ xml_files = FileList[path + '/**/**/*.xml']
90
+ file xml_files
91
+ file output => xml_files
92
+
93
+ list << clean_path(path)
94
+ end
95
+
96
+ def option_list
97
+ result = @options.dup
98
+ result << "-header" << header if header
99
+ result << "-mx" if mx
100
+ result << "-v" if verbose
101
+ result << "-frame" << frame if frame
102
+ result << "-cp " + @cleaned_class_paths.join(" -cp ") if class_path.size > 0
103
+ result << "-swf" << clean_path(input_swf) if input_swf
104
+ result << "-out" << clean_path(output) if output
105
+ result << "-main" if main
106
+ result << clean_path(input) if input
107
+ return result
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,6 @@
1
+
2
+ require 'rake/clean'
3
+ require 'rake/tasklib'
4
+ require 'tasks/remote_file_task'
5
+ require 'tasks/mtasc'
6
+ require 'tasks/hamtasc'
@@ -0,0 +1,248 @@
1
+ require 'rake/tasklib'
2
+ require 'rake/clean'
3
+ require 'uri'
4
+ require 'ftools'
5
+
6
+ # Tell Rake NOT to remove directory(ies) named 'core'
7
+ CLEAN.exclude("core")
8
+
9
+ module AsProject
10
+ # The RemoteFileTask was created to resolve
11
+ # external tool dependencies for relatively stable
12
+ # tools like mtasc, swfmill and mxmlc
13
+ # The intention is that common tools will have
14
+ # RemoteFileTasks deployed with AsProject and will
15
+ # include mac/win/unix targets so that users on
16
+ # each platform will seamlessly download and
17
+ # target these tools.
18
+ class RemoteFileTask < Rake::TaskLib
19
+ attr_accessor :name,
20
+ :user_task,
21
+ :remote_task_name,
22
+ :win_url,
23
+ :osx_url,
24
+ :unix_url,
25
+ :win_extracted_file,
26
+ :osx_extracted_file,
27
+ :unix_extracted_file
28
+
29
+ def initialize(name=:remote_file_task, do_not_define=false)
30
+ @name = name
31
+ @user_task = nil
32
+ @remote_task_name = name.to_s
33
+ yield self if block_given?
34
+ define unless do_not_define
35
+ end
36
+
37
+ def define
38
+ define_user_task
39
+ self
40
+ end
41
+
42
+ def define_user_task
43
+ if(@user_task.nil?)
44
+ if(remote_task_name.nil?)
45
+ raise UsageError.new('RemoteFileTask created without a remote_task_name value...')
46
+ end
47
+ @user_task = PathFinder.new().remote_file_task(remote_task_name, self)
48
+ task @name => remote_task_name
49
+ end
50
+ @user_task
51
+ end
52
+
53
+ def clean_path(path)
54
+ define_user_task
55
+ return user_task.clean_path(path)
56
+ end
57
+ end
58
+
59
+ class AbstractRemoteFileTask
60
+ attr_accessor :name,
61
+ :url,
62
+ :extracted_file
63
+
64
+ def initialize(name, user)
65
+ @name = name
66
+ @user = user
67
+ yield self if block_given?
68
+ define
69
+ end
70
+
71
+ def define
72
+ @uri = URI.parse(url)
73
+ downloaded_file = downloaded_file_path
74
+ file downloaded_file do |f|
75
+ get_remote_file(@uri, downloaded_file)
76
+ end
77
+
78
+ if(extracted_file_path != downloaded_file)
79
+ if(!Rake::Task.task_defined?(extracted_file_path))
80
+ file extracted_file_path => [downloaded_file] do |f|
81
+ unpack_downloaded_file(downloaded_file, extracted_file_path)
82
+ File.chmod(0755, extracted_file_path)
83
+ end
84
+ end
85
+
86
+ # else
87
+ # File.chmod(0755, downloaded_file)
88
+ # task @name => url
89
+ end
90
+
91
+ task @name => [extracted_file_path]
92
+ end
93
+
94
+ def extracted_file_path
95
+ return File.join(@user.downloads, @name.to_s, extracted_file)
96
+ end
97
+
98
+ def downloaded_file_path
99
+ parts = @uri.path.split('/')
100
+ file = parts.pop
101
+ return File.join(@user.downloads, @name.to_s, file)
102
+ end
103
+
104
+ def unpack_downloaded_file(file_name, expected_file)
105
+ if(!File.exists?(expected_file))
106
+ if(is_zip?(file_name))
107
+ unpack_zip(file_name, File.dirname(file_name))
108
+ elsif(!is_exe?(file_name))
109
+ raise UsageError.new("RemoteFileTask does not know how to unpack files of type: #{file_name}")
110
+ end
111
+ end
112
+ end
113
+
114
+ def unpack_zip(zip_file, dir)
115
+ Zip::ZipFile::open(zip_file) do |zf|
116
+ zf.each do |e|
117
+ fpath = File.join(dir, e.name)
118
+ FileUtils.mkdir_p(File.dirname(fpath))
119
+ zf.extract(e, fpath)
120
+ end
121
+ end
122
+ end
123
+
124
+ def is_exe?(file)
125
+ return (file.split('.').pop == 'exe')
126
+ end
127
+
128
+ def is_zip?(file)
129
+ return (file.split('.').pop == 'zip')
130
+ end
131
+
132
+ def is_tar?(file)
133
+ return (file.split('.').pop == 'tar')
134
+ end
135
+
136
+ def is_gzip?(file)
137
+ return (file.split('.').pop == 'gz')
138
+ end
139
+
140
+ def is_dmg?(file)
141
+ return (file.split('.').pop == 'dmg')
142
+ end
143
+
144
+ def make_downloaded_dir(file)
145
+ dir = File.dirname(file)
146
+ File.makedirs(dir)
147
+ end
148
+
149
+ def remote_file_dir
150
+ return File.join(@user.downloads, @name.to_s)
151
+ end
152
+
153
+ def remote_location
154
+ return File.join(remote_file_dir, extracted_file)
155
+ end
156
+
157
+ def fetch(location, limit = 10)
158
+ uri = URI.parse(location)
159
+
160
+ # Download the file now to the downloads dir
161
+ # If the file is an archive (zip, gz, tar, tar.gz, dmg), extract to
162
+ # AsProject/remote_files/@name/@location
163
+ # Check the location again...
164
+ raise UsageError.new("The RemoteFileTask can only handle HTTP requests at this time, it seems you were trying: #{uri.scheme}") if uri.scheme != 'http'
165
+ raise UsageError.new('HTTP redirect too deep') if limit == 0
166
+
167
+ response = nil
168
+ t = Thread.new {
169
+ response = Net::HTTP.get_response(uri.host, uri.path)
170
+ }
171
+ # TODO: Add actual bytesLoaded vs bytesTotal
172
+ # To the output...
173
+ while t.alive?
174
+ print(".")
175
+ $stdout.flush
176
+ sleep(0.2)
177
+ end
178
+
179
+ if(response.is_a? Net::HTTPSuccess)
180
+ return response
181
+ elsif(response.is_a? Net::HTTPRedirection)
182
+ return fetch(response['location'], limit - 1)
183
+ else
184
+ puts response.to_s
185
+ return response.error!
186
+ end
187
+ end
188
+
189
+ def get_remote_file(uri, target)
190
+ if(!File.exists?(target))
191
+ puts "Fetching #{uri.to_s} now!"
192
+ response = fetch(uri.to_s)
193
+
194
+ File.makedirs(File.dirname(target))
195
+ # Store the downloaded file on disk
196
+ File.open(target, 'wb') do |f|
197
+ f.write(response.body)
198
+ end
199
+
200
+ puts ""
201
+ puts "Downloaded #{(response.body.size / 1024).to_s} KB"
202
+ puts "to: #{target}"
203
+ puts ""
204
+ end
205
+ end
206
+
207
+ def clean_path(path)
208
+ if(path.index(' '))
209
+ return %{'#{path}'}
210
+ end
211
+ return path
212
+ end
213
+
214
+ def execute(params)
215
+ # Execute the system call with params
216
+ # Sometimes DOS wants a 'run' prefix
217
+ # Sometimes OSX wants a 'open' prefix
218
+ # Sometimes Cygwin wants a './' prefix
219
+ # This method should be overridden in
220
+ # subclasses
221
+ sh %{#{clean_path(extracted_file_path)} #{params}}
222
+ end
223
+ end
224
+
225
+ class WinRemoteFileTask < AbstractRemoteFileTask
226
+
227
+ def clean_path(path)
228
+ path = path.split('/').join(File::SEPARATOR)
229
+ if(path.index(' '))
230
+ return %{"#{path}"}
231
+ end
232
+ return path
233
+ end
234
+
235
+ def execute(params)
236
+ sh %{"#{extracted_file_path}" #{params}}
237
+ end
238
+ end
239
+
240
+ class CygwinRemoteFileTask < AbstractRemoteFileTask
241
+ end
242
+
243
+ class OSXRemoteFileTask < AbstractRemoteFileTask
244
+ end
245
+
246
+ class UnixRemoteFileTask < AbstractRemoteFileTask
247
+ end
248
+ end
@@ -0,0 +1,66 @@
1
+
2
+ require File.dirname(__FILE__) + '/remote_file_task'
3
+
4
+ module AsProject
5
+ class SWFMillError < StandardError; end
6
+
7
+ class SWFMill < RemoteFileTask
8
+ attr_accessor :name,
9
+ :simple,
10
+ :input,
11
+ :output,
12
+ :version
13
+
14
+ def initialize(name, do_not_define=false)
15
+ @simple = true
16
+ @input = nil
17
+ @output = nil
18
+ @options = []
19
+ @version = '0.2.12'
20
+ @win_url = "http://www.swfmill.org/releases/swfmill-#{version}-win32.zip"
21
+ @win_extracted_file = "/swfmill-#{version}-win32/swfmill.exe"
22
+ # @osx_url = "http://www.swfmill.org/releases/swfmill-0.2.12-macosx.tar.gz"
23
+ # @osx_extracted_file = nil
24
+ # @unix_url = nil
25
+ # @unix_extracted_file = nil
26
+ super(name, true)
27
+ define unless do_not_define
28
+ end
29
+
30
+ def remote_task_name
31
+ return "swfmill-#{version}"
32
+ end
33
+
34
+ def define
35
+ super
36
+
37
+ if(@input.nil?)
38
+ raise Error.new('SWFMill task requires that input be set')
39
+ end
40
+
41
+ if(@output.nil?)
42
+ raise Error.new('SWFMill task requires that output be set')
43
+ end
44
+ file input
45
+ file output => [input] do |f|
46
+ user_task.execute(option_list.join(' '))
47
+ # sh %{swfmill #{option_list}}
48
+ end
49
+
50
+ desc "#{name} using SWFMill"
51
+ task name => [input, output]
52
+
53
+ CLEAN.add(output)
54
+
55
+ self
56
+ end
57
+
58
+ def option_list
59
+ result = @options.dup
60
+ result << "simple" if simple
61
+ result << input if input
62
+ result << output if output
63
+ return result
64
+ end
65
+ end
66
+ end
@@ -116,8 +116,9 @@ module AsProject
116
116
  @test_cases.sort!
117
117
 
118
118
  parsed = ERB.new(template_content).result(binding)
119
- file = File.new(file_location, 'w')
120
- file.write(parsed)
119
+ file = File.open(file_location, 'w') do |f|
120
+ f.write(parsed)
121
+ end
121
122
  end
122
123
 
123
124
  def to_s
@@ -8,6 +8,7 @@ require 'rake/rdoctask'
8
8
  require 'rake/contrib/rubyforgepublisher'
9
9
  require 'fileutils'
10
10
  require 'lib/asproject/version'
11
+ require 'lib/asproject_utils'
11
12
 
12
13
  AUTHOR = "lukebayes" # can also be an array of Authors
13
14
  EMAIL = "lbayes@patternpark.com"
@@ -20,7 +21,9 @@ NAME = "asproject"
20
21
  RELEASE_TYPES = ["gem"]
21
22
  REV = nil
22
23
  VERS = (AsProject::VERSION::STRING + (REV ? ".#{REV}" : ""))
23
- CLEAN.include ['**/.*.sw?', '*.gem', 'pkg/*', 'pkg', '**/**/.crap_file']
24
+ CLEAN.include(['**/.*.sw?', '*.gem', 'pkg/*', 'pkg', '**/**/.crap_file'])
25
+ CLEAN.include(File.dirname(AsProject.unique_tmpdir('AsProjectTest')))
26
+
24
27
  RDOC_OPTS = ['--quiet', '--title', 'asproject documentation',
25
28
  '--opname', 'index.html',
26
29
  '--line-numbers',
@@ -1,18 +1,10 @@
1
1
  #! rake
2
- #
3
- # Rakefile for MXMLC development
4
- # execute rake -T anywhere forward of this directory to see available tasks
5
- # Tasks are executed from the command prompt like:
6
- # rake deploy
7
- # rake clean
8
2
 
9
- # The test task accepts additional optional arguments as follows:
10
- #
11
- # rake test / Create TestSuites and run AllTests
12
- # rake test SomeClass / Run only the specified TestCase
13
- # rake test SomeClass.testSomeMethod / Run only the specified TestCase and test method
3
+ require 'rubygems'
4
+ require 'rake'
5
+ require 'rake/clean'
6
+ require 'rake/tasklib'
7
+ require 'tasks/mtasc'
8
+ require 'tasks/hamtasc'
9
+ require 'tasks/swfmill'
14
10
 
15
- #require_gem 'asproject'
16
- #load 'asproject'
17
-
18
- #load_rake_tasks
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: asproject
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.33
7
- date: 2007-02-28 00:00:00 -08:00
6
+ version: 0.1.34
7
+ date: 2007-03-03 00:00:00 -08:00
8
8
  summary: AsProject is a tool set that simplifies the process of beginning and growing a new ActionScript project.
9
9
  require_paths:
10
10
  - lib
@@ -35,7 +35,6 @@ files:
35
35
  - lib
36
36
  - Manifest.txt
37
37
  - MIT-LICENSE.txt
38
- - pkg
39
38
  - rakefile.rb
40
39
  - README.txt
41
40
  - setup.rb
@@ -56,9 +55,15 @@ files:
56
55
  - lib/platform.rb
57
56
  - lib/player_fetcher.rb
58
57
  - lib/project.rb
58
+ - lib/tasks
59
59
  - lib/template_resolver.rb
60
60
  - lib/test_suite_generator.rb
61
61
  - lib/asproject/version.rb
62
+ - lib/tasks/hamtasc.rb
63
+ - lib/tasks/mtasc.rb
64
+ - lib/tasks/rake.rb
65
+ - lib/tasks/remote_file_task.rb
66
+ - lib/tasks/swfmill.rb
62
67
  - templates/asclass
63
68
  - templates/asproject
64
69
  - templates/ide
@@ -237,23 +242,12 @@ files:
237
242
  - templates/ide/mate/Create Class.tmCommand
238
243
  - templates/ide/mate/Rebuild Test Suites.tmCommand
239
244
  - templates/ide/mate/Run Rake Task.tmCommand
240
- - templates/asclass/mxml/.crap_file
241
- - templates/asproject/as2/art/.crap_file
242
- - templates/asproject/as2/doc/.crap_file
243
- - templates/asproject/as2/project/bin/.crap_file
244
- - templates/asproject/as2/project/lib/.crap_file
245
- - templates/asproject/as3/art/.crap_file
246
- - templates/asproject/as3/doc/.crap_file
247
- - templates/asproject/as3/project/bin/.crap_file
248
- - templates/asproject/as3/project/lib/.crap_file
249
- - templates/asproject/as3/project/test/.crap_file
250
245
  - templates/asproject/fb2as/project/.actionScriptProperties
251
246
  - templates/asproject/fb2as/project/.project
252
247
  - templates/asproject/fb2as/project/.settings
253
248
  - templates/asproject/fdt/project/.as2_classpath
254
249
  - templates/asproject/fdt/project/.project
255
250
  - templates/asproject/fdt/project/.settings
256
- - templates/asproject/mxml/.crap_file
257
251
  test_files: []
258
252
 
259
253
  rdoc_options:
@@ -1,10 +0,0 @@
1
-
2
- This file has been created because I can't figure out how to bundle
3
- Empty directories in the gem package.
4
-
5
- If you know how to do this, please contact me...
6
-
7
- Thanks,
8
-
9
- lbayes@patternpark.com
10
-
@@ -1,10 +0,0 @@
1
-
2
- This file has been created because I can't figure out how to bundle
3
- Empty directories in the gem package.
4
-
5
- If you know how to do this, please contact me...
6
-
7
- Thanks,
8
-
9
- lbayes@patternpark.com
10
-
@@ -1,10 +0,0 @@
1
-
2
- This file has been created because I can't figure out how to bundle
3
- Empty directories in the gem package.
4
-
5
- If you know how to do this, please contact me...
6
-
7
- Thanks,
8
-
9
- lbayes@patternpark.com
10
-
@@ -1,10 +0,0 @@
1
-
2
- This file has been created because I can't figure out how to bundle
3
- Empty directories in the gem package.
4
-
5
- If you know how to do this, please contact me...
6
-
7
- Thanks,
8
-
9
- lbayes@patternpark.com
10
-
@@ -1,10 +0,0 @@
1
-
2
- This file has been created because I can't figure out how to bundle
3
- Empty directories in the gem package.
4
-
5
- If you know how to do this, please contact me...
6
-
7
- Thanks,
8
-
9
- lbayes@patternpark.com
10
-
@@ -1,10 +0,0 @@
1
-
2
- This file has been created because I can't figure out how to bundle
3
- Empty directories in the gem package.
4
-
5
- If you know how to do this, please contact me...
6
-
7
- Thanks,
8
-
9
- lbayes@patternpark.com
10
-
@@ -1,10 +0,0 @@
1
-
2
- This file has been created because I can't figure out how to bundle
3
- Empty directories in the gem package.
4
-
5
- If you know how to do this, please contact me...
6
-
7
- Thanks,
8
-
9
- lbayes@patternpark.com
10
-
@@ -1,10 +0,0 @@
1
-
2
- This file has been created because I can't figure out how to bundle
3
- Empty directories in the gem package.
4
-
5
- If you know how to do this, please contact me...
6
-
7
- Thanks,
8
-
9
- lbayes@patternpark.com
10
-
@@ -1,10 +0,0 @@
1
-
2
- This file has been created because I can't figure out how to bundle
3
- Empty directories in the gem package.
4
-
5
- If you know how to do this, please contact me...
6
-
7
- Thanks,
8
-
9
- lbayes@patternpark.com
10
-
@@ -1,10 +0,0 @@
1
-
2
- This file has been created because I can't figure out how to bundle
3
- Empty directories in the gem package.
4
-
5
- If you know how to do this, please contact me...
6
-
7
- Thanks,
8
-
9
- lbayes@patternpark.com
10
-
@@ -1,10 +0,0 @@
1
-
2
- This file has been created because I can't figure out how to bundle
3
- Empty directories in the gem package.
4
-
5
- If you know how to do this, please contact me...
6
-
7
- Thanks,
8
-
9
- lbayes@patternpark.com
10
-