chocbomb 0.0.0 → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.0
1
+ 0.0.1
data/chocbomb.gemspec ADDED
@@ -0,0 +1,80 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{chocbomb}
8
+ s.version = "0.0.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["glejeune"]
12
+ s.date = %q{2011-03-26}
13
+ s.default_executable = %q{chocbomb}
14
+ s.description = %q{ChocBomb is a shameful copy of ChocTop - Build and deploy tools for Cocoa apps using Sparkle for distributions and upgrades; it’s like Hoe but for Cocoa apps.}
15
+ s.email = %q{gregoire.lejeune@gmail.com}
16
+ s.executables = ["chocbomb"]
17
+ s.extra_rdoc_files = [
18
+ "LICENSE.txt",
19
+ "README.rdoc"
20
+ ]
21
+ s.files = [
22
+ ".document",
23
+ "LICENSE.txt",
24
+ "README.rdoc",
25
+ "Rakefile",
26
+ "VERSION",
27
+ "bin/chocbomb",
28
+ "chocbomb.gemspec",
29
+ "lib/chocbomb.rb",
30
+ "lib/chocbomb/rake/tasks.rb",
31
+ "lib/chocbomb/tools/dmg.rb",
32
+ "lib/chocbomb/tools/feed.rb",
33
+ "lib/chocbomb/tools/images.rb",
34
+ "lib/chocbomb/tools/xcode.rb",
35
+ "templates/Rakefile.erb",
36
+ "templates/default_background.jpg",
37
+ "templates/default_volume.icns",
38
+ "test/helper.rb",
39
+ "test/ressources/default_background.jpg",
40
+ "test/ressources/default_background.png",
41
+ "test/test_chocbomb.rb"
42
+ ]
43
+ s.homepage = %q{http://github.com/glejeune/chocbomb}
44
+ s.licenses = ["MIT"]
45
+ s.require_paths = ["lib"]
46
+ s.rubygems_version = %q{1.5.0}
47
+ s.summary = %q{ChocBomb is a shameful copy of ChocTop}
48
+ s.test_files = [
49
+ "test/helper.rb",
50
+ "test/test_chocbomb.rb"
51
+ ]
52
+
53
+ if s.respond_to? :specification_version then
54
+ s.specification_version = 3
55
+
56
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
57
+ s.add_runtime_dependency(%q<plist>, [">= 3.1.0"])
58
+ s.add_runtime_dependency(%q<escape>, [">= 0.0.4"])
59
+ s.add_runtime_dependency(%q<builder>, [">= 2.1.2"])
60
+ s.add_runtime_dependency(%q<RedCloth>, [">= 4.2.3"])
61
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
62
+ s.add_development_dependency(%q<rcov>, [">= 0"])
63
+ else
64
+ s.add_dependency(%q<plist>, [">= 3.1.0"])
65
+ s.add_dependency(%q<escape>, [">= 0.0.4"])
66
+ s.add_dependency(%q<builder>, [">= 2.1.2"])
67
+ s.add_dependency(%q<RedCloth>, [">= 4.2.3"])
68
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
69
+ s.add_dependency(%q<rcov>, [">= 0"])
70
+ end
71
+ else
72
+ s.add_dependency(%q<plist>, [">= 3.1.0"])
73
+ s.add_dependency(%q<escape>, [">= 0.0.4"])
74
+ s.add_dependency(%q<builder>, [">= 2.1.2"])
75
+ s.add_dependency(%q<RedCloth>, [">= 4.2.3"])
76
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
77
+ s.add_dependency(%q<rcov>, [">= 0"])
78
+ end
79
+ end
80
+
data/lib/chocbomb.rb CHANGED
@@ -15,6 +15,8 @@ module ChocBomb
15
15
  attr_accessor :release_notes
16
16
  attr_accessor :private_key
17
17
 
18
+ attr_accessor :minimum_osx_version
19
+
18
20
  # The background image
19
21
  attr_accessor :background_file
20
22
 
@@ -53,6 +55,7 @@ module ChocBomb
53
55
  def file(*args, &block)
54
56
  path_or_helper, options = args.first.is_a?(Hash) ? [block, args.first] : [args.first, args.last]
55
57
  throw "add_files #{path_or_helper}, :position => [x,y] option is missing" unless options[:position]
58
+
56
59
  @files[path_or_helper] = options
57
60
  end
58
61
 
@@ -72,8 +75,8 @@ module ChocBomb
72
75
  throw "add_link :name => 'Name' option is missing" unless options[:name]
73
76
  options[:name].gsub!(/(\.webloc|\.url)$/, '')
74
77
  options[:name] += ".webloc"
75
- self.files ||= {}
76
- files[options[:name]] = options
78
+
79
+ @files[options[:name]] = options
77
80
  end
78
81
 
79
82
  def initialize
@@ -82,7 +85,7 @@ module ChocBomb
82
85
 
83
86
  yield self if block_given?
84
87
 
85
- default
88
+ default
86
89
  define_tasks
87
90
  end
88
91
 
@@ -146,6 +149,8 @@ module ChocBomb
146
149
  @pkg_relative_url = "#{@base_url.gsub(%r{/$}, '')}/#{@pkg_name}".gsub(%r{^.*#{@host}}, '')
147
150
 
148
151
  @release_notes_template = "release_notes_template.html.erb"
152
+
153
+ @minimum_osx_version ||= nil
149
154
  end
150
155
  end
151
156
  end
@@ -6,7 +6,7 @@ module ChocBomb
6
6
  attr_accessor :chocbomb
7
7
  def initialize(cb)
8
8
  @chocbomb = cb
9
- @files = {}
9
+ @files_for_dmg = {}
10
10
  end
11
11
 
12
12
  def self.detach(cb)
@@ -33,8 +33,8 @@ module ChocBomb
33
33
  end
34
34
  end
35
35
 
36
- def make
37
- @files = chocbomb.files.inject({}) do |files, file|
36
+ def make
37
+ @files_for_dmg = chocbomb.files.inject({}) do |files, file|
38
38
  path_or_helper, options = file
39
39
  path = case path_or_helper
40
40
  when Symbol
@@ -48,13 +48,18 @@ module ChocBomb
48
48
  files[path] = options
49
49
  options[:name] ||= File.basename(path)
50
50
  end
51
+ if path =~ %r{\.webloc$}
52
+ files[path] = options
53
+ options[:name] ||= File.basename(path)
54
+ options[:link] = true
55
+ end
51
56
  files
52
57
  end
53
-
58
+
54
59
  FileUtils.rm_r(chocbomb.dmg_src_folder) if File.exists? chocbomb.dmg_src_folder
55
60
  FileUtils.mkdir_p(chocbomb.dmg_src_folder)
56
61
 
57
- @files.each do |path, options|
62
+ @files_for_dmg.each do |path, options|
58
63
  if options[:link]
59
64
  webloc = <<-WEBLOC.gsub(/^ /, '')
60
65
  <?xml version="1.0" encoding="UTF-8"?>
@@ -67,8 +72,8 @@ module ChocBomb
67
72
  </plist>
68
73
  WEBLOC
69
74
 
70
- target = File.join(dmg_src_folder, options[:name])
71
- File.new(target).print webloc
75
+ target = File.join(chocbomb.dmg_src_folder, options[:name])
76
+ File.open(target, 'w').write(webloc)
72
77
  else
73
78
  target = File.join(chocbomb.dmg_src_folder, options[:name])
74
79
  FileUtils.copy_entry(path, target)
@@ -166,7 +171,7 @@ module ChocBomb
166
171
  end
167
172
 
168
173
  def set_position_of_files
169
- @files.map do |file_options|
174
+ @files_for_dmg.map do |file_options|
170
175
  path, options = file_options
171
176
  target = options[:name]
172
177
  position = options[:position].join(", ")
@@ -34,7 +34,8 @@ module ChocBomb
34
34
  'xmlns:sparkle' => "http://www.andymatuschak.org/xml-namespaces/sparkle",
35
35
  :version => "2.0") do
36
36
  xml.channel do
37
- xml.title(@name)
37
+ xml.title(chocbomb.name)
38
+ xml.tag! "sparkle:minimumSystemVersion", chocbomb.minimum_osx_version unless chocbomb.minimum_osx_version.nil?
38
39
  xml.description("#{chocbomb.name} updates")
39
40
  xml.link(chocbomb.base_url)
40
41
  xml.language('en')
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chocbomb
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 0
10
- version: 0.0.0
9
+ - 1
10
+ version: 0.0.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - glejeune
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-03-25 00:00:00 +01:00
18
+ date: 2011-03-26 00:00:00 +01:00
19
19
  default_executable: chocbomb
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -128,6 +128,7 @@ files:
128
128
  - Rakefile
129
129
  - VERSION
130
130
  - bin/chocbomb
131
+ - chocbomb.gemspec
131
132
  - lib/chocbomb.rb
132
133
  - lib/chocbomb/rake/tasks.rb
133
134
  - lib/chocbomb/tools/dmg.rb