distil 0.14.0.i → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
data/distil.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{distil}
8
- s.version = "0.14.0.i"
8
+ s.version = "0.14.0"
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jeff Watkins"]
12
- s.date = %q{2011-03-03}
12
+ s.date = %q{2011-03-17}
13
13
  s.description = %q{A build tool for Javascript and CSS that takes advantage of best-of-breed helper applications Javascript Lint and JSDoc Toolkit}
14
14
  s.executables = ["distil", "jsl"]
15
15
  s.extensions = ["vendor/extconf.rb"]
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
18
18
  "Rakefile",
19
19
  "VERSION",
20
20
  "assets/distil.js",
21
+ "assets/mime.types",
21
22
  "bin/distil",
22
23
  "bin/jsl",
23
24
  "distil.gemspec",
@@ -758,17 +759,20 @@ Gem::Specification.new do |s|
758
759
 
759
760
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
760
761
  s.add_runtime_dependency(%q<json>, [">= 1.4.3"])
762
+ s.add_runtime_dependency(%q<mime-types>, [">= 1.16"])
761
763
  s.add_runtime_dependency(%q<rubyzip>, [">= 0.9.4"])
762
764
  s.add_runtime_dependency(%q<treetop>, [">= 1.4.8"])
763
765
  s.add_runtime_dependency(%q<directory_watcher>, [">= 1.1.1"])
764
766
  else
765
767
  s.add_dependency(%q<json>, [">= 1.4.3"])
768
+ s.add_dependency(%q<mime-types>, [">= 1.16"])
766
769
  s.add_dependency(%q<rubyzip>, [">= 0.9.4"])
767
770
  s.add_dependency(%q<treetop>, [">= 1.4.8"])
768
771
  s.add_dependency(%q<directory_watcher>, [">= 1.1.1"])
769
772
  end
770
773
  else
771
774
  s.add_dependency(%q<json>, [">= 1.4.3"])
775
+ s.add_dependency(%q<mime-types>, [">= 1.16"])
772
776
  s.add_dependency(%q<rubyzip>, [">= 0.9.4"])
773
777
  s.add_dependency(%q<treetop>, [">= 1.4.8"])
774
778
  s.add_dependency(%q<directory_watcher>, [">= 1.1.1"])
@@ -80,7 +80,7 @@ module Distil
80
80
  puts
81
81
  end
82
82
 
83
- raise BuildFailure if errors>0 || warnings>0
83
+ raise BuildFailure if errors>0 # || warnings>0
84
84
  end
85
85
  end
86
86
 
@@ -14,7 +14,7 @@ module Distil
14
14
  }.gsub(/^\s*/, '')
15
15
 
16
16
  def can_embed_as_content(file)
17
- ["css", "html", "json"].include?(file.extension)
17
+ ["css", "html", "json", "sql"].include?(file.extension)
18
18
  end
19
19
 
20
20
  def escape_embeded_content(file)
@@ -72,6 +72,9 @@ module Distil
72
72
 
73
73
  if (APPLICATION_TYPE==project.project_type)
74
74
  output.puts File.read(BOOTSTRAP_SCRIPT)
75
+ if (project.synchronise_assets)
76
+ output.puts "\n\ndistil.sync= true;\n\n"
77
+ end
75
78
  output.puts FILE_SEPARATOR
76
79
  end
77
80
 
@@ -85,7 +88,8 @@ module Distil
85
88
  content= f.rewrite_content_relative_to_path(nil)
86
89
  next if !content || content.empty?
87
90
 
88
- output.puts content
91
+ output.puts content.strip
92
+ output.puts "\n"
89
93
  output.puts FILE_SEPARATOR
90
94
  }
91
95
 
@@ -99,8 +103,8 @@ module Distil
99
103
 
100
104
  next if !content || content.empty?
101
105
 
102
- output.puts content
103
- output.puts ""
106
+ output.puts content.strip
107
+ output.puts "\n"
104
108
  output.puts FILE_SEPARATOR
105
109
  }
106
110
 
@@ -120,6 +124,9 @@ module Distil
120
124
 
121
125
  if (APPLICATION_TYPE==project.project_type)
122
126
  output.puts File.read(BOOTSTRAP_SCRIPT)
127
+ if (project.synchronise_assets)
128
+ output.puts "\n\ndistil.sync= true;\n\n"
129
+ end
123
130
  end
124
131
 
125
132
  if project.global_export
@@ -26,9 +26,12 @@ module Distil
26
26
  attr_reader :dependency_aliases
27
27
  attr_reader :doc_src_path
28
28
  attr_reader :doc_output_path
29
+ attr_reader :synchronise_assets
29
30
 
30
31
  alias_config_key :project_type, :type
31
-
32
+ alias_config_key :synchronise_assets, :synchronize_assets
33
+ alias_config_key :synchronise_assets, :sync
34
+
32
35
  def self.find(dir=nil)
33
36
  cwd= Dir.pwd
34
37
  dir ||= Dir.pwd
@@ -80,6 +83,8 @@ module Distil
80
83
  @languages= []
81
84
  @additional_globals= []
82
85
  @name= File.basename(@folder, ".*")
86
+ @raw_sources = []
87
+ @synchronise_assets = false
83
88
 
84
89
  ignore_warnings= false
85
90
 
@@ -195,16 +200,29 @@ module Distil
195
200
  end
196
201
 
197
202
  def build
198
- libraries.each { |lib|
199
- lib.build
200
- }
201
-
203
+ FileUtils.mkdir_p(output_path)
204
+
205
+ if @parent.nil?
206
+ libraries.each { |lib|
207
+ lib.build
208
+ }
209
+ end
210
+
202
211
  puts "\n#{name}:\n\n" unless @parent
212
+
213
+ failed = false
203
214
 
204
- subprojects.each { |subproject|
205
- subproject.build
215
+ @subprojects.each { |subproject|
216
+ begin
217
+ subproject.build
218
+ rescue BuildFailure
219
+ failed = true
220
+ end
206
221
  }
207
222
 
223
+ # Don't keep going if one of the sub-projects failed.
224
+ raise BuildFailure if failed
225
+
208
226
  compute_source_files
209
227
  return if up_to_date?
210
228
 
@@ -3,6 +3,7 @@ module Distil
3
3
  JSL_IMPORT_REGEX= /\/\*jsl:import\s+([^\*]*)\*\//
4
4
  NIB_ASSET_REGEX= /(NIB\.asset(?:Url)?)\(['"]([^)]+)['"]\)/
5
5
  NIB_DECLARATION_REGEX= /NIB\(\s*(["'])(\w(?:\w|-)*)\1\s*,/
6
+ DISTIL_ASSET_REGEX= /(distil.asset(?:Url)?)\(['"]([^)]+)['"]\)/
6
7
 
7
8
  class JavascriptFile < SourceFile
8
9
  include YuiMinifiableFile
@@ -31,7 +32,15 @@ module Distil
31
32
 
32
33
  def rewrite_content_relative_to_path(path)
33
34
  text= content.gsub(JSL_IMPORT_REGEX, '')
34
- text.gsub(NIB_ASSET_REGEX) do |match|
35
+ text= text.gsub(NIB_ASSET_REGEX) do |match|
36
+ asset= project.file_from_path(File.join(dirname, $2))
37
+ if asset
38
+ "#{$1}(\"#{asset.relative_path}\")"
39
+ else
40
+ match
41
+ end
42
+ end
43
+ text= text.gsub(DISTIL_ASSET_REGEX) do |match|
35
44
  asset= project.file_from_path(File.join(dirname, $2))
36
45
  if asset
37
46
  "#{$1}(\"#{asset.relative_path}\")"
@@ -72,14 +81,23 @@ module Distil
72
81
  end
73
82
  end
74
83
 
75
- line.scan(NIB_ASSET_REGEX) do |match|
76
- asset= project.file_from_path(File.join(dirname, $1))
84
+ line.scan(DISTIL_ASSET_REGEX) do |match|
85
+ asset= project.file_from_path(File.join(dirname, $2))
77
86
  if asset
78
87
  add_asset(asset)
79
88
  else
80
89
  error "Missing asset file: #{$1}", line_num
81
90
  end
82
91
  end
92
+
93
+ line.scan(NIB_ASSET_REGEX) do |match|
94
+ asset= project.file_from_path(File.join(dirname, $2))
95
+ if asset
96
+ add_asset(asset)
97
+ else
98
+ error "Missing asset file: #{$2}", line_num
99
+ end
100
+ end
83
101
  end
84
102
 
85
103
  if is_nib_file
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: distil
3
3
  version: !ruby/object:Gem::Version
4
- hash: 82
5
- prerelease: 7
4
+ hash: 39
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 14
9
9
  - 0
10
- - i
11
- version: 0.14.0.i
10
+ version: 0.14.0
12
11
  platform: ruby
13
12
  authors:
14
13
  - Jeff Watkins
@@ -16,7 +15,7 @@ autorequire:
16
15
  bindir: bin
17
16
  cert_chain: []
18
17
 
19
- date: 2011-03-03 00:00:00 -08:00
18
+ date: 2011-03-17 00:00:00 -07:00
20
19
  default_executable:
21
20
  dependencies:
22
21
  - !ruby/object:Gem::Dependency
@@ -36,9 +35,24 @@ dependencies:
36
35
  type: :runtime
37
36
  version_requirements: *id001
38
37
  - !ruby/object:Gem::Dependency
39
- name: rubyzip
38
+ name: mime-types
40
39
  prerelease: false
41
40
  requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 47
46
+ segments:
47
+ - 1
48
+ - 16
49
+ version: "1.16"
50
+ type: :runtime
51
+ version_requirements: *id002
52
+ - !ruby/object:Gem::Dependency
53
+ name: rubyzip
54
+ prerelease: false
55
+ requirement: &id003 !ruby/object:Gem::Requirement
42
56
  none: false
43
57
  requirements:
44
58
  - - ">="
@@ -50,11 +64,11 @@ dependencies:
50
64
  - 4
51
65
  version: 0.9.4
52
66
  type: :runtime
53
- version_requirements: *id002
67
+ version_requirements: *id003
54
68
  - !ruby/object:Gem::Dependency
55
69
  name: treetop
56
70
  prerelease: false
57
- requirement: &id003 !ruby/object:Gem::Requirement
71
+ requirement: &id004 !ruby/object:Gem::Requirement
58
72
  none: false
59
73
  requirements:
60
74
  - - ">="
@@ -66,11 +80,11 @@ dependencies:
66
80
  - 8
67
81
  version: 1.4.8
68
82
  type: :runtime
69
- version_requirements: *id003
83
+ version_requirements: *id004
70
84
  - !ruby/object:Gem::Dependency
71
85
  name: directory_watcher
72
86
  prerelease: false
73
- requirement: &id004 !ruby/object:Gem::Requirement
87
+ requirement: &id005 !ruby/object:Gem::Requirement
74
88
  none: false
75
89
  requirements:
76
90
  - - ">="
@@ -82,7 +96,7 @@ dependencies:
82
96
  - 1
83
97
  version: 1.1.1
84
98
  type: :runtime
85
- version_requirements: *id004
99
+ version_requirements: *id005
86
100
  description: A build tool for Javascript and CSS that takes advantage of best-of-breed helper applications Javascript Lint and JSDoc Toolkit
87
101
  email:
88
102
  executables:
@@ -97,6 +111,7 @@ files:
97
111
  - Rakefile
98
112
  - VERSION
99
113
  - assets/distil.js
114
+ - assets/mime.types
100
115
  - bin/distil
101
116
  - bin/jsl
102
117
  - distil.gemspec
@@ -846,14 +861,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
846
861
  required_rubygems_version: !ruby/object:Gem::Requirement
847
862
  none: false
848
863
  requirements:
849
- - - ">"
864
+ - - ">="
850
865
  - !ruby/object:Gem::Version
851
- hash: 25
866
+ hash: 3
852
867
  segments:
853
- - 1
854
- - 3
855
- - 1
856
- version: 1.3.1
868
+ - 0
869
+ version: "0"
857
870
  requirements: []
858
871
 
859
872
  rubyforge_project: