vcpkg_pipeline 0.1.3 → 0.1.4
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/vcpkg_pipeline/command/new.rb +10 -7
- data/lib/vcpkg_pipeline/command/publish.rb +4 -4
- data/lib/vcpkg_pipeline/command/reg/add.rb +41 -0
- data/lib/vcpkg_pipeline/command/reg/list.rb +28 -0
- data/lib/vcpkg_pipeline/command/reg/remove.rb +38 -0
- data/lib/vcpkg_pipeline/command/reg.rb +23 -0
- data/lib/vcpkg_pipeline/command.rb +1 -0
- data/lib/vcpkg_pipeline/core/register.rb +55 -0
- metadata +8 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a83fd1758201558e655fe32d360ee002c627b400335669f07e800586fd26e5ed
|
4
|
+
data.tar.gz: 8343c0d5f8632597ecf0c1a9467ce9919f69e5404e0b4e0cf0130358b49db126
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 507b8233aa0555f23819573f57f5baf0680d6c2cbc27672e7d2f2b54b65a817b0495abff134531ea88479ff28dd1a8f7203380abb80f64a42348c85fc445aa55
|
7
|
+
data.tar.gz: 74009f7ff89ec979f9ba610c15a32438931ddb0cce3660866c2d1d23dfac403b349164fbf6a9888a288032e96eb0a05d63256161f7c8d6c3649541dd1694b436
|
@@ -23,13 +23,13 @@ module VPL
|
|
23
23
|
|
24
24
|
def self.options
|
25
25
|
[
|
26
|
-
'--template-url=https://github.com/TKCMake/vcport-template.git',
|
27
|
-
'vcport模版地址'
|
26
|
+
['--template-url=https://github.com/TKCMake/vcport-template.git', 'vcport模版地址']
|
28
27
|
].concat(super).concat(options_extension)
|
29
28
|
end
|
30
29
|
|
31
30
|
def initialize(argv)
|
32
|
-
@name = argv.shift_argument
|
31
|
+
@name = argv.shift_argument || ''
|
32
|
+
|
33
33
|
VPL.error('未输入port名称') if @name.empty?
|
34
34
|
|
35
35
|
@template = argv.option('template-url', '').split(',').first
|
@@ -37,13 +37,16 @@ module VPL
|
|
37
37
|
super
|
38
38
|
end
|
39
39
|
|
40
|
-
def
|
41
|
-
|
42
|
-
|
43
|
-
replacements = {
|
40
|
+
def replacements
|
41
|
+
{
|
44
42
|
'PT_PORT_NAME' => @name,
|
45
43
|
'PT_USER_NAME' => Git.global_config('user.name')
|
46
44
|
}
|
45
|
+
end
|
46
|
+
|
47
|
+
def run
|
48
|
+
Git.clone(@template, @name, depth: 1)
|
49
|
+
|
47
50
|
Dir.replace_all(@name, replacements)
|
48
51
|
|
49
52
|
git = Git.open(@name)
|
@@ -21,7 +21,7 @@ module VPL
|
|
21
21
|
]
|
22
22
|
def self.options
|
23
23
|
[
|
24
|
-
['--
|
24
|
+
['--reg=.', '指定vcpkg的reg目录, 不可为空']
|
25
25
|
].concat(super).concat(options_extension)
|
26
26
|
end
|
27
27
|
|
@@ -34,18 +34,18 @@ module VPL
|
|
34
34
|
def initialize(argv)
|
35
35
|
@path = argv.shift_argument || Dir.pwd
|
36
36
|
|
37
|
-
@
|
37
|
+
@reg = argv.option('reg', '').split(',').first
|
38
38
|
super
|
39
39
|
end
|
40
40
|
|
41
41
|
def run
|
42
|
-
VPL.error("
|
42
|
+
VPL.error("reg目录异常: #{@reg}") unless File.directory? @reg
|
43
43
|
|
44
44
|
Update::All.run([@path] + argv_extension['update'])
|
45
45
|
|
46
46
|
scanner = Scanner.new(@path)
|
47
47
|
|
48
|
-
vcpkg = VCPkg.open(@
|
48
|
+
vcpkg = VCPkg.open(@reg)
|
49
49
|
vcpkg.publish(scanner.vcport)
|
50
50
|
end
|
51
51
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'vcpkg_pipeline/core/register'
|
4
|
+
|
5
|
+
module VPL
|
6
|
+
class Command
|
7
|
+
class Reg < Command
|
8
|
+
# VPL::Command::Reg::Add
|
9
|
+
class Add < Reg
|
10
|
+
self.summary = '添加新的注册表'
|
11
|
+
|
12
|
+
self.description = <<-DESC
|
13
|
+
添加新的注册表。
|
14
|
+
DESC
|
15
|
+
|
16
|
+
self.arguments = [
|
17
|
+
CLAide::Argument.new('注册表名称', true),
|
18
|
+
CLAide::Argument.new('注册表地址', true)
|
19
|
+
]
|
20
|
+
|
21
|
+
def self.options
|
22
|
+
[].concat(super)
|
23
|
+
end
|
24
|
+
|
25
|
+
def initialize(argv)
|
26
|
+
@name = argv.shift_argument || ''
|
27
|
+
@url = argv.shift_argument || ''
|
28
|
+
|
29
|
+
VPL.error('未输入注册表名称') if @name.empty?
|
30
|
+
VPL.error('未输入注册表地址') if @url.empty?
|
31
|
+
|
32
|
+
super
|
33
|
+
end
|
34
|
+
|
35
|
+
def run
|
36
|
+
Register.new.add(@name, @url)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'vcpkg_pipeline/core/register'
|
4
|
+
|
5
|
+
module VPL
|
6
|
+
class Command
|
7
|
+
class Reg < Command
|
8
|
+
# VPL::Command::Reg::List
|
9
|
+
class List < Reg
|
10
|
+
self.summary = '查看现有注册表'
|
11
|
+
|
12
|
+
self.description = <<-DESC
|
13
|
+
查看现有注册表。
|
14
|
+
DESC
|
15
|
+
|
16
|
+
self.arguments = []
|
17
|
+
|
18
|
+
def self.options
|
19
|
+
[].concat(super)
|
20
|
+
end
|
21
|
+
|
22
|
+
def run
|
23
|
+
Register.new.list
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'vcpkg_pipeline/core/register'
|
4
|
+
|
5
|
+
module VPL
|
6
|
+
class Command
|
7
|
+
class Reg < Command
|
8
|
+
# VPL::Command::Reg::Remove
|
9
|
+
class Remove < Reg
|
10
|
+
self.summary = '移除指定注册表'
|
11
|
+
|
12
|
+
self.description = <<-DESC
|
13
|
+
移除指定注册表。
|
14
|
+
DESC
|
15
|
+
|
16
|
+
self.arguments = [
|
17
|
+
CLAide::Argument.new('注册表名称', true)
|
18
|
+
]
|
19
|
+
|
20
|
+
def self.options
|
21
|
+
[].concat(super)
|
22
|
+
end
|
23
|
+
|
24
|
+
def initialize(argv)
|
25
|
+
@name = argv.shift_argument || ''
|
26
|
+
|
27
|
+
VPL.error('未输入注册表名称') if @name.empty?
|
28
|
+
|
29
|
+
super
|
30
|
+
end
|
31
|
+
|
32
|
+
def run
|
33
|
+
Register.new.remove(@name)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'vcpkg_pipeline/core/log'
|
4
|
+
require 'vcpkg_pipeline/core/register'
|
5
|
+
|
6
|
+
require 'vcpkg_pipeline/command/reg/list'
|
7
|
+
require 'vcpkg_pipeline/command/reg/add'
|
8
|
+
require 'vcpkg_pipeline/command/reg/remove'
|
9
|
+
|
10
|
+
module VPL
|
11
|
+
# Command
|
12
|
+
class Command
|
13
|
+
# VPL::Command::Reg
|
14
|
+
class Reg < Command
|
15
|
+
self.abstract_command = true
|
16
|
+
|
17
|
+
self.summary = '注册表管理'
|
18
|
+
self.description = <<-DESC
|
19
|
+
注册表添加、移除、展示
|
20
|
+
DESC
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'git'
|
4
|
+
|
5
|
+
require 'vcpkg_pipeline/core/log'
|
6
|
+
|
7
|
+
module VPL
|
8
|
+
# VPL::Register
|
9
|
+
class Register
|
10
|
+
def registeries
|
11
|
+
path = "#{ENV['HOME']}/.vpl/registries"
|
12
|
+
`mkdir -p #{path}` unless File.directory? path
|
13
|
+
path
|
14
|
+
end
|
15
|
+
|
16
|
+
def list
|
17
|
+
Dir["#{registeries}/*"].each do |reg|
|
18
|
+
git = Git.open(reg)
|
19
|
+
name = File.basename(reg)
|
20
|
+
url = git.remote.url
|
21
|
+
path = reg
|
22
|
+
|
23
|
+
VPL.info("#{name}")
|
24
|
+
puts "- URL:\t#{url}"
|
25
|
+
puts "- Path:\t#{path}"
|
26
|
+
puts "\n"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def exist(name)
|
31
|
+
is_exist = false
|
32
|
+
Dir["#{registeries}/*"].each do |reg|
|
33
|
+
is_exist = name.eql? File.basename(reg)
|
34
|
+
break if is_exist
|
35
|
+
end
|
36
|
+
is_exist
|
37
|
+
end
|
38
|
+
|
39
|
+
def add(name, url)
|
40
|
+
suffix = 0
|
41
|
+
while exist(name)
|
42
|
+
suffix += 1
|
43
|
+
name = "#{name}-#{suffix}"
|
44
|
+
end
|
45
|
+
|
46
|
+
Git.clone(url, "#{registeries}/#{name}")
|
47
|
+
end
|
48
|
+
|
49
|
+
def remove(name)
|
50
|
+
Dir["#{registeries}/*"].each do |reg|
|
51
|
+
`rm -fr #{reg}` if name.eql? File.basename(reg)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vcpkg_pipeline
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 郑贤达
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-12-
|
11
|
+
date: 2022-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: claide
|
@@ -82,6 +82,10 @@ files:
|
|
82
82
|
- lib/vcpkg_pipeline/command.rb
|
83
83
|
- lib/vcpkg_pipeline/command/new.rb
|
84
84
|
- lib/vcpkg_pipeline/command/publish.rb
|
85
|
+
- lib/vcpkg_pipeline/command/reg.rb
|
86
|
+
- lib/vcpkg_pipeline/command/reg/add.rb
|
87
|
+
- lib/vcpkg_pipeline/command/reg/list.rb
|
88
|
+
- lib/vcpkg_pipeline/command/reg/remove.rb
|
85
89
|
- lib/vcpkg_pipeline/command/scan.rb
|
86
90
|
- lib/vcpkg_pipeline/command/scan/all.rb
|
87
91
|
- lib/vcpkg_pipeline/command/scan/branch.rb
|
@@ -95,6 +99,7 @@ files:
|
|
95
99
|
- lib/vcpkg_pipeline/command/update/spec.rb
|
96
100
|
- lib/vcpkg_pipeline/command/update/vcport.rb
|
97
101
|
- lib/vcpkg_pipeline/core/log.rb
|
102
|
+
- lib/vcpkg_pipeline/core/register.rb
|
98
103
|
- lib/vcpkg_pipeline/core/scanner.rb
|
99
104
|
- lib/vcpkg_pipeline/core/spec.rb
|
100
105
|
- lib/vcpkg_pipeline/core/updater.rb
|
@@ -104,7 +109,7 @@ files:
|
|
104
109
|
- lib/vcpkg_pipeline/extension/string_vpl.rb
|
105
110
|
- lib/vcpkg_pipeline/extension/vcpkg_vpl.rb
|
106
111
|
- lib/vcpkg_pipeline/extension/vcport_vpl.rb
|
107
|
-
homepage: https://github.com/TokiGems/
|
112
|
+
homepage: https://github.com/TokiGems/vcpkg-pipeline
|
108
113
|
licenses:
|
109
114
|
- MIT
|
110
115
|
metadata: {}
|