sprout 0.7.171-x86-linux → 0.7.182-x86-linux

Sign up to get free protection for your applications and to get access to all the features.
data/lib/sprout.rb CHANGED
@@ -69,7 +69,7 @@ module Sprout
69
69
  # == Sprout
70
70
  #
71
71
  # Tools, Libraries and Bundles are distributed as RubyGems and given a specific gem name suffix. For some examples:
72
- # sprout-flex2sdk-tool
72
+ # sprout-flex3sdk-tool
73
73
  # sprout-asunit-library
74
74
  # sprout-as3-bundle
75
75
  #
@@ -230,7 +230,7 @@ EOF
230
230
  # * +archive_path+ Optional parameter for tools that contain more than one executable, or for
231
231
  # when you don't want to use the default executable presented by the tool. For example, the Flex 2 SDK
232
232
  # has many executables, when this method is called for them, one might use something like:
233
- # Sprout::Sprout.get_executable('sprout-flex2sdk-tool', 'bin/mxmlc')
233
+ # Sprout::Sprout.get_executable('sprout-flex3sdk-tool', 'bin/mxmlc')
234
234
  # * +version+ Optional parameter to specify a particular gem version for this executable
235
235
  def self.get_executable(name, archive_path=nil, version=nil)
236
236
  target = self.sprout(name, version)
@@ -238,7 +238,7 @@ EOF
238
238
  # If caller sent in a relative path to an executable (e.g., bin/mxmlc), use it
239
239
  exe = File.join(target.installed_path, archive_path)
240
240
  if(User.new.is_a?(WinUser) && !archive_path.match(/.exe$/))
241
- # If we're on Win (even Cygwin), add .exe to support custom binaries (see sprout-flex2sdk-tool)
241
+ # If we're on Win (even Cygwin), add .exe to support custom binaries (see sprout-flex3sdk-tool)
242
242
  exe << '.exe'
243
243
  end
244
244
  elsif(target.url)
@@ -414,11 +414,14 @@ EOF
414
414
  # of that rakefile should be returned.
415
415
  # If no rakefile is found, it should return Dir.pwd
416
416
  def self.project_path
417
- @@project_path ||= get_implicit_project_path(Dir.pwd)
417
+ @@project_path ||= self.project_path = get_implicit_project_path(Dir.pwd)
418
418
  end
419
419
 
420
420
  # Return the rakefile in the current +project_path+
421
421
  def self.project_rakefile
422
+ if(!defined?(@@project_rakefile))
423
+ path = project_path
424
+ end
422
425
  return @@project_rakefile ||= nil
423
426
  end
424
427
 
@@ -108,11 +108,22 @@ module Sprout
108
108
  def full_test_dir
109
109
  @full_test_dir ||= full_class_dir.gsub(src_dir, test_dir)
110
110
  end
111
-
111
+
112
112
  # Filesystem path to the TestCase file
113
113
  def full_test_case_path
114
114
  @full_test_case_path ||= File.join(full_test_dir, test_case_name + '.as')
115
115
  end
116
+
117
+ # Path to the in-project generate script
118
+ # pulled out for DOS branching
119
+ def generate_script_path
120
+ usr = User.new
121
+ if(usr.is_a?(WinUser) && !usr.is_a?(CygwinUser))
122
+ return File.join(class_name, 'script', "generate.rb")
123
+ else
124
+ return File.join(class_name, 'script', "generate")
125
+ end
126
+ end
116
127
 
117
128
  def instance_name
118
129
  name = class_name.dup;
@@ -1,6 +1,5 @@
1
1
 
2
2
  module Sprout
3
-
4
3
  # The ProjectModel gives you a place to describe your project so that you
5
4
  # don't need to repeat yourself throughout a rakefile.
6
5
  #
@@ -17,13 +16,42 @@ module Sprout
17
16
  # end
18
17
  #
19
18
  class ProjectModel < Hash
20
-
19
+
20
+ @@DEFAULT_TEST_WIDTH = 1000
21
+ @@DEFAULT_TEST_HEIGHT = 550
22
+
21
23
  # Relative path to the folder where compile time assets will be stored
22
24
  attr_accessor :asset_dir
23
25
  # The folder where binary files will be created. Usually this is where any build artifacts like SWF files get placed.
24
26
  attr_accessor :bin_dir
25
- # The technology language that is being used, right now this is either 'as2' or 'as3'.
26
- # Code generators take advantage of this setting to determine which templates to use.
27
+ # The Background Color of the SWF file
28
+ attr_accessor :background_color
29
+ # Contributors to the SWF file
30
+ attr_accessor :contributors
31
+ # If you don't want to use the default compiler for your language
32
+ # set it manually here.
33
+ # Possible values are:
34
+ # * sprout-flex2sdk-tool
35
+ # * sprout-flex3sdk-tool
36
+ # * sprout-mtasc-tool
37
+ attr_accessor :compiler_gem_name
38
+ # The version number of the compiler gem to use
39
+ attr_accessor :compiler_gem_version
40
+ # The primary creator of the SWF file
41
+ attr_accessor :creator
42
+ # Directory where documentation should be placed.
43
+ attr_accessor :doc_dir
44
+ # CSS documents that should be individually compiled
45
+ # for runtime stylesheet loading.
46
+ attr_accessor :external_css
47
+ # The default frame rate of the SWF file
48
+ attr_accessor :frame_rate
49
+ # The default height of the SWF file
50
+ # _(This value is overridden when embedded in an HTML page)_
51
+ attr_accessor :height
52
+ # The technology language that is being used, right now this value can be 'as2', 'as3' or 'mxml'.
53
+ # Code generators take advantage of this setting to determine which templates to use
54
+ # and build tasks use this setting to determin the input file suffix (.as or .mxml).
27
55
  attr_accessor :language
28
56
  # The relative path to your library directory. Defaults to 'lib'
29
57
  #
@@ -31,6 +59,19 @@ module Sprout
31
59
  # into this directory. Source libraries will be placed in a folder that matches the library name,
32
60
  # while SWCs will be simply placed directly into the lib_dir.
33
61
  attr_accessor :lib_dir
62
+ # Array of sprout library symbols
63
+ attr_accessor :libraries
64
+ # The Array of SWC paths to add to all compilation tasks
65
+ attr_accessor :library_path
66
+ # The locale for the SWF file
67
+ attr_accessor :locale
68
+ # A collection of Flex Module root source files. If this collection
69
+ # has items added to it, the deploy task will generate a 'link_report' from
70
+ # the main application compilation and then consume it as 'load_externs' for
71
+ # each module compilation.
72
+ attr_accessor :modules
73
+ # Organization responsible for this SWF file
74
+ attr_accessor :organization
34
75
  # The production file that this Project will generate
35
76
  attr_accessor :output
36
77
  # The real name of the project, usually capitalized like a class name 'SomeProject'
@@ -39,17 +80,27 @@ module Sprout
39
80
  attr_accessor :skin_dir
40
81
  # The skin file that will be generated
41
82
  attr_accessor :skin_output
83
+ # The Array of source paths to add to all compilation tasks
84
+ # _Do not add task-specific paths (like lib/asunit) to this value_
85
+ attr_accessor :source_path
42
86
  # The relative path to your main source directory. Defaults to 'src'
43
87
  attr_accessor :src_dir
88
+ # Enforce strict type checking
89
+ attr_accessor :strict
44
90
  # The relative path to the directory where swc files should be kept.
45
91
  # This value defaults to lib_dir
46
92
  attr_accessor :swc_dir
47
- # Directory where documentation should be placed.
48
- attr_accessor :doc_dir
49
93
  # Relative path to the folder that contains your test cases
50
94
  attr_accessor :test_dir
51
95
  # The test executable
52
96
  attr_accessor :test_output
97
+ # The test runner SWF width
98
+ attr_writer :test_width
99
+ # The test runner SWF height
100
+ attr_writer :test_height
101
+ # The default width of the SWF file
102
+ # _(This value is overridden when embedded in an HTML page)_
103
+ attr_accessor :width
53
104
 
54
105
  # TODO: Add clean hash interface so that users
55
106
  # can simply add to this object's properties like:
@@ -59,6 +110,8 @@ module Sprout
59
110
  # external generators...
60
111
  def self.instance
61
112
  @@instance ||= ProjectModel.new
113
+ yield @@instance if block_given?
114
+ return @@instance
62
115
  end
63
116
 
64
117
  def self.destroy # :nodoc:
@@ -67,9 +120,10 @@ module Sprout
67
120
 
68
121
  # Patch submitted by Thomas Winkler
69
122
  def self.setup(&block)
70
- yield instance
123
+ yield instance if block_given?
124
+ return instance
71
125
  end
72
-
126
+
73
127
  def initialize
74
128
  super
75
129
  @project_name = ''
@@ -81,12 +135,20 @@ module Sprout
81
135
  @test_dir = 'test'
82
136
  @asset_dir = 'assets'
83
137
  @skin_dir = File.join(@asset_dir, 'skins')
84
-
138
+ @frame_rate = 24
85
139
  @language = 'as3'
86
140
 
141
+ @external_css = []
142
+ @libraries = []
143
+ @library_path = []
144
+ @modules = []
145
+ @source_path = []
146
+
87
147
  @model_dir = nil
88
148
  @view_dir = nil
89
149
  @controller_dir = nil
150
+
151
+ @@instance = self
90
152
  end
91
153
 
92
154
  # Path to the project directory from which all other paths are created
@@ -136,5 +198,44 @@ module Sprout
136
198
  return @controller_dir
137
199
  end
138
200
 
201
+ def test_width
202
+ @test_width ||= @@DEFAULT_TEST_WIDTH
203
+ end
204
+
205
+ def test_height
206
+ @test_height ||= @@DEFAULT_TEST_HEIGHT
207
+ end
208
+
209
+ def name=(name)
210
+ @project_name = name
211
+ end
212
+
213
+ def name
214
+ @project_name
215
+ end
216
+
217
+ def to_s
218
+ return "[Sprout::ProjectModel project_name=#{project_name}]"
219
+ end
220
+
139
221
  end
140
222
  end
223
+
224
+ def project_model(args)
225
+ model = Sprout::ProjectModel.new
226
+ yield model if block_given?
227
+
228
+ t = task args
229
+
230
+ def t.project_model=(model)
231
+ @model = model
232
+ end
233
+
234
+ def t.project_model
235
+ return @model
236
+ end
237
+
238
+ t.project_model = model
239
+ return model
240
+ end
241
+
@@ -30,8 +30,15 @@ module Sprout
30
30
  #
31
31
  class ToolTask < Rake::FileTask
32
32
 
33
+ # Arguments to be prepended in front of the command line output
34
+ attr_accessor :prepended_args
35
+ # Arguments to appended at the end of the command line output
36
+ attr_accessor :appended_args
37
+
33
38
  def initialize(name, app) # :nodoc:
34
39
  super
40
+ @prepended_args = nil
41
+ @appended_args = nil
35
42
  @default_gem_name = nil
36
43
  @default_gem_path = nil
37
44
  initialize_task
@@ -48,7 +55,7 @@ module Sprout
48
55
  end
49
56
 
50
57
  # Full name of the sprout tool gem that this tool task will use. For example, the MXMLCTask
51
- # uses the sprout-flex2sdk-tool at the time of this writing, but will at some point
58
+ # uses the sprout-flex3sdk-tool at the time of this writing, but will at some point
52
59
  # change to use the sprout-flex3sdk-tool. You can combine this value with gem_version
53
60
  # in order to specify exactly which gem your tool task is executing.
54
61
  def gem_name
@@ -81,7 +88,7 @@ module Sprout
81
88
  def gem_path
82
89
  return @gem_path ||= @default_gem_path
83
90
  end
84
-
91
+
85
92
  # Create a string that can be turned into a file
86
93
  # that rdoc can parse to describe the customized
87
94
  # or generated task using param name, type and
@@ -118,11 +125,13 @@ module Sprout
118
125
  # Create a string that represents this configured tool for shell execution
119
126
  def to_shell
120
127
  result = []
128
+ result << @prepended_args unless @prepended_args.nil?
121
129
  params.each do |param|
122
130
  if(param.visible?)
123
131
  result << param.to_shell
124
132
  end
125
133
  end
134
+ result << @appended_args unless @appended_args.nil?
126
135
  return result.join(' ')
127
136
  end
128
137
 
@@ -2,7 +2,7 @@ module Sprout
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 7
5
- TINY = 171
5
+ TINY = 182
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  MAJOR_MINOR = [MAJOR, MINOR].join('.')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sprout
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.171
4
+ version: 0.7.182
5
5
  platform: x86-linux
6
6
  authors:
7
7
  - Luke Bayes
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-04-09 00:00:00 -07:00
12
+ date: 2008-05-17 00:00:00 -07:00
13
13
  default_executable: sprout
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -70,6 +70,7 @@ files:
70
70
  - doc
71
71
  - lib
72
72
  - MIT-LICENSE
73
+ - pkg
73
74
  - rakefile.rb
74
75
  - samples
75
76
  - script