sprout-as3-bundle 0.2.9 → 1.0.8

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.
@@ -227,7 +227,13 @@ EOF
227
227
  end
228
228
  end
229
229
 
230
+ def exclude_expressions
231
+ @exclude_expressions ||= []
232
+ end
233
+
230
234
  def define # :nodoc:
235
+ apply_exclusions_from_expression unless @exclude_expressions.nil?
236
+
231
237
  super
232
238
  validate_templates
233
239
  CLEAN.add(output)
@@ -248,7 +254,7 @@ EOF
248
254
  end
249
255
  end
250
256
  end
251
-
257
+
252
258
  protected
253
259
 
254
260
  def validate_templates
@@ -258,7 +264,7 @@ EOF
258
264
  templates_path << templates_dir
259
265
  end
260
266
  end
261
-
267
+
262
268
  def execute(*args)
263
269
  update_helper_mode
264
270
  begin
@@ -291,6 +297,31 @@ EOF
291
297
  end
292
298
  end
293
299
 
300
+ # Requires that @exclude_expressions is not nil.
301
+ def apply_exclusions_from_expression
302
+ FileList[@exclude_expressions].each do |file_path|
303
+ import_file = remove_source_path_from_file_path(file_path) || file_path
304
+ import_class = filename_to_import_class(import_file)
305
+
306
+ exclude_classes << import_class unless import_class.nil?
307
+ end
308
+ end
309
+
310
+ def remove_source_path_from_file_path(file)
311
+ source_path.each do |source_dir|
312
+ import_file = file.sub(Regexp.new("^#{source_dir}"),"")
313
+ return import_file if import_file != file
314
+ end
315
+
316
+ return file
317
+ end
318
+
319
+ def filename_to_import_class(filename)
320
+ name = filename.scan(/\w+/)
321
+ # Ignore the AS file extension.
322
+ name[0..-2].join('.') unless name[-1] != 'as'
323
+ end
324
+
294
325
  end
295
326
  end
296
327
 
@@ -0,0 +1,10 @@
1
+ require 'sprout/fcsh_socket'
2
+
3
+ namespace :fcsh do
4
+
5
+ desc "Start FCSH Service"
6
+ task :start do
7
+ Sprout::FCSHSocket.server
8
+ end
9
+
10
+ end
@@ -25,29 +25,132 @@ module Sprout #:nodoc:
25
25
  # end
26
26
  #
27
27
  # You can also point the FDBTask at HTML pages. These pages will be
28
- # launched in your default browswer. You will need to manually install
28
+ # launched in your default browser. You will need to manually install
29
29
  # a debug Flash Player in that particular browser.
30
- # To use a browser instead of the desktop Flash Player, simply point
30
+ #
31
+ # To use a browser instead of the desktop Flash Player, simply point the
31
32
  # file argument at an HTML document or remote URL. The SWF file loaded
32
- # must be compiled using the -debug flag in order to connect to the
33
- # debugger.
33
+ # must be compiled using the -debug flag, and executed in a debug Flash Player
34
+ # in order to connect to properly connect to the debugger.
34
35
  # fdb :debug do |t|
35
36
  # t.file = 'bin/SomeProject-debug.html'
36
37
  # t.run
37
38
  # t.continue
38
39
  # end
39
40
  #
41
+ # .h3 Continuous Integration
42
+ #
43
+ # The FDBTask is also the only effective way to execute SWF content
44
+ # in front of a CI (continuous integration) tool like Cruise Control.
45
+ # The biggest problem facing SWF execution for CI is uncaught
46
+ # runtime exceptions. The debug Flash Player throws uncaught exceptions
47
+ # up to the operating system GUI layer where a user must manually dismiss
48
+ # a dialog. In addition to blocking the CI process indefinitely, these
49
+ # messages are also difficult to capture and log.
50
+ #
51
+ # Using Sprouts and the FDBTask, we can capture these messages along
52
+ # with additonal information (e.g. local variables and a complete stack trace)
53
+ # about the state of the SWF file, and then cleanly exit the Flash Player
54
+ # and log this information.
55
+ #
56
+ # The FDBTask has also been configured to work with the ASUnit XMLPrinter
57
+ # so that an XML artifact is created and written to disk that includes
58
+ # the results of running your test suites.
59
+ #
60
+ # To use FDB with a CI tool do the following:
61
+ #
62
+ # 1) Create a new base runner class (we usually name this XMLRunner.as)
63
+ # and make it look like the following:
64
+ #
65
+ # package {
66
+ # import asunit.textui.TestRunner;
67
+ # import asunit.textui.XMLResultPrinter;
68
+ #
69
+ # public class XMLRunner extends TestRunner {
70
+ #
71
+ # public function XMLRunner() {
72
+ # setPrinter(new XMLResultPrinter());
73
+ # start(AllTests, null, TestRunner.SHOW_TRACE);
74
+ # }
75
+ # }
76
+ # }
77
+ #
78
+ # 2) Create a new MXMLCTask to compile the newly created runner.
79
+ # NOTE: Be sure you set +debug+ to true, otherwise the SWF will
80
+ # not connect to the debugger properly.
81
+ #
82
+ # library :asunit3
83
+ #
84
+ # desc 'Compile the CI SWF'
85
+ # mxmlc 'bin/XMLRunner.swf' => :asunit3 do |t|
86
+ # t.input = 'src/XMLRunner.as'
87
+ # t.debug = true
88
+ # t.source_path << 'test'
89
+ # # Add additional configuration here.
90
+ # end
91
+ #
92
+ # 3) Create a new FDBTask and set +kill_on_fault+ to true.
93
+ #
94
+ # desc 'Execute the test harness for CI'
95
+ # fdb :cruise do |t|
96
+ # t.kill_on_fault = true
97
+ # t.file = 'bin/XMLRunner.swf'
98
+ # t.run
99
+ # t.continue
100
+ # end
101
+ #
102
+ # 4) Configure your CI task to call:
103
+ #
104
+ # rake cruise
105
+ #
106
+ # 5) That's it!
107
+ #
40
108
  class FDBTask < ToolTask
41
- # The SWF file to debug.
42
- attr_accessor :swf
109
+ TEST_RESULT_PRELUDE = '<XMLResultPrinter>'
110
+ TEST_RESULT_CLOSING = '</XMLResultPrinter>'
111
+ TEST_RESULT_FILE = 'AsUnitResults.xml'
112
+
113
+ # Relative or absolute path to where unit test results
114
+ # should be written to disk.
115
+ # This field can be used in conjunction with the AsUnit
116
+ # XMLResultPrinter which will trace out JUnit style XML
117
+ # test results.
118
+ # By telling fdb where to write those test results, it
119
+ # will scan the trace output stream looking for +test_result_prelude+,
120
+ # and +test_result_closing+. Once the closing is encountered, the
121
+ # prelude and closing (and everything in between) will be written
122
+ # to disk in the file identified by +test_result_file+, and fdb
123
+ # will be closed down.
124
+ attr_writer :test_result_file
125
+
126
+ # String that indicates the beginning of printable test results
127
+ # Default value is '<XMLResultPrinter>'
128
+ attr_writer :test_result_prelude
129
+
130
+ # String that indicates the closing of printable test results
131
+ # Default value is '</XMLResultPrinter>'
132
+ # See test_result_prelude for more info.
133
+ attr_writer :test_result_closing
134
+
135
+ # Boolean value that tells fdb whether or not it should automatically
136
+ # shut down when an exception is encountered. This feature is used to
137
+ # prevent GUI prompts for unhandled exceptions, especially when running
138
+ # a test harness under a continuous integration tool - like cruise control.
139
+ # If an exception is encountered, fdb will automatically print the exception,
140
+ # a full stack trace and all local variables in the function where the failure
141
+ # occured.
142
+ attr_writer :kill_on_fault
43
143
 
44
144
  def initialize_task # :nodoc:
45
145
  @default_gem_name = 'sprout-flex3sdk-tool'
46
146
  @default_gem_path = 'bin/fdb'
147
+ @kill_on_fault = false
47
148
  @queue = []
48
149
  end
49
150
 
50
151
  def define # :nodoc:
152
+ super
153
+ CLEAN.add(test_result_file)
51
154
  self
52
155
  end
53
156
 
@@ -59,16 +162,35 @@ module Sprout #:nodoc:
59
162
  @stdout ||= $stdout
60
163
  end
61
164
 
165
+ def validate_swf(swf)
166
+ # TODO: Ensure the SWF has been compiled with debugging
167
+ # turned on.
168
+ # I believe this will require actually parsing the SWF file and
169
+ # scanning for the EnableDebugger2 tag.
170
+ # http://www.adobe.com/devnet/swf/pdf/swf_file_format_spec_v9.pdf
171
+ end
172
+
62
173
  def execute(*args) # :nodoc:
63
- # TODO: First check the SWF file to ensure that debugging is enabled!
174
+ # Ensure that if we load a SWF it's been compiled with debugging turned on!
175
+ file_name = @file
176
+
177
+ if(file_name.match(/\.swf$/))
178
+ validate_swf(file_name)
179
+ end
180
+
64
181
  buffer = FDBBuffer.new(get_executable, stdout)
182
+ buffer.test_result_file = test_result_file
183
+ buffer.test_result_prelude = test_result_prelude
184
+ buffer.test_result_closing = test_result_closing
185
+ buffer.kill_on_fault = kill_on_fault?
65
186
  buffer.wait_for_prompt
66
187
 
67
188
  @queue.each do |command|
68
189
  handle_command(buffer, command)
69
190
  end
70
191
 
71
- buffer.join
192
+ buffer.join # wait here until the buffer is closed.
193
+
72
194
  self
73
195
  end
74
196
 
@@ -95,6 +217,22 @@ module Sprout #:nodoc:
95
217
  @queue
96
218
  end
97
219
 
220
+ def kill_on_fault?
221
+ @kill_on_fault
222
+ end
223
+
224
+ def test_result_file
225
+ @test_result_file ||= TEST_RESULT_FILE
226
+ end
227
+
228
+ def test_result_prelude
229
+ @test_result_prelude ||= TEST_RESULT_PRELUDE
230
+ end
231
+
232
+ def test_result_closing
233
+ @test_result_closing ||= TEST_RESULT_CLOSING
234
+ end
235
+
98
236
  # Print backtrace of all stack frames
99
237
  def bt
100
238
  @queue << "bt"
@@ -174,6 +312,12 @@ module Sprout #:nodoc:
174
312
  def file=(file)
175
313
  @prerequisites << file
176
314
  @queue << "file #{file}"
315
+ @file = file
316
+ end
317
+
318
+ # alias for self.file=
319
+ def input=(file)
320
+ self.file = file
177
321
  end
178
322
 
179
323
  # Execute until current function returns
@@ -303,7 +447,7 @@ module Sprout #:nodoc:
303
447
  @queue << "set #{value}"
304
448
  end
305
449
 
306
- # Sleep until some 'str' String is sent to the output
450
+ # Sleep until some 'str' String is sent to the output,
307
451
  def sleep_until(str)
308
452
  @queue << "sleep #{str}"
309
453
  end
@@ -347,6 +491,11 @@ module Sprout #:nodoc:
347
491
 
348
492
  # A buffer that provides clean blocking support for the fdb command shell
349
493
  class FDBBuffer #:nodoc:
494
+ attr_accessor :test_result_file
495
+ attr_accessor :test_result_prelude
496
+ attr_accessor :test_result_closing
497
+ attr_writer :kill_on_fault
498
+
350
499
  PLAYER_TERMINATED = 'Player session terminated'
351
500
  EXIT_PROMPT = 'The program is running. Exit anyway? (y or n)'
352
501
  PROMPT = '(fdb) '
@@ -363,6 +512,10 @@ module Sprout #:nodoc:
363
512
  listen exe
364
513
  end
365
514
 
515
+ def kill_on_fault?
516
+ @kill_on_fault
517
+ end
518
+
366
519
  def user_input
367
520
  @user_input ||= $stdin
368
521
  end
@@ -388,6 +541,9 @@ module Sprout #:nodoc:
388
541
  $stdout.puts msg
389
542
  end
390
543
 
544
+ @inside_test_result = false
545
+ full_output = ''
546
+ test_result = ''
391
547
  char = ''
392
548
  line = ''
393
549
  while true do
@@ -403,14 +559,49 @@ module Sprout #:nodoc:
403
559
  line = ''
404
560
  else
405
561
  line << char
562
+ full_output << char
563
+ end
564
+
565
+ if(@inside_test_result)
566
+ test_result << char
567
+ else
568
+ @output.print char
569
+ @output.flush
406
570
  end
407
571
 
408
- @output.print char
409
- @output.flush
572
+ if(!test_result_prelude.nil? && line.index(test_result_prelude))
573
+ test_result = test_result_prelude
574
+ @inside_test_result = true
575
+ end
576
+
577
+ if(@inside_test_result && line.index(test_result_closing))
578
+ write_test_result(test_result)
579
+ @inside_test_result = false
580
+ Thread.new {
581
+ write("\n")
582
+ write('y')
583
+ write('kill')
584
+ write('y')
585
+ write('quit')
586
+ }
587
+ end
410
588
 
411
589
  if(line == PROMPT || line.match(/\(y or n\) $/))
412
- @prompted = true
590
+ full_output_cache = full_output
413
591
  line = ''
592
+ full_output = ''
593
+ @prompted = true
594
+ if(should_kill?(full_output_cache))
595
+ Thread.new {
596
+ wait_for_prompt
597
+ write('info stack') # Output the full stack trace
598
+ write('info locals') # Output local variables
599
+ write('kill') # Kill the running SWF file
600
+ write('y') # Confirm killing SWF
601
+ write('quit') # Quit FDB safely
602
+ }
603
+ end
604
+
414
605
  elsif(@pending_expression && line.match(/#{@pending_expression}/))
415
606
  @found_search = true
416
607
  @pending_expression = nil
@@ -424,6 +615,27 @@ module Sprout #:nodoc:
424
615
  end
425
616
 
426
617
  end
618
+
619
+ def should_kill?(message)
620
+ return (@kill_on_fault && fault_found?(message))
621
+ end
622
+
623
+ def fault_found?(message)
624
+ match = message.match(/\[Fault\]\s.*,.*$/)
625
+ return !match.nil?
626
+ end
627
+
628
+ def clean_test_result(result)
629
+ return result.gsub(/^\[trace\]\s/m, '')
630
+ end
631
+
632
+ def write_test_result(result)
633
+ result = clean_test_result result
634
+ FileUtils.makedirs(File.dirname(test_result_file))
635
+ File.open(test_result_file, File::CREAT|File::TRUNC|File::RDWR) do |f|
636
+ f.puts(result)
637
+ end
638
+ end
427
639
 
428
640
  # Block for the life of the input process
429
641
  def join
@@ -431,13 +643,13 @@ module Sprout #:nodoc:
431
643
  print PROMPT
432
644
  $stdout.flush
433
645
 
434
- Thread.new do
646
+ t = Thread.new {
435
647
  while true do
436
648
  msg = user_input.gets.chomp!
437
649
  @input.puts msg
438
650
  wait_for_prompt
439
651
  end
440
- end
652
+ }
441
653
 
442
654
  @listener.join
443
655
  end
@@ -0,0 +1,62 @@
1
+
2
+ module Sprout
3
+
4
+
5
+ # The MXMLCCruise helper wraps up the fdb and mxmlc unit test tasks by
6
+ # using either a Singleton or provided ProjectModel instance.
7
+ #
8
+ # The simple case that uses a Singleton ProjectModel:
9
+ # ci :cruise
10
+ #
11
+ # Using a specific ProjectModel instance:
12
+ # project_model :model
13
+ #
14
+ # ci :cruise => :model
15
+ #
16
+ # Configuring the proxied MXMLCTask
17
+ # ci :cruise do |t|
18
+ # t.link_report = 'LinkReport.rpt'
19
+ # end
20
+ #
21
+ class MXMLCCruise < MXMLCHelper
22
+
23
+ def initialize(args, &block)
24
+ super
25
+ library :asunit3
26
+
27
+ mxmlc output do |t|
28
+ configure_mxmlc t
29
+ configure_mxmlc_application t
30
+ t.debug = true
31
+ t.prerequisites << :asunit3
32
+ t.source_path << model.test_dir
33
+
34
+ if(model.test_width && model.test_height)
35
+ t.default_size = "#{model.test_width} #{model.test_height}"
36
+ end
37
+
38
+ yield t if block_given?
39
+ end
40
+
41
+ define_fdb
42
+ t = define_outer_task
43
+ t.prerequisites << output
44
+ t.prerequisites << player_task_name
45
+ end
46
+
47
+ def create_output
48
+ return "#{create_output_base}XMLRunner.swf"
49
+ end
50
+
51
+ def create_input
52
+ input = super
53
+ input.gsub!(/#{input_extension}$/, "XMLRunner#{input_extension}")
54
+ return input
55
+ end
56
+
57
+ end
58
+ end
59
+
60
+ def ci(args, &block)
61
+ return Sprout::MXMLCCruise.new(args, &block)
62
+ end
@@ -3,6 +3,8 @@ module Sprout # :nodoc:
3
3
  class MXMLCHelper # :nodoc:
4
4
  attr_reader :model
5
5
 
6
+ attr_accessor :use_fcsh
7
+
6
8
  def initialize(args, &block)
7
9
  resolve_task_args(args)
8
10
  @model = get_model args
@@ -51,9 +53,13 @@ module Sprout # :nodoc:
51
53
  end
52
54
 
53
55
  def configure_mxmlc(compiler, is_asdoc=false)
54
- compiler.input = input unless is_asdoc
55
- compiler.gem_name = model.compiler_gem_name
56
- compiler.gem_version = model.compiler_gem_version
56
+ if(!is_asdoc)
57
+ compiler.input = input
58
+ compiler.use_fcsh = use_fcsh || model.use_fcsh
59
+ end
60
+
61
+ compiler.gem_name = model.compiler_gem_name
62
+ compiler.gem_version = model.compiler_gem_version
57
63
 
58
64
  # Set up library deps
59
65
  model.libraries.each do |lib|
@@ -94,6 +100,15 @@ module Sprout # :nodoc:
94
100
  end
95
101
  end
96
102
 
103
+ def define_fdb
104
+ fdb player_task_name do |t|
105
+ t.file = output_file
106
+ t.kill_on_fault = true
107
+ t.run
108
+ t.continue
109
+ end
110
+ end
111
+
97
112
  def define_outer_task
98
113
  t = task task_name
99
114
  self.prerequisites.each do |dep|
@@ -60,6 +60,11 @@ module Sprout
60
60
  #
61
61
  class MXMLCTask < ToolTask
62
62
 
63
+ # Use a running instance of the FCSH command shell to speed up compilation.
64
+ # You need to run 'rake fcsh:start' in another terminal before turning on
65
+ # this flag and compiling.
66
+ attr_accessor :use_fcsh
67
+
63
68
  # Interface and descriptions found here:
64
69
  # http://livedocs.adobe.com/flex/2/docs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001481.html
65
70
  def initialize_task
@@ -683,13 +688,9 @@ EOF
683
688
  end
684
689
  end
685
690
 
686
- if(!input.match(/.css/) && File.exists?(input))
691
+ if(input && !input.match(/.css/) && File.exists?(input))
687
692
  source_path << File.dirname(input)
688
693
  end
689
-
690
- if(!input)
691
- raise MXMLCError.new('MXMLCTask.input is a required field')
692
- end
693
694
 
694
695
  if(link_report)
695
696
  CLEAN.add(link_report)
@@ -743,9 +744,23 @@ EOF
743
744
  end
744
745
  end
745
746
 
747
+ def execute_with_fcsh(command)
748
+ begin
749
+ puts FCSHSocket.execute("mxmlc #{command}")
750
+ rescue FCSHError => fcsh_error
751
+ raise fcsh_error
752
+ rescue StandardError => std_error
753
+ raise StandardError("[ERROR] There was a problem connecting to the Flex Compiler SHell, run 'rake fcsh:start' in another terminal.")
754
+ end
755
+ end
756
+
746
757
  def execute(*args)
747
758
  begin
748
- super
759
+ if(@use_fcsh)
760
+ execute_with_fcsh(to_shell)
761
+ else
762
+ super
763
+ end
749
764
  rescue ExecutionError => e
750
765
  if(e.message.index('Warning:'))
751
766
  # MXMLC sends warnings to stderr....
@@ -2,7 +2,7 @@
2
2
  module Sprout
3
3
 
4
4
 
5
- # The MXMLCUnit helper wraps up fdb and mxmlc unit test tasks by
5
+ # The MXMLCUnit helper wraps up flashplayer and mxmlc unit test tasks by
6
6
  # using either a Singleton or provided ProjectModel instance.
7
7
  #
8
8
  # The simple case that uses a Singleton ProjectModel:
data/rakefile.rb CHANGED
@@ -63,7 +63,8 @@ spec = Gem::Specification.new do |s|
63
63
  s.rdoc_options << '-i' << '.'
64
64
  s.files = PKG_LIST.to_a
65
65
 
66
- s.add_dependency('sprout', '>= 0.7.189')
66
+ s.add_dependency('sprout', '>= 0.7.196')
67
+ s.add_dependency('sprout-asunit3-library', '>= 3.2.6')
67
68
  end
68
69
 
69
70
  Rake::GemPackageTask.new(spec) do |p|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sprout-as3-bundle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.9
4
+ version: 1.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pattern Park
@@ -9,7 +9,7 @@ autorequire: sprout/as3
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-07-19 00:00:00 -07:00
12
+ date: 2009-01-06 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -20,7 +20,17 @@ dependencies:
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: 0.7.189
23
+ version: 0.7.196
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: sprout-asunit3-library
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 3.2.6
24
34
  version:
25
35
  description: Code Generation and Rake Tasks for ActionScript 3.0 Development
26
36
  email: projectsprouts@googlegroups.com
@@ -42,6 +52,9 @@ files:
42
52
  - lib/sprout/as3/version.rb
43
53
  - lib/sprout/as3.rb
44
54
  - lib/sprout/as3_tasks.rb
55
+ - lib/sprout/fcsh_lexer.rb
56
+ - lib/sprout/fcsh_service.rb
57
+ - lib/sprout/fcsh_socket.rb
45
58
  - lib/sprout/generators
46
59
  - lib/sprout/generators/class
47
60
  - lib/sprout/generators/class/class_generator.rb
@@ -67,6 +80,7 @@ files:
67
80
  - lib/sprout/generators/project/templates/rakefile.rb
68
81
  - lib/sprout/generators/project/templates/README.txt
69
82
  - lib/sprout/generators/project/templates/TestRunner.as
83
+ - lib/sprout/generators/project/templates/XMLRunner.as
70
84
  - lib/sprout/generators/suite
71
85
  - lib/sprout/generators/suite/suite_generator.rb
72
86
  - lib/sprout/generators/suite/templates
@@ -80,27 +94,23 @@ files:
80
94
  - lib/sprout/generators/test/USAGE
81
95
  - lib/sprout/tasks
82
96
  - lib/sprout/tasks/adl_documentation.rb
83
- - lib/sprout/tasks/adl_rdoc.rb
84
97
  - lib/sprout/tasks/adl_task.rb
85
98
  - lib/sprout/tasks/adt_cert_documentation.rb
86
- - lib/sprout/tasks/adt_cert_rdoc.rb
87
99
  - lib/sprout/tasks/adt_documentation.rb
88
- - lib/sprout/tasks/adt_rdoc.rb
89
100
  - lib/sprout/tasks/adt_task.rb
90
- - lib/sprout/tasks/asdoc_rdoc.rb
101
+ - lib/sprout/tasks/asdoc_documentation.rb
91
102
  - lib/sprout/tasks/asdoc_task.rb
92
103
  - lib/sprout/tasks/compc_documentation.rb
93
- - lib/sprout/tasks/compc_rdoc.rb
94
104
  - lib/sprout/tasks/compc_task.rb
95
- - lib/sprout/tasks/fcsh_task.rb
105
+ - lib/sprout/tasks/fcsh.rb
96
106
  - lib/sprout/tasks/fdb_task.rb
107
+ - lib/sprout/tasks/mxmlc_ci.rb
97
108
  - lib/sprout/tasks/mxmlc_debug.rb
98
109
  - lib/sprout/tasks/mxmlc_deploy.rb
99
110
  - lib/sprout/tasks/mxmlc_document.rb
100
111
  - lib/sprout/tasks/mxmlc_documentation.rb
101
112
  - lib/sprout/tasks/mxmlc_flex_builder.rb
102
113
  - lib/sprout/tasks/mxmlc_helper.rb
103
- - lib/sprout/tasks/mxmlc_rdoc.rb
104
114
  - lib/sprout/tasks/mxmlc_stylesheet.rb
105
115
  - lib/sprout/tasks/mxmlc_swc.rb
106
116
  - lib/sprout/tasks/mxmlc_task.rb
@@ -136,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
146
  requirements: []
137
147
 
138
148
  rubyforge_project: sprout
139
- rubygems_version: 1.2.0
149
+ rubygems_version: 1.3.1
140
150
  signing_key:
141
151
  specification_version: 2
142
152
  summary: Project and Code Generators for ActionScript 3 Development