ghcurl 0.9.1 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -1
- data/{LICENSE → LICENSE.txt} +1 -1
- data/README.md +13 -13
- data/bin/ghcurl +63 -57
- data/lib/ghcurl.rb +11 -5
- metadata +16 -18
- data/ghcurl.gemspec +0 -40
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 56d97e618752a7e5c87b7bca803026f8bb5d1bba3e56b48fa456286ea3ff99ce
|
4
|
+
data.tar.gz: 65476305b559666276cdb8fbe6b8d23f97e1042a76a0bc5233d8cb51a72d0812
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d583ee7587dd6a53d8935d88e11275261d00aec807ad273785fd5594e5eb84da9e011ef76178365a18e25a3c4bf25f40576583661b9311c9759e1e8db3e1cc0
|
7
|
+
data.tar.gz: c510f01d99a7a24c8c871826b240542d18dacd2354f5e6aee2683666434bc26091106a733c236c33496c657437dd842295cfe727dadfceb826ca7a61563bbe0a
|
data/CHANGELOG.md
CHANGED
data/{LICENSE → LICENSE.txt}
RENAMED
data/README.md
CHANGED
@@ -2,21 +2,21 @@
|
|
2
2
|
|
3
3
|
# ghcurl
|
4
4
|
|
5
|
-
[![Gem Version](https://badge.fury.io/rb/ghcurl.svg)](https://rubygems.org/gems/ghcurl)
|
5
|
+
[![Gem Version](https://badge.fury.io/rb/ghcurl.svg)](https://rubygems.org/gems/ghcurl)
|
6
6
|
|
7
|
-
|
7
|
+
</div>
|
8
8
|
|
9
|
-
|
9
|
+
`ghcurl`: **Download** files and **install** from Github releases.
|
10
10
|
|
11
|
-
|
12
|
-
gem install ghcurl
|
13
|
-
```
|
11
|
+
It works on Linux, Windows, macOS. It always gives you the proper option to download based on your os and arch. You can search by regular expression, specify a version, and install it to a path or according to the environment variable `GHCURL_BIN_PATH` or just `/usr/local/bin`. It will automatically extract a tar/zip file to make the installation process better.
|
14
12
|
|
15
|
-
|
13
|
+
<br>
|
16
14
|
|
17
|
-
|
15
|
+
## Install
|
18
16
|
|
19
|
-
|
17
|
+
```bash
|
18
|
+
$ gem install ghcurl
|
19
|
+
```
|
20
20
|
|
21
21
|
## Usage
|
22
22
|
|
@@ -39,7 +39,7 @@ This is optional, download will default to `~/.cache/ghcurl`
|
|
39
39
|
2. `-i path` Install to path
|
40
40
|
|
41
41
|
**-r**
|
42
|
-
1. `-r name` Install the binary as name
|
42
|
+
1. `-r name` Install the binary as name
|
43
43
|
|
44
44
|
<br>
|
45
45
|
|
@@ -77,14 +77,14 @@ ghcurl gh -o /tmp
|
|
77
77
|
# Download latest rbspy-x86_64-unknown-linux-gnu.tar.gz to ~/.cache/ghcurl
|
78
78
|
ghcurl rbspy/rbspy 'x86_64.*linux'
|
79
79
|
|
80
|
-
# Download rbspy version 0.11.1
|
80
|
+
# Download rbspy version 0.11.1
|
81
81
|
ghcurl rbspy/rbspy 'x86_64.*linux' -v0.11.1
|
82
82
|
```
|
83
83
|
|
84
84
|
Download a binary and install it to anywhere
|
85
85
|
```bash
|
86
86
|
# Install to /usr/local/bin
|
87
|
-
ghcurl starship linux-gnu -i
|
87
|
+
ghcurl starship linux-gnu -i
|
88
88
|
|
89
89
|
# Install to ~/tmp/bin
|
90
90
|
ghcurl BetaPictoris/timeleft -i ~/tmp/bin
|
@@ -99,4 +99,4 @@ ghcurl dbrgn/tealdeer x86_64 -i -r 'tldr'
|
|
99
99
|
ghcurl dlvhdr/gh-dash linux-amd64 -i ~/tmp/bin/gd
|
100
100
|
```
|
101
101
|
|
102
|
-
<br>
|
102
|
+
<br>
|
data/bin/ghcurl
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# File : ghcurl.rb
|
4
4
|
# Authors : ccmywish <ccmywish@qq.com>
|
5
5
|
# Created on : <2022-04-12>
|
6
|
-
# Last modified : <2022-
|
6
|
+
# Last modified : <2022-12-05>
|
7
7
|
#
|
8
8
|
# ghcurl:
|
9
9
|
#
|
@@ -19,7 +19,7 @@ require 'fileutils'
|
|
19
19
|
module Ghcurl
|
20
20
|
|
21
21
|
WAREHOUSE = File.expand_path("~/.cache/ghcurl")
|
22
|
-
if ENV['GHCURL_BIN_PATH']
|
22
|
+
if ENV['GHCURL_BIN_PATH']
|
23
23
|
BIN_PATH = ENV['GHCURL_BIN_PATH'].chomp('/')
|
24
24
|
else
|
25
25
|
BIN_PATH = "/usr/local/bin"
|
@@ -33,11 +33,11 @@ module Ghcurl
|
|
33
33
|
def green(str) "\e[32m#{str}\e[0m" end
|
34
34
|
def blue(str) "\e[34m#{str}\e[0m" end
|
35
35
|
|
36
|
-
|
36
|
+
|
37
37
|
def log(msg)
|
38
38
|
puts blue(bold("ghcurl: #{msg}"))
|
39
39
|
end
|
40
|
-
|
40
|
+
|
41
41
|
|
42
42
|
#
|
43
43
|
# @return absolute download path
|
@@ -67,20 +67,20 @@ module Ghcurl
|
|
67
67
|
|
68
68
|
def get_filters
|
69
69
|
|
70
|
-
arches = [
|
70
|
+
arches = [
|
71
71
|
# NOTE: Here we can't add 'x86' to the first group!
|
72
|
-
# Because we finally use simple "string compare" to filter out
|
73
|
-
# the improper links.
|
74
|
-
# If added, when we filter out the 'x86'(first group),
|
72
|
+
# Because we finally use simple "string compare" to filter out
|
73
|
+
# the improper links.
|
74
|
+
# If added, when we filter out the 'x86'(first group),
|
75
75
|
# the leading 'x86' will remove 'x86_64'(the second group) too!!!
|
76
76
|
['i386', 'i686' ],
|
77
|
-
['x64', 'x86_64', 'amd64'],
|
78
|
-
|
77
|
+
['x64', 'x86_64', 'amd64'],
|
78
|
+
|
79
79
|
['armv6', 'arm' ],
|
80
80
|
['armv7' ],
|
81
|
-
['armv8', 'arm64', 'aarch64'],
|
81
|
+
['armv8', 'arm64', 'aarch64'],
|
82
82
|
]
|
83
|
-
|
83
|
+
|
84
84
|
oses = [
|
85
85
|
['linux'],
|
86
86
|
['freebsd'],
|
@@ -97,43 +97,43 @@ module Ghcurl
|
|
97
97
|
when 'linux' then os = 'linux'
|
98
98
|
when 'mac', 'macOS' then os = 'mac'
|
99
99
|
when 'freebsd' then os = 'freebsd'
|
100
|
-
when 'ucrt', 'mingw', 'windows' then os = 'windows'
|
100
|
+
when 'ucrt', 'mingw', 'windows' then os = 'windows'
|
101
101
|
end
|
102
102
|
end
|
103
103
|
|
104
104
|
# Why we choose to REFUSE filters rather than APPROVE filters?
|
105
105
|
# The answer is here, you may notice, different developers decide to
|
106
|
-
# name their distribution differently according to the same arch.
|
106
|
+
# name their distribution differently according to the same arch.
|
107
107
|
#
|
108
108
|
# For example, if a bin file is called "ruby_analyse.exe"
|
109
109
|
# The developer may call it (ONLY ONE of below):
|
110
110
|
# 1. ruby_analyse-windows-x64.exe
|
111
111
|
# 2. ruby_analyse-windows-x86_64.exe
|
112
112
|
# 3. ruby_analyse-windows-amd64.exe
|
113
|
-
#
|
114
|
-
# Think of the situation:
|
115
|
-
# When we decide the native arch is "x86-64", and the developer gives
|
113
|
+
#
|
114
|
+
# Think of the situation:
|
115
|
+
# When we decide the native arch is "x86-64", and the developer gives
|
116
116
|
# the name 'xxx-amd64', we will filter the link out wrongly ....
|
117
117
|
#
|
118
|
-
# So, we can't target the download link via arch. However, we can
|
119
|
-
# see them a group of possible names, then REFUSE other name of
|
118
|
+
# So, we can't target the download link via arch. However, we can
|
119
|
+
# see them a group of possible names, then REFUSE other name of
|
120
120
|
# other arches.
|
121
121
|
#
|
122
122
|
fs.each do |f|
|
123
123
|
case f
|
124
|
-
when 'x64', 'x86_64', 'amd64' then arch = 'x86_64'
|
124
|
+
when 'x64', 'x86_64', 'amd64' then arch = 'x86_64'
|
125
125
|
when 'x86', 'i386', 'i686' then arch = 'x86'
|
126
|
-
|
127
|
-
when 'arm64', 'armv8', 'aarch64' then arch = 'arm64'
|
128
|
-
when 'armv6', 'arm' then arch = 'armv6'
|
129
|
-
when 'armv7' then arch = 'armv7'
|
126
|
+
|
127
|
+
when 'arm64', 'armv8', 'aarch64' then arch = 'arm64'
|
128
|
+
when 'armv6', 'arm' then arch = 'armv6'
|
129
|
+
when 'armv7' then arch = 'armv7'
|
130
130
|
end
|
131
131
|
end
|
132
132
|
|
133
133
|
approval, refuse = [], []
|
134
134
|
# [os, arch].each { approval << _1 unless _1.nil? }
|
135
135
|
|
136
|
-
if os
|
136
|
+
if os
|
137
137
|
i = oses.each_with_index do |type, index|
|
138
138
|
break index if type.include? os
|
139
139
|
end
|
@@ -160,10 +160,10 @@ module Ghcurl
|
|
160
160
|
# puts "=> Approval and refuse"
|
161
161
|
# p [os, arch]
|
162
162
|
# p refuse
|
163
|
-
|
163
|
+
|
164
164
|
# Now we only refuse others
|
165
165
|
return refuse
|
166
|
-
|
166
|
+
|
167
167
|
end
|
168
168
|
|
169
169
|
|
@@ -209,7 +209,7 @@ module Ghcurl
|
|
209
209
|
The search result is empty, check the args!
|
210
210
|
repo: #{repo}
|
211
211
|
version: #{version ? version:'nil'}
|
212
|
-
|
212
|
+
|
213
213
|
Maybe there's no assets in this release
|
214
214
|
EOE
|
215
215
|
exit 0
|
@@ -218,12 +218,12 @@ module Ghcurl
|
|
218
218
|
links = links.map { _1[:browser_download_url] }
|
219
219
|
|
220
220
|
|
221
|
-
if regexp
|
221
|
+
if regexp
|
222
222
|
filtered = links.select do
|
223
223
|
_1 =~ /#{regexp}/
|
224
224
|
end
|
225
225
|
else
|
226
|
-
refuse = get_filters()
|
226
|
+
refuse = get_filters()
|
227
227
|
filtered = links.select do |l|
|
228
228
|
refuse.all? do |f|
|
229
229
|
l !~ /#{f}/
|
@@ -233,8 +233,8 @@ module Ghcurl
|
|
233
233
|
|
234
234
|
|
235
235
|
if filtered.size == 1
|
236
|
-
link = filtered[0].split('/').last
|
237
|
-
else
|
236
|
+
link = filtered[0].split('/').last
|
237
|
+
else
|
238
238
|
if filtered.size == 0
|
239
239
|
links_for_user = links.map { _1.split('/').last }
|
240
240
|
else
|
@@ -250,7 +250,7 @@ module Ghcurl
|
|
250
250
|
url = links[0].split('/')[0..-2].join('/') + '/' + link
|
251
251
|
|
252
252
|
log "Downloading #{url}"
|
253
|
-
|
253
|
+
|
254
254
|
dl_name = link.split('/').last
|
255
255
|
|
256
256
|
return curl(url, dl_name, download_to)
|
@@ -299,13 +299,13 @@ module Ghcurl
|
|
299
299
|
# the target unzipped file name (this includes the path prefix)
|
300
300
|
unzip_name = ""
|
301
301
|
|
302
|
-
# unzip
|
302
|
+
# unzip
|
303
303
|
if target.match? /\.zip$/
|
304
304
|
log "Unzip zip file"
|
305
305
|
unzip_dir = target.chomp('.zip')
|
306
306
|
system "unzip -q #{target} -d #{unzip_dir}"
|
307
307
|
end
|
308
|
-
|
308
|
+
|
309
309
|
# .gz, .bz2, .xz
|
310
310
|
if target.match? /\.tar\.(\w){1,3}/
|
311
311
|
log "Unzip tar file"
|
@@ -313,7 +313,7 @@ module Ghcurl
|
|
313
313
|
FileUtils.mkdir_p(unzip_dir)
|
314
314
|
system "tar xf #{target} --directory=#{unzip_dir}"
|
315
315
|
end
|
316
|
-
|
316
|
+
|
317
317
|
|
318
318
|
#
|
319
319
|
# @return [Array] file names in the dir
|
@@ -322,7 +322,7 @@ module Ghcurl
|
|
322
322
|
result = []
|
323
323
|
chd = Dir.children(dir)
|
324
324
|
chd_files = chd.select{|f| File.file? "#{dir}/#{f}"}
|
325
|
-
|
325
|
+
|
326
326
|
chd_files.each { result << "#{dir}/#{_1}"[2..] }
|
327
327
|
|
328
328
|
chd_dirs = chd.select{|d| File.directory?("#{dir}/#{d}") && ( d != '.git')}
|
@@ -332,13 +332,13 @@ module Ghcurl
|
|
332
332
|
end
|
333
333
|
result
|
334
334
|
end
|
335
|
-
|
335
|
+
|
336
336
|
|
337
337
|
Dir.chdir unzip_dir do
|
338
338
|
files = _iterate_dir('.')
|
339
339
|
end
|
340
340
|
|
341
|
-
|
341
|
+
|
342
342
|
if files.size > 1
|
343
343
|
unzip_name = HL.choose do |menu|
|
344
344
|
menu.index_color = :rgb_77bbff
|
@@ -366,38 +366,44 @@ module Ghcurl
|
|
366
366
|
name.include?('_')) && (not rename_as)
|
367
367
|
log "Do you want to rename the '#{name}'?"
|
368
368
|
re = HL.ask "Input new name, or leave it blank to not rename."
|
369
|
-
if !re.empty?
|
369
|
+
if !re.empty?
|
370
370
|
rename_as = re
|
371
371
|
end
|
372
372
|
end
|
373
373
|
|
374
374
|
|
375
375
|
if zip_flag
|
376
|
-
# Now:
|
376
|
+
# Now:
|
377
377
|
# target is /home/xx/xx.zip
|
378
378
|
# unzip_dir is /home/xx/xx
|
379
379
|
# unzip_file is abc/cde/file (new target)
|
380
380
|
target = unzip_dir + '/' + unzip_name
|
381
381
|
end
|
382
382
|
|
383
|
-
log "Renamed as '#{rename_as}'" if rename_as
|
383
|
+
log "Renamed as '#{rename_as}'" if rename_as
|
384
384
|
|
385
385
|
|
386
|
-
case RUBY_PLATFORM
|
387
|
-
when /ucrt/i, /mingw/i
|
386
|
+
# case RUBY_PLATFORM
|
387
|
+
# when /ucrt/i, /mingw/i
|
388
|
+
# install_on_windows(target, name, install_to, rename_as)
|
389
|
+
# else
|
390
|
+
# install_on_nix(target, name, install_to, rename_as)
|
391
|
+
# end
|
392
|
+
if Gem.win_platform?
|
388
393
|
install_on_windows(target, name, install_to, rename_as)
|
389
394
|
else
|
390
395
|
install_on_nix(target, name, install_to, rename_as)
|
391
396
|
end
|
397
|
+
|
392
398
|
end
|
393
399
|
|
394
400
|
|
395
401
|
#
|
396
|
-
# @param target [String] the absulute path of to be installed software
|
402
|
+
# @param target [String] the absulute path of to be installed software
|
397
403
|
# @param name [String] the name of the software
|
398
404
|
#
|
399
405
|
def install_on_nix(target, name, install_to, rename_as)
|
400
|
-
install_to = install_to.chomp('/')
|
406
|
+
install_to = install_to.chomp('/')
|
401
407
|
|
402
408
|
if test 'd', install_to
|
403
409
|
log "Ready to install #{name}"
|
@@ -422,10 +428,10 @@ module Ghcurl
|
|
422
428
|
def install_on_windows(target, name, install_to, rename_as)
|
423
429
|
if !ENV['GHCURL_BIN_PATH']
|
424
430
|
log "Sorry, you must specify 'GHCURL_BIN_PATH' environment variable to install on Windows!"
|
425
|
-
return
|
431
|
+
return
|
426
432
|
end
|
427
433
|
|
428
|
-
install_to = install_to.chomp('/')
|
434
|
+
install_to = install_to.chomp('/')
|
429
435
|
|
430
436
|
if test 'd', install_to
|
431
437
|
log "Ready to install #{name}"
|
@@ -434,7 +440,7 @@ module Ghcurl
|
|
434
440
|
dest = "#{install_to}/#{rename_as}"
|
435
441
|
FileUtils.cp(target, dest)
|
436
442
|
log "Installed as " + dest
|
437
|
-
else
|
443
|
+
else
|
438
444
|
FileUtils.cp(target, install_to)
|
439
445
|
log "Install #{name} to " + install_to
|
440
446
|
end
|
@@ -442,7 +448,7 @@ module Ghcurl
|
|
442
448
|
else
|
443
449
|
log "#{install_to} is not a directory!"
|
444
450
|
end
|
445
|
-
|
451
|
+
|
446
452
|
end
|
447
453
|
|
448
454
|
|
@@ -462,9 +468,9 @@ module Ghcurl
|
|
462
468
|
# For -d option
|
463
469
|
#
|
464
470
|
def delete_wares(name)
|
465
|
-
begin
|
471
|
+
begin
|
466
472
|
|
467
|
-
if name.nil?
|
473
|
+
if name.nil?
|
468
474
|
re = HL.ask "Do you want to delete all downloaded files? [Y/n]"
|
469
475
|
case re.downcase
|
470
476
|
when '','y','ye','yes','true'
|
@@ -490,7 +496,7 @@ module Ghcurl
|
|
490
496
|
|
491
497
|
Default install to env 'GHCURL_BIN_PATH' or /usr/local/bin
|
492
498
|
|
493
|
-
|
499
|
+
Usage:
|
494
500
|
ghcurl [user]/repo [regexp] => Search latest version with regexp to download
|
495
501
|
ghcurl repo [re] -v tag => Download a specific tag version
|
496
502
|
ghcurl repo [re] -o [path] => Download into path or rename
|
@@ -501,7 +507,7 @@ module Ghcurl
|
|
501
507
|
ghcurl -d [name] => Delete a downloaded file or all
|
502
508
|
ghcurl -h => Print this help
|
503
509
|
|
504
|
-
|
510
|
+
Example:
|
505
511
|
ghcurl bat => Search sharkdp/bat the latest
|
506
512
|
ghcurl cli deb -i => Search cli/cli /deb/
|
507
513
|
ghcurl rbspy/rbspy 'x86_64.*linux' -v0.11.1
|
@@ -533,7 +539,7 @@ args, opts = Ghcurl::CLI.new.parse(ARGV)
|
|
533
539
|
|
534
540
|
if args.empty? and opts.empty?
|
535
541
|
help
|
536
|
-
exit
|
542
|
+
exit
|
537
543
|
end
|
538
544
|
|
539
545
|
|
@@ -544,8 +550,8 @@ download_to = nil
|
|
544
550
|
install_to = nil
|
545
551
|
rename_as = nil
|
546
552
|
|
547
|
-
opts.each do
|
548
|
-
case _1.name
|
553
|
+
opts.each do
|
554
|
+
case _1.name
|
549
555
|
when 'help'
|
550
556
|
help
|
551
557
|
exit
|
data/lib/ghcurl.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
# File : ghcurl.rb
|
3
3
|
# Authors : ccmywish <ccmywish@qq.com>
|
4
4
|
# Created on : <2022-04-12>
|
5
|
-
# Last modified : <
|
5
|
+
# Last modified : <2024-03-19>
|
6
6
|
#
|
7
7
|
# ghcurl:
|
8
8
|
#
|
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
module Ghcurl
|
14
14
|
|
15
|
-
VERSION = "0.9.
|
15
|
+
VERSION = "0.9.2"
|
16
16
|
|
17
17
|
end
|
18
18
|
|
@@ -33,7 +33,7 @@ Ghcurl::DEFAULT_WARES = {
|
|
33
33
|
|
34
34
|
exa: 'ogham/exa',
|
35
35
|
dog: 'ogham/dog',
|
36
|
-
|
36
|
+
|
37
37
|
lsd: 'Peltoche/lsd',
|
38
38
|
delta: 'dandavison/delta',
|
39
39
|
dua: 'Byron/dua-cli',
|
@@ -44,7 +44,7 @@ Ghcurl::DEFAULT_WARES = {
|
|
44
44
|
ripgrep: 'BurntSushi/ripgrep',
|
45
45
|
rg: 'BurntSushi/ripgrep',
|
46
46
|
ag: 'ggreer/the_silver_searcher',
|
47
|
-
|
47
|
+
|
48
48
|
fzf: 'junegunn/fzf',
|
49
49
|
fzy: 'jhawthorn/fzy',
|
50
50
|
|
@@ -75,5 +75,11 @@ Ghcurl::DEFAULT_WARES = {
|
|
75
75
|
# t
|
76
76
|
####################
|
77
77
|
tldr: 'dbrgn/tealdeer',
|
78
|
-
tealdeer: 'dbrgn/tealdeer'
|
78
|
+
tealdeer: 'dbrgn/tealdeer',
|
79
|
+
|
80
|
+
|
81
|
+
####################
|
82
|
+
# g
|
83
|
+
####################
|
84
|
+
gcm: 'git-ecosystem/git-credential-manager'
|
79
85
|
}
|
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ghcurl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Aoran Zeng
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-03-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: octokit
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: highline
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: cliswitch
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,9 +52,8 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 0.3.0
|
55
|
-
description: Download files
|
56
|
-
email:
|
57
|
-
- ccmywish@qq.com
|
55
|
+
description: Download files and install from Github releases.
|
56
|
+
email: ccmywish@qq.com
|
58
57
|
executables:
|
59
58
|
- ghcurl
|
60
59
|
extensions: []
|
@@ -62,11 +61,10 @@ extra_rdoc_files: []
|
|
62
61
|
files:
|
63
62
|
- CHANGELOG.md
|
64
63
|
- Gemfile
|
65
|
-
- LICENSE
|
64
|
+
- LICENSE.txt
|
66
65
|
- README.md
|
67
66
|
- Rakefile
|
68
67
|
- bin/ghcurl
|
69
|
-
- ghcurl.gemspec
|
70
68
|
- lib/ghcurl.rb
|
71
69
|
homepage: https://github.com/ccmywish/ghcurl
|
72
70
|
licenses:
|
@@ -90,8 +88,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
90
88
|
- !ruby/object:Gem::Version
|
91
89
|
version: '0'
|
92
90
|
requirements: []
|
93
|
-
rubygems_version: 3.3
|
91
|
+
rubygems_version: 3.5.3
|
94
92
|
signing_key:
|
95
93
|
specification_version: 4
|
96
|
-
summary: Download files
|
94
|
+
summary: Download files and install from Github releases
|
97
95
|
test_files: []
|
data/ghcurl.gemspec
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'lib/ghcurl'
|
4
|
-
|
5
|
-
Gem::Specification.new do |spec|
|
6
|
-
spec.name = "ghcurl"
|
7
|
-
spec.version = Ghcurl::VERSION
|
8
|
-
spec.authors = ["ccmywish"]
|
9
|
-
spec.email = ["ccmywish@qq.com"]
|
10
|
-
|
11
|
-
spec.license = "MIT"
|
12
|
-
spec.summary = "Download files (and install) from Github releases"
|
13
|
-
spec.description = "Download files (and install) from Github releases."
|
14
|
-
spec.homepage = "https://github.com/ccmywish/ghcurl"
|
15
|
-
spec.required_ruby_version = ">= 2.6.0"
|
16
|
-
|
17
|
-
# spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
|
18
|
-
|
19
|
-
spec.metadata["homepage_uri"] = spec.homepage
|
20
|
-
spec.metadata["source_code_uri"] = spec.homepage
|
21
|
-
spec.metadata["changelog_uri"] = spec.homepage
|
22
|
-
|
23
|
-
# Specify which files should be added to the gem when it is released.
|
24
|
-
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
25
|
-
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
26
|
-
`git ls-files -z`.split("\x0").reject do |f|
|
27
|
-
(f == __FILE__) || f.match(%r{\A(?:(?:|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
|
28
|
-
end
|
29
|
-
end
|
30
|
-
spec.bindir = "bin"
|
31
|
-
spec.executables = spec.files.grep(%r{\Abin/}) { |f| File.basename(f) }
|
32
|
-
spec.require_paths = ["lib"]
|
33
|
-
|
34
|
-
spec.add_dependency "octokit", "~> 6.0"
|
35
|
-
spec.add_dependency "highline", "~> 2.0"
|
36
|
-
spec.add_dependency "cliswitch", "~> 0.3.0"
|
37
|
-
|
38
|
-
# For more information and examples about making a new gem, check out our
|
39
|
-
# guide at: https://bundler.io/guides/creating_gem.html
|
40
|
-
end
|