brew-cask-tools 0.0.1 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/bct/cask/info.rb +34 -0
- data/lib/bct/cask.rb +95 -79
- data/lib/bct/caskroom.rb +14 -13
- data/lib/bct/metadata.rb +2 -2
- data/lib/bct/tasks/caskroom.rb +19 -0
- data/lib/bct/tasks/cleanup.rb +41 -40
- data/lib/bct/tasks/outdated.rb +47 -29
- data/lib/bct/tasks/upgrade.rb +34 -27
- data/lib/bct/tasks.rb +5 -5
- data/lib/bct/util.rb +2 -2
- metadata +32 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6010383f43797b4cf996aa39b7d1ee542200cfbc
|
4
|
+
data.tar.gz: 93df8f9712f6062702729593c33efd93532ed74a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f8fe057528b544f3cfa3b778cb7e18046ba8dcdef6ef9110df3de6d2abf78c722537fc057315486583bfa3d9f7d23603d606b3bc12bc18a6c0c2f448920ce90d
|
7
|
+
data.tar.gz: 9574fa4a9654cb204b6a7fb38c60cc6e6168cca18c3a0b119edd581bb3e5d420ef03e2c931cf3c33fcde95733c8b47f9d0e088a91d757e19dd63297e90fb43e5
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'pry'
|
2
|
+
|
3
|
+
module BrewCaskTools
|
4
|
+
# Class to keep brittle parsing of `brew cask info #{cask}` localized.
|
5
|
+
class Info
|
6
|
+
def initialize(arr)
|
7
|
+
@info = arr.nil? ? [] : arr
|
8
|
+
end
|
9
|
+
|
10
|
+
def short_name
|
11
|
+
@info[0]
|
12
|
+
end
|
13
|
+
|
14
|
+
def url
|
15
|
+
@info[1]
|
16
|
+
end
|
17
|
+
|
18
|
+
def path
|
19
|
+
@info[2]
|
20
|
+
end
|
21
|
+
|
22
|
+
def cask_url
|
23
|
+
@info[3]
|
24
|
+
end
|
25
|
+
|
26
|
+
def name
|
27
|
+
@info[5]
|
28
|
+
end
|
29
|
+
|
30
|
+
def app_name
|
31
|
+
@info[7]
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/lib/bct/cask.rb
CHANGED
@@ -1,113 +1,129 @@
|
|
1
1
|
require 'fileutils'
|
2
2
|
require 'thor'
|
3
3
|
require 'open3'
|
4
|
+
require 'pry'
|
5
|
+
|
6
|
+
require_relative './cask/info'
|
4
7
|
|
5
8
|
CASKROOM = '/usr/local/Caskroom'.freeze
|
6
9
|
DIR_BLACKLIST = ['.', '..', '.metadata'].freeze
|
7
10
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
def initialize(name)
|
13
|
-
super()
|
14
|
-
@name = name
|
15
|
-
@info = deprecated? ? [] : `brew cask info #{name}`.split("\n")
|
16
|
-
@name = @name.delete(' (!)') if deprecated?
|
17
|
-
@deprecated = deprecated?
|
18
|
-
@dir = File.join(CASKROOM, @name)
|
19
|
-
# filter_info
|
20
|
-
end
|
11
|
+
module BrewCaskTools
|
12
|
+
# Cask control class. Implements operations on a single cask.
|
13
|
+
class Cask < Thor::Shell::Basic
|
14
|
+
attr_reader :name, :dir
|
21
15
|
|
22
|
-
|
23
|
-
|
24
|
-
end
|
16
|
+
def initialize(name)
|
17
|
+
super()
|
25
18
|
|
26
|
-
|
27
|
-
@info[0].sub("#{@name}: ", '')
|
28
|
-
end
|
19
|
+
@name = name
|
29
20
|
|
30
|
-
|
31
|
-
|
32
|
-
|
21
|
+
if deprecated?
|
22
|
+
info = []
|
23
|
+
@name = name.delete(' (!)')
|
24
|
+
else
|
25
|
+
info = `brew cask info #{name}`.split("\n")
|
26
|
+
end
|
33
27
|
|
34
|
-
|
35
|
-
|
36
|
-
|
28
|
+
@info = Info.new(info)
|
29
|
+
@deprecated = deprecated?
|
30
|
+
@dir = File.join(CASKROOM, @name)
|
31
|
+
end
|
37
32
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
end.sort
|
42
|
-
end
|
33
|
+
def filter_info
|
34
|
+
@info.info.select! { |i| !i.end_with?('(does not exist)') }
|
35
|
+
end
|
43
36
|
|
44
|
-
|
45
|
-
|
46
|
-
|
37
|
+
def current_version
|
38
|
+
@info.short_name.sub("#{@name}: ", '')
|
39
|
+
end
|
47
40
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
end
|
41
|
+
def installed_version
|
42
|
+
local_versions.last
|
43
|
+
end
|
52
44
|
|
53
|
-
|
54
|
-
|
55
|
-
|
45
|
+
def local_versions
|
46
|
+
Dir.entries(@dir)
|
47
|
+
.reject { |i| DIR_BLACKLIST.include?(i) }
|
48
|
+
.sort
|
49
|
+
end
|
50
|
+
|
51
|
+
def local_metadata_versions
|
52
|
+
Dir.entries(File.join(@dir, '.metadata'))
|
53
|
+
.reject { |i| DIR_BLACKLIST.include?(i) }
|
54
|
+
.sort
|
55
|
+
end
|
56
|
+
|
57
|
+
def deprecated?
|
58
|
+
@deprecated ||= @name.include?('(!)')
|
59
|
+
end
|
60
|
+
|
61
|
+
def can_cleanup?
|
62
|
+
return true if @deprecated
|
63
|
+
(local_versions.length > 1 || local_metadata_versions.length > 1)
|
64
|
+
end
|
65
|
+
|
66
|
+
def outdated?
|
67
|
+
current_version != installed_version
|
68
|
+
end
|
69
|
+
|
70
|
+
def upgrade
|
71
|
+
return say "You have the most recent version of #{@name}. " \
|
72
|
+
'It cannot be upgraded', :green unless outdated?
|
56
73
|
|
57
|
-
def upgrade
|
58
|
-
if outdated?
|
59
74
|
say "Installing #{@name} (#{current_version})", :cyan
|
60
75
|
cmd = "brew cask install #{@name} --force"
|
61
76
|
Open3.popen2e(cmd) do |_stdin, stdout_err, _wait_thr|
|
62
|
-
line = stdout_err.gets
|
63
|
-
|
77
|
+
while line = stdout_err.gets
|
78
|
+
puts line
|
79
|
+
end
|
64
80
|
end
|
65
81
|
say "Upgraded #{@name} to version #{current_version}", :green
|
66
|
-
else
|
67
|
-
say "You have the most recent version of #{@name}. " \
|
68
|
-
'It cannot be upgraded', :green
|
69
82
|
end
|
70
|
-
end
|
71
83
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
end
|
84
|
+
def old_versions
|
85
|
+
old(local_versions)
|
86
|
+
end
|
76
87
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
end
|
88
|
+
def old_metadata
|
89
|
+
old(local_metadata_versions)
|
90
|
+
end
|
81
91
|
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
yield self, local_versions
|
86
|
-
# Delete the whole cask
|
87
|
-
rm(@dir)
|
88
|
-
return
|
92
|
+
def old(arr)
|
93
|
+
_, *previous = arr.reverse
|
94
|
+
previous
|
89
95
|
end
|
90
96
|
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
97
|
+
def cleanup
|
98
|
+
return unless can_cleanup?
|
99
|
+
if @deprecated == true
|
100
|
+
yield self, local_versions
|
101
|
+
# Delete the whole cask
|
102
|
+
rm(@dir)
|
103
|
+
return
|
104
|
+
end
|
95
105
|
|
96
|
-
|
97
|
-
|
98
|
-
method
|
106
|
+
yield self, old_versions
|
107
|
+
rm_old(old_versions, method(:rm_version))
|
108
|
+
rm_old(old_metadata, method(:rm_metadata))
|
99
109
|
end
|
100
|
-
end
|
101
110
|
|
102
|
-
|
103
|
-
|
104
|
-
|
111
|
+
def rm_old(versions, method)
|
112
|
+
versions.each do |version|
|
113
|
+
method.call(version)
|
114
|
+
end
|
115
|
+
end
|
105
116
|
|
106
|
-
|
107
|
-
|
108
|
-
|
117
|
+
def rm_version(version)
|
118
|
+
rm(File.join(@dir, version))
|
119
|
+
end
|
109
120
|
|
110
|
-
|
111
|
-
|
121
|
+
def rm_metadata(version)
|
122
|
+
rm(File.join(@dir, '.metadata', version))
|
123
|
+
end
|
124
|
+
|
125
|
+
def rm(dir)
|
126
|
+
::FileUtils.rm_rf(dir, secure: true, verbose: true)
|
127
|
+
end
|
112
128
|
end
|
113
129
|
end
|
data/lib/bct/caskroom.rb
CHANGED
@@ -1,31 +1,32 @@
|
|
1
|
-
require_relative './cask'
|
2
1
|
require 'thor'
|
2
|
+
require 'pry'
|
3
|
+
|
4
|
+
require_relative './cask'
|
3
5
|
|
4
6
|
module BrewCaskTools
|
5
7
|
# Represents a list of Casks.
|
6
8
|
class Caskroom < Thor::Shell::Basic
|
7
|
-
attr_reader :casklist
|
8
|
-
|
9
9
|
def initialize
|
10
10
|
super
|
11
|
-
@casks = `brew cask ls`.split("\n")
|
12
|
-
@casklist = @casks.map { |cask| Cask.new(cask) }
|
13
11
|
end
|
14
12
|
|
15
|
-
def
|
16
|
-
|
17
|
-
|
13
|
+
def casks
|
14
|
+
@casks ||= `brew cask ls`.split("\n")
|
15
|
+
end
|
16
|
+
|
17
|
+
def casklist
|
18
|
+
@casklist ||= casks.map { |cask| yield cask }
|
18
19
|
end
|
19
20
|
|
20
|
-
def
|
21
|
-
|
22
|
-
|
21
|
+
def enumerate
|
22
|
+
casklist do |c|
|
23
|
+
yield Cask.new(c)
|
23
24
|
end
|
24
|
-
yield output
|
25
25
|
end
|
26
26
|
|
27
27
|
def get(cask_name)
|
28
|
-
|
28
|
+
c = casks.select { |e| e == cask_name }.first
|
29
|
+
Cask.new(c)
|
29
30
|
end
|
30
31
|
end
|
31
32
|
end
|
data/lib/bct/metadata.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
|
1
|
+
require 'git-version-bump'
|
2
2
|
|
3
3
|
# :nodoc:
|
4
4
|
module BrewCaskTools
|
5
|
-
VERSION =
|
5
|
+
VERSION = GVB.version
|
6
6
|
DESCRIPTION = 'A tiny tool that provides some missing functionality in Homebrew Cask.'.freeze
|
7
7
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'ruby-progressbar'
|
3
|
+
|
4
|
+
require_relative '../caskroom'
|
5
|
+
|
6
|
+
module BrewCaskTools
|
7
|
+
module Tasks
|
8
|
+
# Base class for Tasks that interact with the Caskroom
|
9
|
+
class Caskroom < Thor::Shell::Basic
|
10
|
+
def caskroom
|
11
|
+
@caskroom ||= BrewCaskTools::Caskroom.new
|
12
|
+
end
|
13
|
+
|
14
|
+
def progressbar
|
15
|
+
@progressbar ||= ProgressBar.create(title: ' Progress ')
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/bct/tasks/cleanup.rb
CHANGED
@@ -1,58 +1,59 @@
|
|
1
1
|
require 'thor'
|
2
|
+
require 'pry'
|
3
|
+
|
4
|
+
require_relative './caskroom'
|
2
5
|
|
3
6
|
module BrewCaskTools
|
4
7
|
module Tasks
|
5
|
-
#
|
6
|
-
class Cleanup <
|
7
|
-
|
8
|
-
|
9
|
-
def cleanup(cask_name, *args)
|
10
|
-
@caskroom = args.first
|
11
|
-
cask = @caskroom.get(cask_name) unless cask_name.nil?
|
12
|
-
|
13
|
-
if cask.nil? && !cask_name.nil?
|
14
|
-
return say 'Invalid cask specified', :red
|
15
|
-
end
|
8
|
+
# Cleanup tasks
|
9
|
+
class Cleanup < Caskroom
|
10
|
+
def initialize(cask_name)
|
11
|
+
super()
|
16
12
|
|
17
|
-
|
18
|
-
|
19
|
-
|
13
|
+
if cask_name.nil?
|
14
|
+
progressbar.total = caskroom.casks.length
|
15
|
+
progressbar.log "\nLooking for outdated casks..."
|
16
|
+
|
17
|
+
return clean_all # Clean all casks
|
20
18
|
end
|
21
19
|
|
22
|
-
|
20
|
+
cask = caskroom.get(cask_name)
|
21
|
+
return say 'Invalid cask specified', :red if cask.nil?
|
22
|
+
|
23
|
+
clean_one(cask)
|
23
24
|
end
|
24
25
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
say "Cleaning up #{c.name}", :yellow
|
29
|
-
dep_q = "#{c.name} has been deprecated. Ok to remove all versions?"
|
30
|
-
if c.deprecated? && no?(dep_q, :red)
|
31
|
-
say 'No action taken.', :red
|
32
|
-
next
|
33
|
-
end
|
34
|
-
say "Removed #{versions.length} old version(s)", :yellow
|
35
|
-
end
|
36
|
-
end
|
26
|
+
def clean_one(cask)
|
27
|
+
return say "#{cask.name.capitalize} does not have any outdated " \
|
28
|
+
'versions. No cleanup operations are necessary', :green unless cask.can_cleanup?
|
37
29
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
30
|
+
cask.cleanup(&clean_block)
|
31
|
+
end
|
32
|
+
|
33
|
+
def clean_all
|
34
|
+
cleaned_casks = []
|
35
|
+
|
36
|
+
caskroom.enumerate do |cask|
|
37
|
+
progressbar.title = " #{cask.name.capitalize} "
|
38
|
+
progressbar.increment
|
44
39
|
|
45
|
-
cask.
|
40
|
+
cleaned_casks << cask if cask.can_cleanup?
|
46
41
|
end
|
47
42
|
|
48
|
-
|
49
|
-
cleaned_casks = @caskroom.casklist.select(&:can_cleanup?)
|
43
|
+
return say "\nNo cleanup operations are necessary", :green if cleaned_casks.empty?
|
50
44
|
|
51
|
-
|
52
|
-
|
53
|
-
end
|
45
|
+
cleaned_casks.each { |c| c.cleanup(&clean_block) }
|
46
|
+
end
|
54
47
|
|
55
|
-
|
48
|
+
def clean_block
|
49
|
+
proc do |c, versions|
|
50
|
+
say "Cleaning up #{c.name}", :yellow
|
51
|
+
dep_q = "#{c.name} has been deprecated. Ok to remove all versions?"
|
52
|
+
if c.deprecated? && no?(dep_q, :red)
|
53
|
+
say 'No action taken.', :red
|
54
|
+
next
|
55
|
+
end
|
56
|
+
say "Removed #{versions.length} old version(s)", :yellow
|
56
57
|
end
|
57
58
|
end
|
58
59
|
end
|
data/lib/bct/tasks/outdated.rb
CHANGED
@@ -1,42 +1,60 @@
|
|
1
|
-
|
1
|
+
require_relative './caskroom'
|
2
2
|
|
3
3
|
module BrewCaskTools
|
4
4
|
module Tasks
|
5
|
-
#
|
6
|
-
class Outdated <
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
5
|
+
# Outdated cask tasks
|
6
|
+
class Outdated < Caskroom
|
7
|
+
def initialize
|
8
|
+
super
|
9
|
+
progressbar.total = caskroom.casks.length
|
10
|
+
progressbar.log "\nLooking for outdated casks..."
|
11
|
+
outdated, deprecated = compile
|
12
|
+
|
13
|
+
outdated(outdated)
|
14
|
+
deprecated(deprecated)
|
12
15
|
end
|
13
16
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
say 'There are no outdated casks', :yellow if casks.empty?
|
18
|
-
next if casks.empty?
|
19
|
-
|
20
|
-
puts "Outdated packages\n------------------"
|
21
|
-
headers = ['Package', 'Installed Version', 'New Version']
|
22
|
-
output = casks.unshift(headers)
|
23
|
-
print_table(output)
|
24
|
-
puts "\n"
|
25
|
-
end
|
26
|
-
end
|
17
|
+
def compile
|
18
|
+
outdated = []
|
19
|
+
deprecated = []
|
27
20
|
|
28
|
-
|
29
|
-
|
30
|
-
|
21
|
+
caskroom.enumerate do |cask|
|
22
|
+
progressbar.title = " #{cask.name.capitalize} "
|
23
|
+
progressbar.increment
|
24
|
+
|
25
|
+
outdated << cask if cask.outdated?
|
26
|
+
deprecated << cask if cask.deprecated?
|
27
|
+
end
|
28
|
+
[outdated, deprecated]
|
29
|
+
end
|
31
30
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
31
|
+
def outdated(casks)
|
32
|
+
return say "\nThere are no outdated casks", :yellow if casks.empty?
|
33
|
+
handle(casks, 'outdated') do |outdated_casks|
|
34
|
+
outdated_casks.map! do |c|
|
35
|
+
[c.name, c.installed_version, c.current_version]
|
37
36
|
end
|
37
|
+
|
38
|
+
headers = ['Package', 'Installed Version', 'New Version']
|
39
|
+
output = outdated_casks.unshift(headers)
|
40
|
+
print_table(output)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def deprecated(casks)
|
45
|
+
return if casks.empty?
|
46
|
+
handle(casks, 'deprecated') do |dep_casks|
|
47
|
+
dep_casks.map! { |c| [c.name] }
|
48
|
+
output = dep_casks.unshift(['Package'])
|
49
|
+
print_table(output)
|
38
50
|
end
|
39
51
|
end
|
52
|
+
|
53
|
+
def handle(casks, adverb)
|
54
|
+
puts "#{adverb.capitalize} packages\n------------------"
|
55
|
+
yield casks
|
56
|
+
puts "\n"
|
57
|
+
end
|
40
58
|
end
|
41
59
|
end
|
42
60
|
end
|
data/lib/bct/tasks/upgrade.rb
CHANGED
@@ -1,45 +1,52 @@
|
|
1
1
|
require 'thor'
|
2
2
|
|
3
|
+
require_relative './caskroom'
|
3
4
|
require_relative './cleanup'
|
4
5
|
|
5
6
|
module BrewCaskTools
|
6
7
|
module Tasks
|
7
8
|
# Upgrade tasks
|
8
|
-
class Upgrade <
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
if cask.nil? && !cask_name.nil?
|
16
|
-
return say 'Invalid cask specified', :red
|
17
|
-
end
|
9
|
+
class Upgrade < Caskroom
|
10
|
+
def initialize(cask_name)
|
11
|
+
super()
|
12
|
+
|
13
|
+
if cask_name.nil?
|
14
|
+
progressbar.total = caskroom.casks.length
|
15
|
+
progressbar.log "\nLooking for outdated casks..."
|
18
16
|
|
19
|
-
|
20
|
-
upgrade_all
|
21
|
-
else # Upgrade one cask
|
22
|
-
upgrade_one(cask_name, cask)
|
17
|
+
return upgrade_all # Clean all casks
|
23
18
|
end
|
19
|
+
|
20
|
+
cask = caskroom.get(cask_name)
|
21
|
+
return say 'Invalid cask specified', :red if cask.nil?
|
22
|
+
|
23
|
+
upgrade_one(cask)
|
24
24
|
end
|
25
25
|
|
26
|
-
|
27
|
-
|
28
|
-
cask.upgrade
|
29
|
-
invoke Tasks::Cleanup, :cleanup, [cask_name]
|
30
|
-
end
|
26
|
+
def upgrade_all
|
27
|
+
to_upgrade = []
|
31
28
|
|
32
|
-
|
33
|
-
|
29
|
+
caskroom.enumerate do |cask|
|
30
|
+
progressbar.title = " #{cask.name.capitalize} "
|
31
|
+
progressbar.increment
|
34
32
|
|
35
|
-
|
36
|
-
say 'There are no casks to be upgraded', :green
|
37
|
-
else
|
38
|
-
to_upgrade.each(&:upgrade)
|
39
|
-
end
|
33
|
+
next unless cask.outdated?
|
40
34
|
|
41
|
-
|
35
|
+
to_upgrade << cask
|
36
|
+
progressbar.log "#{cask.info.name}: " \
|
37
|
+
"#{cask.installed_version} ==> #{cask.current_version}"
|
42
38
|
end
|
39
|
+
|
40
|
+
return say 'There are no casks to be upgraded', :green if to_upgrade.empty?
|
41
|
+
|
42
|
+
to_upgrade.each(&:upgrade)
|
43
|
+
|
44
|
+
Tasks::Cleanup.new(nil)
|
45
|
+
end
|
46
|
+
|
47
|
+
def upgrade_one(cask)
|
48
|
+
cask.upgrade
|
49
|
+
Tasks::Cleanup.new(cask_name)
|
43
50
|
end
|
44
51
|
end
|
45
52
|
end
|
data/lib/bct/tasks.rb
CHANGED
@@ -12,8 +12,8 @@ module BrewCaskTools
|
|
12
12
|
class CLI < Thor
|
13
13
|
def initialize(args, opts, config)
|
14
14
|
super
|
15
|
-
|
16
|
-
|
15
|
+
return if %w(help version).include?(config[:current_command].name)
|
16
|
+
`brew tap` # Update Caskroom tap so the latest formulae are pulled down
|
17
17
|
end
|
18
18
|
|
19
19
|
def self.exit_on_failure?
|
@@ -27,19 +27,19 @@ module BrewCaskTools
|
|
27
27
|
|
28
28
|
desc 'outdated', 'list outdated casks'
|
29
29
|
def outdated
|
30
|
-
|
30
|
+
Tasks::Outdated.new
|
31
31
|
end
|
32
32
|
|
33
33
|
desc 'upgrade CASK', 'Upgrade a specific cask.' \
|
34
34
|
' If a cask name is omitted, this task will update all outdated casks.'
|
35
35
|
def upgrade(cask_name = nil)
|
36
|
-
|
36
|
+
Tasks::Upgrade.new(cask_name)
|
37
37
|
end
|
38
38
|
|
39
39
|
desc 'cleanup CASK', 'clean up old versions of a specific cask. If a ' \
|
40
40
|
'cask name is omitted, this task will cleanup all outdated casks.'
|
41
41
|
def cleanup(cask_name = nil)
|
42
|
-
|
42
|
+
Tasks::Cleanup.new(cask_name)
|
43
43
|
end
|
44
44
|
end
|
45
45
|
end
|
data/lib/bct/util.rb
CHANGED
@@ -19,11 +19,11 @@ module BrewCaskTools
|
|
19
19
|
# Relative path from working directory
|
20
20
|
##
|
21
21
|
def relative_path(*relative)
|
22
|
-
Pathname.pwd.join(*
|
22
|
+
Pathname.pwd.join(*relative.flatten.map(&:to_s)).expand_path
|
23
23
|
end
|
24
24
|
|
25
25
|
def source_path(*relative)
|
26
|
-
GEM_PATH.join(*
|
26
|
+
GEM_PATH.join(*relative.flatten.map(&:to_s)).expand_path
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brew-cask-tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dave Greene
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -80,6 +80,34 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0.19'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: ruby-progressbar
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.8'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.8'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: git-version-bump
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0.15'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0.15'
|
83
111
|
description: A tiny tool that provides some missing functionality in Homebrew Cask.
|
84
112
|
email:
|
85
113
|
- davepgreene@gmail.com
|
@@ -93,9 +121,11 @@ files:
|
|
93
121
|
- bin/bct
|
94
122
|
- lib/bct.rb
|
95
123
|
- lib/bct/cask.rb
|
124
|
+
- lib/bct/cask/info.rb
|
96
125
|
- lib/bct/caskroom.rb
|
97
126
|
- lib/bct/metadata.rb
|
98
127
|
- lib/bct/tasks.rb
|
128
|
+
- lib/bct/tasks/caskroom.rb
|
99
129
|
- lib/bct/tasks/cleanup.rb
|
100
130
|
- lib/bct/tasks/outdated.rb
|
101
131
|
- lib/bct/tasks/upgrade.rb
|