bcupgrade 0.1.0 → 0.1.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/README.md +32 -7
- data/exe/bcupgrade +16 -30
- data/lib/bcupgrade/brew_cask.rb +19 -0
- data/lib/bcupgrade/version.rb +1 -1
- data/lib/bcupgrade.rb +47 -8
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 340ebfae5d304dec32c1d4241b7c10e54ddba640
|
4
|
+
data.tar.gz: 9edaa6ed2d1b12a418a15f8636cd1e0a89550e48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9811c99363f600c7d6e466d1c2088809e3f0fbad707549ed37a4c8107f1dc5a3371ac87c54470278e16556af848c98d6e59a9e177826aaeebdc78ffb412f6372
|
7
|
+
data.tar.gz: 566fcda0c43fa53ad4ead0cd4f8fda3203b0a0f4d438981a630520dffd497873f6faaa75cd477a5bd1a09916fa6d4f529849ba14578b62d33eed258405be31ed
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Bcupgrade - brew cask upgrade
|
1
|
+
# Bcupgrade - brew cask upgrade [](https://badge.fury.io/rb/bcupgrade)
|
2
2
|
|
3
3
|
Upgrade all installed brew casks.
|
4
4
|
|
@@ -11,7 +11,7 @@ This script uses `brew cask info` result.
|
|
11
11
|
|
12
12
|
```
|
13
13
|
% brew cask info atom
|
14
|
-
atom: 1.10.
|
14
|
+
atom: 1.10.2
|
15
15
|
https://atom.io/
|
16
16
|
/usr/local/Caskroom/atom/1.7.3 (does not exist)
|
17
17
|
/usr/local/Caskroom/atom/1.8.0 (68B)
|
@@ -31,18 +31,24 @@ Atom.app (app)
|
|
31
31
|
|
32
32
|
## Usage
|
33
33
|
|
34
|
-
|
34
|
+
```
|
35
|
+
% bcupgrade -h
|
36
|
+
Usage: bcupgrade [options]
|
37
|
+
-v, --version Show version number
|
38
|
+
--dry-run Show output without running
|
39
|
+
```
|
35
40
|
|
36
|
-
`bcupgrade` displays a confirmation prompt
|
41
|
+
`bcupgrade` displays a confirmation prompt `[y/n]` when it attempts to re-install.
|
37
42
|
|
38
43
|
```
|
39
44
|
% bcupgrade
|
40
45
|
|
41
|
-
|
46
|
+
Check brew cask list...
|
42
47
|
["1password", "alfred", "atom", "bartender"]
|
43
48
|
|
44
|
-
Check
|
45
|
-
|
49
|
+
Check the latest available version...
|
50
|
+
1password / 6.3.2
|
51
|
+
atom / 1.10.2
|
46
52
|
|
47
53
|
Upgrade 1password? [y/n] n
|
48
54
|
|
@@ -62,6 +68,25 @@ complete
|
|
62
68
|
🍺 atom was successfully installed!
|
63
69
|
```
|
64
70
|
|
71
|
+
- Remove previous versions.
|
72
|
+
`rm -rf /usr/local/Caskroom/#{cask}`
|
73
|
+
- Install latest version.
|
74
|
+
`brew cask install --force #{cask}`
|
75
|
+
|
76
|
+
```
|
77
|
+
% brew cask info atom
|
78
|
+
atom: 1.10.2
|
79
|
+
https://atom.io/
|
80
|
+
/usr/local/Caskroom/atom/1.10.2 (68B)
|
81
|
+
From: https://github.com/caskroom/homebrew-cask/blob/master/Casks/atom.rb
|
82
|
+
==> Name
|
83
|
+
Github Atom
|
84
|
+
==> Artifacts
|
85
|
+
Atom.app (app)
|
86
|
+
/Applications/Atom.app/Contents/Resources/app/apm/node_modules/.bin/apm (binary)
|
87
|
+
/Applications/Atom.app/Contents/Resources/app/atom.sh (binary)
|
88
|
+
```
|
89
|
+
|
65
90
|
## Development
|
66
91
|
|
67
92
|
After checking out the repo, run `bin/setup` to install dependencies.
|
data/exe/bcupgrade
CHANGED
@@ -4,36 +4,22 @@ require 'bcupgrade'
|
|
4
4
|
require 'optparse'
|
5
5
|
require 'readline'
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
list = `brew cask list`
|
19
|
-
casks = list.delete(' (!)').split("\n")
|
20
|
-
puts "#{casks}\n"
|
21
|
-
|
22
|
-
# Check update cask
|
23
|
-
puts "\nCheck update cask...\n"
|
24
|
-
update_casks = Bcupgrade.check_update(casks)
|
25
|
-
puts "#{update_casks}\n"
|
7
|
+
OptionParser.new do |opt|
|
8
|
+
begin
|
9
|
+
opt.on('-v', '--version', 'Show version number') do
|
10
|
+
puts Bcupgrade::VERSION
|
11
|
+
exit
|
12
|
+
end
|
13
|
+
opt.on('--dry-run', 'Show output without running') do
|
14
|
+
opt.parse!(ARGV)
|
15
|
+
Bcupgrade.run
|
16
|
+
exit
|
17
|
+
end
|
26
18
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
puts "remove #{cask}"
|
33
|
-
system "rm -rf /usr/local/Caskroom/#{cask}"
|
34
|
-
puts "install #{cask}"
|
35
|
-
system "brew cask install --force #{cask}"
|
19
|
+
opt.parse!(ARGV)
|
20
|
+
Bcupgrade.run(true)
|
21
|
+
rescue => e
|
22
|
+
puts e.to_s
|
23
|
+
exit
|
36
24
|
end
|
37
|
-
else
|
38
|
-
puts "\nAlready up-to-date."
|
39
25
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Bcupgrade
|
2
|
+
CASKROOM_PATH = '/usr/local/Caskroom'.freeze
|
3
|
+
|
4
|
+
def self.brew_cask_list
|
5
|
+
`brew cask list`
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.brew_cask_info(cask)
|
9
|
+
`brew cask info #{cask}`
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.brew_cask_remove(cask)
|
13
|
+
system "rm -rf #{CASKROOM_PATH}/#{cask}"
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.brew_cask_install(cask)
|
17
|
+
system "brew cask install --force #{cask}"
|
18
|
+
end
|
19
|
+
end
|
data/lib/bcupgrade/version.rb
CHANGED
data/lib/bcupgrade.rb
CHANGED
@@ -1,16 +1,55 @@
|
|
1
1
|
require 'bcupgrade/version'
|
2
|
+
require 'bcupgrade/brew_cask'
|
2
3
|
|
3
4
|
module Bcupgrade
|
4
|
-
def self.
|
5
|
-
|
5
|
+
def self.check_list
|
6
|
+
Bcupgrade.brew_cask_list.delete(' (!)').split("\n")
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.check_version(cask)
|
10
|
+
cask_info = Bcupgrade.brew_cask_info(cask)
|
11
|
+
lines = cask_info.split(/\n/)
|
12
|
+
latest_version = lines[0].gsub(/.+: (.+)/, '\1')
|
13
|
+
installed_path = "#{Bcupgrade::CASKROOM_PATH}/#{cask}/#{latest_version}"
|
14
|
+
|
15
|
+
cask_info.include?(installed_path) ? nil : latest_version
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.upgrade(casks)
|
6
19
|
casks.each do |cask|
|
7
|
-
|
8
|
-
|
9
|
-
|
20
|
+
input = Readline.readline("\nUpgrade #{cask}? [y/n] ")
|
21
|
+
next unless input == 'y'
|
22
|
+
puts "remove #{cask}"
|
23
|
+
Bcupgrade.brew_cask_remove(cask)
|
24
|
+
puts "install #{cask}"
|
25
|
+
Bcupgrade.brew_cask_install(cask)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.run(option = false)
|
30
|
+
# Check cask list
|
31
|
+
puts "\nCheck brew cask list...\n"
|
32
|
+
installed_casks = Bcupgrade.check_list
|
33
|
+
puts "#{installed_casks}\n"
|
34
|
+
|
35
|
+
# Check cask version
|
36
|
+
puts "\nCheck the latest available version...\n"
|
37
|
+
update_casks = []
|
38
|
+
installed_casks.each do |cask|
|
39
|
+
latest_version = Bcupgrade.check_version(cask)
|
40
|
+
if latest_version
|
41
|
+
puts "#{cask} / #{latest_version}"
|
42
|
+
update_casks.push(cask)
|
43
|
+
end
|
44
|
+
end
|
10
45
|
|
11
|
-
|
12
|
-
|
46
|
+
if option
|
47
|
+
# Upgrade cask
|
48
|
+
if update_casks.any?
|
49
|
+
Bcupgrade.upgrade(update_casks)
|
50
|
+
else
|
51
|
+
puts "\nAlready up-to-date."
|
52
|
+
end
|
13
53
|
end
|
14
|
-
update_casks
|
15
54
|
end
|
16
55
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bcupgrade
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- DriftwoodJP
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-09-
|
11
|
+
date: 2016-09-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -73,6 +73,7 @@ files:
|
|
73
73
|
- bin/setup
|
74
74
|
- exe/bcupgrade
|
75
75
|
- lib/bcupgrade.rb
|
76
|
+
- lib/bcupgrade/brew_cask.rb
|
76
77
|
- lib/bcupgrade/version.rb
|
77
78
|
homepage: https://github.com/DriftwoodJP/bcupgrade
|
78
79
|
licenses:
|