distil 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.0
1
+ 0.8.0
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.7.0"
8
+ s.version = "0.8.0"
9
9
 
10
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{2009-12-21}
12
+ s.date = %q{2009-12-22}
13
13
  s.default_executable = %q{distil}
14
14
  s.description = %q{A build tool for Javascript and CSS that takes advantage of best-of-breed helper applications Javascript Lint and JSDoc Toolkit}
15
15
  s.executables = ["distil"]
data/lib/project.rb CHANGED
@@ -17,7 +17,7 @@ class Project < Configurable
17
17
  option :mode
18
18
  option :ignore_warnings, false
19
19
 
20
- option :external_projects, Array.new
20
+ option :external_projects
21
21
 
22
22
  def initialize(project_file, settings)
23
23
  @project_file= File.expand_path(project_file)
@@ -29,26 +29,53 @@ class Project < Configurable
29
29
  end
30
30
 
31
31
  def build_external_projects
32
+ projects= external_projects
33
+ if (projects.nil?)
34
+ @options.external_projects= []
35
+ return
36
+ end
32
37
 
33
38
  # Handle external projects
34
- external_projects.map! { |project|
35
-
36
- if !project.is_a?(String)
37
- project
38
- else
39
- project={
40
- "folder"=>project,
39
+ if (projects.is_a?(String))
40
+ projects= projects.split(/\s*,\s*/)
41
+ end
42
+
43
+ if (projects.is_a?(Array))
44
+ projects= projects.map { |folder|
45
+ {
46
+ "folder"=>folder
47
+ }
48
+ }
49
+ else
50
+ projects= projects.map { |folder, project|
51
+
52
+ if project.is_a?(String)
53
+ project= {
54
+ "url"=>project
55
+ }
56
+ end
57
+
58
+ defaults= {
59
+ "folder"=>folder,
41
60
  "build"=>"distil",
42
- "include"=>File.join(project, "build")
61
+ "include"=>File.join(folder, "build")
43
62
  }
44
- end
45
- }
63
+
64
+ defaults.merge(project)
65
+ }
66
+ end
46
67
 
47
- external_projects.each { |project|
68
+ # build or get each project
69
+ projects.each { |project|
48
70
 
49
71
  if (project.key?("folder") && !File.directory?(project["folder"]))
50
- puts "#{@project_file}: external project folder missing: #{project["folder"]}"
51
- exit
72
+ if (project["url"])
73
+ url= project["url"]
74
+ system "svn co #{url} #{project["folder"]}"
75
+ else
76
+ puts "#{@project_file}: external project folder missing: #{project["folder"]}"
77
+ exit
78
+ end
52
79
  end
53
80
 
54
81
  if (!project.key?("include"))
@@ -65,7 +92,10 @@ class Project < Configurable
65
92
  system(build)
66
93
  Dir.chdir(wd)
67
94
  }
68
-
95
+
96
+ @options.external_projects= projects
97
+
98
+ puts "external_projects=#{external_projects.inspect}"
69
99
  end
70
100
 
71
101
  def build_targets
@@ -44,7 +44,7 @@ class JavascriptTask < SingleOutputTask
44
44
  tmp << File.read(jsl_conf)
45
45
  tmp << "\n"
46
46
 
47
- @options.external_projects.each { |project|
47
+ external_projects.each { |project|
48
48
  tmp << "+include #{project["include"]}\n"
49
49
  }
50
50
 
@@ -36,7 +36,7 @@ class NibTask < MultipleOutputTask
36
36
  tmp << File.read(jsl_conf)
37
37
  tmp << "\n"
38
38
 
39
- @options.external_projects.each { |project|
39
+ external_projects.each { |project|
40
40
  tmp << "+include #{project["include"]}\n"
41
41
  }
42
42
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: distil
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Watkins
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-12-21 00:00:00 -08:00
12
+ date: 2009-12-22 00:00:00 -08:00
13
13
  default_executable: distil
14
14
  dependencies: []
15
15