Skip to content
This repository was archived by the owner on Dec 2, 2020. It is now read-only.

Commit 30d2ba9

Browse files
authored
Merge pull request #50 from boxen/leave-management-to-homebrew
Remove Homebrew management from Brewcask
2 parents d9fae78 + e2ba479 commit 30d2ba9

File tree

6 files changed

+17
-52
lines changed

6 files changed

+17
-52
lines changed

lib/facter/brewcask_root.rb

Lines changed: 0 additions & 8 deletions
This file was deleted.

lib/puppet/provider/package/brewcask.rb

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
require "puppet/provider/package"
22
require "puppet/util/execution"
33

4-
Puppet::Type.type(:package).provide :brewcask,
5-
:parent => Puppet::Provider::Package do
4+
Puppet::Type.type(:package).provide :brewcask, :parent => Puppet::Provider::Package do
65
include Puppet::Util::Execution
76

87
confine :operatingsystem => :darwin
@@ -20,14 +19,26 @@ def self.home
2019
end
2120

2221
def self.caskroom
23-
"#{Facter[:brewcask_root].value}/Caskroom"
22+
if legacy_caskroom.exist?
23+
legacy_caskroom.to_s
24+
else
25+
new_caskroom.to_s
26+
end
2427
end
2528

2629
def self.current(name)
2730
caskdir = Pathname.new "#{caskroom}/#{name}"
2831
caskdir.directory? && caskdir.children.size >= 1 && caskdir.children.sort.last.to_s
2932
end
3033

34+
def self.legacy_caskroom
35+
@legacy_caskroom ||= Pathname.new('/opt/homebrew-cask/Caskroom')
36+
end
37+
38+
def self.new_caskroom
39+
@new_caskroom ||= Pathname.new("#{home}/Caskroom")
40+
end
41+
3142
def query
3243
return unless version = self.class.current(resource[:name])
3344
{ :ensure => version, :name => resource[:name] }
@@ -85,7 +96,6 @@ def command_opts
8596
:custom_environment => {
8697
"HOME" => "/Users/#{default_user}",
8798
"PATH" => "#{self.class.home}/bin:/usr/bin:/usr/sbin:/bin:/sbin",
88-
"HOMEBREW_CASK_OPTS" => "--caskroom=#{self.class.caskroom}",
8999
"HOMEBREW_NO_EMOJI" => "Yes",
90100
},
91101
:failonfail => true,

manifests/init.pp

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,8 @@
1-
# Public: Install and configure brewcask for use with Boxen.
2-
#
3-
# Examples
4-
#
5-
# include brewcask
6-
71
class brewcask {
2+
include boxen::config
83
require homebrew
94

10-
$cask_home = $::brewcask_root
11-
$cask_room = "${cask_home}/Caskroom"
12-
13-
homebrew::tap { 'caskroom/cask': }
14-
15-
file { $cask_home:
16-
ensure => directory
17-
}
18-
19-
# This prevents typing root password the first time a cask is installed
20-
file { $cask_room:
21-
ensure => directory,
22-
require => File[$cask_home]
23-
}
24-
25-
boxen::env_script { 'brewcask':
26-
content => template('brewcask/env.sh.erb'),
27-
priority => highest,
5+
file { "${boxen::config::envdir}/10_brewcask.sh":
6+
ensure => 'absent'
287
}
298
}

spec/classes/brewcask_spec.rb

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,4 @@
22

33
describe 'brewcask' do
44
let(:facts) { default_test_facts }
5-
6-
it do
7-
should contain_class('homebrew')
8-
should contain_homebrew__tap('caskroom/cask')
9-
end
10-
11-
it do
12-
should contain_file('/test/custom/homebrew-cask').with_ensure('directory')
13-
should contain_file('/test/custom/homebrew-cask/Caskroom').with_ensure('directory')
14-
end
15-
16-
it do
17-
should contain_boxen__env_script('brewcask').with_ensure('present')
18-
end
195
end

spec/spec_helper.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,5 @@ def default_test_facts
1212
:boxen_home => "/test/boxen",
1313
:boxen_srcdir => "/test/boxen/src",
1414
:boxen_user => "testuser",
15-
:brewcask_root => "/test/custom/homebrew-cask"
1615
}
1716
end

templates/env.sh.erb

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)