ghcurl 0.9.0 → 0.9.2
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/CHANGELOG.md +9 -1
- data/{LICENSE → LICENSE.txt} +1 -1
- data/README.md +14 -12
- data/bin/ghcurl +63 -57
- data/lib/ghcurl.rb +12 -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,20 +2,22 @@
|
|
2
2
|
|
3
3
|
# ghcurl
|
4
4
|
|
5
|
-
[](https://rubygems.org/gems/ghcurl)
|
6
|
-
|
7
|
-
Download files and install from Github releases. It works on Linux, Windows, macOS and maybe Other OSes.
|
8
|
-
|
9
|
-
```bash
|
10
|
-
gem install ghcurl
|
11
|
-
```
|
5
|
+
[](https://rubygems.org/gems/ghcurl)
|
12
6
|
|
13
7
|
</div>
|
14
8
|
|
15
|
-
`ghcurl
|
9
|
+
`ghcurl`: **Download** files and **install** from Github releases.
|
10
|
+
|
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.
|
16
12
|
|
17
13
|
<br>
|
18
14
|
|
15
|
+
## Install
|
16
|
+
|
17
|
+
```bash
|
18
|
+
$ gem install ghcurl
|
19
|
+
```
|
20
|
+
|
19
21
|
## Usage
|
20
22
|
|
21
23
|
```bash
|
@@ -37,7 +39,7 @@ This is optional, download will default to `~/.cache/ghcurl`
|
|
37
39
|
2. `-i path` Install to path
|
38
40
|
|
39
41
|
**-r**
|
40
|
-
1. `-r name` Install the binary as name
|
42
|
+
1. `-r name` Install the binary as name
|
41
43
|
|
42
44
|
<br>
|
43
45
|
|
@@ -75,14 +77,14 @@ ghcurl gh -o /tmp
|
|
75
77
|
# Download latest rbspy-x86_64-unknown-linux-gnu.tar.gz to ~/.cache/ghcurl
|
76
78
|
ghcurl rbspy/rbspy 'x86_64.*linux'
|
77
79
|
|
78
|
-
# Download rbspy version 0.11.1
|
80
|
+
# Download rbspy version 0.11.1
|
79
81
|
ghcurl rbspy/rbspy 'x86_64.*linux' -v0.11.1
|
80
82
|
```
|
81
83
|
|
82
84
|
Download a binary and install it to anywhere
|
83
85
|
```bash
|
84
86
|
# Install to /usr/local/bin
|
85
|
-
ghcurl starship linux-gnu -i
|
87
|
+
ghcurl starship linux-gnu -i
|
86
88
|
|
87
89
|
# Install to ~/tmp/bin
|
88
90
|
ghcurl BetaPictoris/timeleft -i ~/tmp/bin
|
@@ -97,4 +99,4 @@ ghcurl dbrgn/tealdeer x86_64 -i -r 'tldr'
|
|
97
99
|
ghcurl dlvhdr/gh-dash linux-amd64 -i ~/tmp/bin/gd
|
98
100
|
```
|
99
101
|
|
100
|
-
<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,9 +33,10 @@ 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
|
+
dua: 'Byron/dua-cli',
|
39
40
|
dust: 'bootandy/dust',
|
40
41
|
duf: 'muesli/duf',
|
41
42
|
broot: 'Canop/broot',
|
@@ -43,7 +44,7 @@ Ghcurl::DEFAULT_WARES = {
|
|
43
44
|
ripgrep: 'BurntSushi/ripgrep',
|
44
45
|
rg: 'BurntSushi/ripgrep',
|
45
46
|
ag: 'ggreer/the_silver_searcher',
|
46
|
-
|
47
|
+
|
47
48
|
fzf: 'junegunn/fzf',
|
48
49
|
fzy: 'jhawthorn/fzy',
|
49
50
|
|
@@ -74,5 +75,11 @@ Ghcurl::DEFAULT_WARES = {
|
|
74
75
|
# t
|
75
76
|
####################
|
76
77
|
tldr: 'dbrgn/tealdeer',
|
77
|
-
tealdeer: 'dbrgn/tealdeer'
|
78
|
+
tealdeer: 'dbrgn/tealdeer',
|
79
|
+
|
80
|
+
|
81
|
+
####################
|
82
|
+
# g
|
83
|
+
####################
|
84
|
+
gcm: 'git-ecosystem/git-credential-manager'
|
78
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
|