Kobold 0.1.0 → 0.3.0
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/exe/kobold +17 -12
- data/lib/Kobold/first_time_setup.rb +14 -0
- data/lib/Kobold/init.rb +20 -0
- data/lib/Kobold/invoke.rb +202 -0
- data/lib/Kobold/read_config.rb +15 -0
- data/lib/Kobold/version.rb +2 -2
- data/lib/Kobold.rb +9 -100
- data/prototyping/.gitignore +2 -0
- data/prototyping/.kobold +25 -4
- metadata +78 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9a104942e0236e764a6fa1adbd31d8e65fa84f550ff56c4138db311191dcb58a
|
|
4
|
+
data.tar.gz: 696e18a91d1a5d84d9ba8f3cebe96cc18805bce71a94b4227fdb482bca9fc8ce
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e403e1b4a039586145d0de0b2311ebccb258e418fef3c43981ddbf0324d234b3d9fbe3a65c3892da01edd3b63233e427dfc2ba3af65dfe559b85c86d33aefbf8
|
|
7
|
+
data.tar.gz: f2f7d927a487911b8ddc39967378761568bb28ab9e8c199a8c5c4136dcb23a309101494e95b7f0f8484f3c61dc16cfc84f1043dfa2c7046595cbe7a2648f2229
|
data/exe/kobold
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require 'Kobold'
|
|
4
4
|
require 'tty-option'
|
|
5
|
-
require 'pry'
|
|
5
|
+
#require 'pry'
|
|
6
6
|
|
|
7
7
|
module Kobold
|
|
8
8
|
class Command
|
|
@@ -11,24 +11,19 @@ module Kobold
|
|
|
11
11
|
usage do
|
|
12
12
|
program "kobold"
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
commands "init", "invoke"
|
|
15
15
|
|
|
16
|
-
desc "Initializes empty Kobold configuration file"
|
|
17
16
|
end
|
|
18
17
|
|
|
19
18
|
argument :command do
|
|
20
19
|
optional
|
|
21
|
-
desc "
|
|
20
|
+
desc "Accepts commands for Kobold to execute."
|
|
22
21
|
end
|
|
23
22
|
|
|
24
23
|
flag :help do
|
|
25
24
|
short "-h"
|
|
26
25
|
long "--help"
|
|
27
|
-
desc "Print usage"
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
flag :init do
|
|
31
|
-
desc "initialize"
|
|
26
|
+
desc "Print usage."
|
|
32
27
|
end
|
|
33
28
|
|
|
34
29
|
def run
|
|
@@ -37,7 +32,7 @@ module Kobold
|
|
|
37
32
|
elsif params.errors.any?
|
|
38
33
|
puts params.errors.summary
|
|
39
34
|
else
|
|
40
|
-
pp params.to_h
|
|
35
|
+
#pp params.to_h
|
|
41
36
|
end
|
|
42
37
|
end
|
|
43
38
|
end
|
|
@@ -50,6 +45,16 @@ run = cmd.run
|
|
|
50
45
|
|
|
51
46
|
if cmd.params[:command] == nil || cmd.params == "invoke"
|
|
52
47
|
Kobold.invoke
|
|
53
|
-
|
|
54
|
-
|
|
48
|
+
else
|
|
49
|
+
case cmd.params[:command]
|
|
50
|
+
when "add"
|
|
51
|
+
when "remove"
|
|
52
|
+
when "update"
|
|
53
|
+
when "list"
|
|
54
|
+
Kobold.list
|
|
55
|
+
when "init"
|
|
56
|
+
Kobold.init
|
|
57
|
+
else
|
|
58
|
+
print cmd.help
|
|
59
|
+
end
|
|
55
60
|
end
|
data/lib/Kobold/init.rb
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "tty-config"
|
|
4
|
+
require 'fileutils'
|
|
5
|
+
require 'git'
|
|
6
|
+
|
|
7
|
+
module Kobold
|
|
8
|
+
class << self
|
|
9
|
+
# create empty file with current
|
|
10
|
+
# file version in current dir
|
|
11
|
+
def init
|
|
12
|
+
kobold_config = TTY::Config.new
|
|
13
|
+
kobold_config.filename = ".kobold"
|
|
14
|
+
kobold_config.extname = ".ini"
|
|
15
|
+
kobold_config.set "_kobold_config", "format_version", value: Kobold::FORMAT_VERSION
|
|
16
|
+
kobold_config.write
|
|
17
|
+
File.rename ".kobold.ini", ".kobold"
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "tty-config"
|
|
4
|
+
require 'fileutils'
|
|
5
|
+
require 'git'
|
|
6
|
+
|
|
7
|
+
#require_relative "Kobold/vars.rb"
|
|
8
|
+
|
|
9
|
+
module Kobold
|
|
10
|
+
class << self
|
|
11
|
+
def invoke
|
|
12
|
+
Kobold.first_time_setup if !File.directory? "#{KOBOLD_DIR}/repo_cache"
|
|
13
|
+
if !File.file? "#{Dir.pwd}/.kobold"
|
|
14
|
+
puts "ERROR: Kobold file not found at '#{Dir.pwd}'"
|
|
15
|
+
return
|
|
16
|
+
end
|
|
17
|
+
settings = Kobold.read_config(Dir.pwd)
|
|
18
|
+
|
|
19
|
+
if Kobold::FORMAT_VERSION == settings["_kobold_config"]["format_version"]
|
|
20
|
+
# iterate over all dependencies
|
|
21
|
+
settings.each do |key, value|
|
|
22
|
+
if key[0] == '_'
|
|
23
|
+
next
|
|
24
|
+
end
|
|
25
|
+
repo_dir = "#{KOBOLD_DIR}/repo_cache/#{value['repo'].gsub('/', '-')}"
|
|
26
|
+
|
|
27
|
+
source_repo = nil;
|
|
28
|
+
# check if source exists
|
|
29
|
+
if !Dir.exist? "#{repo_dir}/source" # TODO: make this properly check for git repo
|
|
30
|
+
# if it doesnt, make it
|
|
31
|
+
FileUtils.mkdir_p "#{repo_dir}/source"
|
|
32
|
+
FileUtils.mkdir_p "#{repo_dir}/worktrees"
|
|
33
|
+
FileUtils.mkdir_p "#{repo_dir}/worktrees/branched"
|
|
34
|
+
FileUtils.mkdir_p "#{repo_dir}/worktrees/sha"
|
|
35
|
+
FileUtils.mkdir_p "#{repo_dir}/worktrees/labelled"
|
|
36
|
+
FileUtils.mkdir_p "#{repo_dir}/branches"
|
|
37
|
+
source_repo = clone_git_repo "#{value["source"]}/#{value['repo']}.git", "#{repo_dir}/source"
|
|
38
|
+
else
|
|
39
|
+
source_repo = Git.open("#{repo_dir}/source")
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# must be scoped here, used in various inner scopes
|
|
43
|
+
target_symlink = nil
|
|
44
|
+
|
|
45
|
+
# Structure of a segment of following code:
|
|
46
|
+
# if it declares a branch: make the branch
|
|
47
|
+
# if it has a label
|
|
48
|
+
# it must have a sha
|
|
49
|
+
# if it has a branch
|
|
50
|
+
# use that branch + sha
|
|
51
|
+
# else
|
|
52
|
+
# use source + sha
|
|
53
|
+
# end
|
|
54
|
+
# else check if it has a branch
|
|
55
|
+
# if it has a sha
|
|
56
|
+
# make the sha
|
|
57
|
+
# else
|
|
58
|
+
# make it point to branch
|
|
59
|
+
# end
|
|
60
|
+
# else check if it has a sha
|
|
61
|
+
# make the sha on the source
|
|
62
|
+
# else
|
|
63
|
+
# use source
|
|
64
|
+
# end
|
|
65
|
+
|
|
66
|
+
branch_repo = nil
|
|
67
|
+
if value["branch"]
|
|
68
|
+
branch_repo_path = "#{repo_dir}/branches/#{value["branch"]}"
|
|
69
|
+
# check if branch already exists, make it if it doesnt
|
|
70
|
+
if !Dir.exist? branch_repo_path
|
|
71
|
+
FileUtils.mkdir_p "#{repo_dir}/branches"
|
|
72
|
+
source_repo.worktree(branch_repo_path, value["branch"]).add
|
|
73
|
+
end
|
|
74
|
+
branch_repo = Git.open(branch_repo_path)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
target_symlink = nil
|
|
78
|
+
# if it has a label
|
|
79
|
+
if value["label"]
|
|
80
|
+
|
|
81
|
+
if !value["commit"]
|
|
82
|
+
raise "Must give a specific sha when making a label. #{key} has no specific sha given"
|
|
83
|
+
end
|
|
84
|
+
if value["branch"]
|
|
85
|
+
worktree_path = "#{repo_dir}/worktrees/labelled/#{value["label"]}/#{value["branch"]}"
|
|
86
|
+
_commit_val = value["commit"].to_s.delete_prefix('"').delete_suffix('"').delete_prefix("'").delete_suffix("'")
|
|
87
|
+
worktree_sha = branch_repo.object(_commit_val).sha;
|
|
88
|
+
target_symlink = "#{worktree_path}/#{worktree_sha}"
|
|
89
|
+
if !Dir.exist? target_symlink
|
|
90
|
+
FileUtils.mkdir_p "#{worktree_path}"
|
|
91
|
+
branch_repo.worktree(target_symlink, worktree_sha).add
|
|
92
|
+
end
|
|
93
|
+
else
|
|
94
|
+
branch = source_repo.branch.name
|
|
95
|
+
worktree_path = "#{repo_dir}/worktrees/labelled/#{value["label"]}/#{branch}"
|
|
96
|
+
_commit_val = value["commit"].to_s.delete_prefix('"').delete_suffix('"').delete_prefix("'").delete_suffix("'")
|
|
97
|
+
worktree_sha = source_repo.object(_commit_val).sha;
|
|
98
|
+
target_symlink = "#{worktree_path}/#{worktree_sha}"
|
|
99
|
+
if !Dir.exist? target_symlink
|
|
100
|
+
FileUtils.mkdir_p "#{worktree_path}"
|
|
101
|
+
source_repo.worktree(target_symlink, worktree_sha).add
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
elsif value["branch"]
|
|
106
|
+
|
|
107
|
+
if value['sha']
|
|
108
|
+
worktree_path = "#{repo_dir}/worktrees/branched/#{branch}"
|
|
109
|
+
_commit_val = value["commit"].to_s.delete_prefix('"').delete_suffix('"').delete_prefix("'").delete_suffix("'")
|
|
110
|
+
worktree_sha = branch_repo.object(_commit_val).sha;
|
|
111
|
+
target_symlink = "#{worktree_path}/#{worktree_sha}"
|
|
112
|
+
if !Dir.exist? target_symlink
|
|
113
|
+
FileUtils.mkdir_p "#{worktree_path}"
|
|
114
|
+
branch_repo.worktree(target_symlink, worktree_sha).add
|
|
115
|
+
end
|
|
116
|
+
else
|
|
117
|
+
target_symlink = "#{repo_dir}/branches/#{value['branch']}"
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
elsif value["commit"]
|
|
121
|
+
|
|
122
|
+
worktree_path = "#{repo_dir}/worktrees/sha"
|
|
123
|
+
_commit_val = value["commit"].to_s.delete_prefix('"').delete_suffix('"').delete_prefix("'").delete_suffix("'")
|
|
124
|
+
worktree_sha = source_repo.object(_commit_val).sha;
|
|
125
|
+
target_symlink = "#{worktree_path}/#{worktree_sha}"
|
|
126
|
+
if !Dir.exist? target_symlink
|
|
127
|
+
FileUtils.mkdir_p "#{worktree_path}"
|
|
128
|
+
source_repo.worktree(target_symlink, worktree_sha).add
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
else
|
|
132
|
+
|
|
133
|
+
target_symlink = "#{repo_dir}/source"
|
|
134
|
+
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
# build the symlink
|
|
138
|
+
if value["dir"].end_with? "/"
|
|
139
|
+
FileUtils.mkdir_p value["dir"]
|
|
140
|
+
#puts "value: " + value["dir"] + key.split('/').last
|
|
141
|
+
#puts !File.symlink?(value["dir"] + key.split('/').last)
|
|
142
|
+
|
|
143
|
+
symlink1 = File.symlink?(value["dir"] + value['repo'].split('/').last)
|
|
144
|
+
symlink2 = File.symlink? value["dir"]
|
|
145
|
+
|
|
146
|
+
if !(symlink1 || symlink2)
|
|
147
|
+
puts "value['dir'] #{value['dir']}"
|
|
148
|
+
puts "value['repo'] #{value['repo']}"
|
|
149
|
+
puts "target_symlink #{target_symlink}"
|
|
150
|
+
File.symlink(target_symlink, "#{value['dir']}/#{value['repo'].split('/').last}")
|
|
151
|
+
end
|
|
152
|
+
#File.symlink(target_symlink, "#{value['dir']}/#{key.split('/').last}")
|
|
153
|
+
|
|
154
|
+
else
|
|
155
|
+
dir_components = value["dir"].split "/"
|
|
156
|
+
dir_components.pop
|
|
157
|
+
dir_components = dir_components.join "/"
|
|
158
|
+
FileUtils.mkdir_p dir_components
|
|
159
|
+
File.symlink(target_symlink, value["dir"]) if !File.symlink? value["dir"]
|
|
160
|
+
|
|
161
|
+
symlink1 = File.symlink?(value["dir"] + ['repo'].split('/').last)
|
|
162
|
+
symlink2 = File.symlink? value["dir"]
|
|
163
|
+
|
|
164
|
+
if !(symlink1 || symlink2)
|
|
165
|
+
File.symlink(target_symlink, value["dir"])
|
|
166
|
+
end
|
|
167
|
+
#File.symlink(target_symlink, value["dir"])
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
# iterate over all sub kobold files
|
|
173
|
+
sub_kobolds = if settings["_kobold_include"] then settings["_kobold_include"]["files"].strip.split("\n") else [] end
|
|
174
|
+
sub_kobolds.each do |path|
|
|
175
|
+
Dir.chdir(path.strip) do
|
|
176
|
+
invoke
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
else
|
|
181
|
+
raise "Wrong format version"
|
|
182
|
+
end
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
private
|
|
186
|
+
|
|
187
|
+
def clone_git_repo(url, path)
|
|
188
|
+
progress_bar = TTY::ProgressBar.new("[:bar] Cloning: #{url} ", bar_format: :blade, total: nil, width: 45)
|
|
189
|
+
|
|
190
|
+
thread = Thread.new(abort_on_exception: true) do
|
|
191
|
+
Git.clone url, path
|
|
192
|
+
end
|
|
193
|
+
progress_bar.start
|
|
194
|
+
while thread.status
|
|
195
|
+
progress_bar.advance
|
|
196
|
+
sleep 0.016
|
|
197
|
+
end
|
|
198
|
+
puts
|
|
199
|
+
return thread.value
|
|
200
|
+
end
|
|
201
|
+
end
|
|
202
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "tty-config"
|
|
4
|
+
#require 'fileutils'
|
|
5
|
+
|
|
6
|
+
module Kobold
|
|
7
|
+
class << self
|
|
8
|
+
def read_config(dir)
|
|
9
|
+
config = TTY::Config.new
|
|
10
|
+
config.append_path dir
|
|
11
|
+
settings = config.read ".kobold", format: :ini
|
|
12
|
+
return settings
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
data/lib/Kobold/version.rb
CHANGED
data/lib/Kobold.rb
CHANGED
|
@@ -1,110 +1,19 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require_relative
|
|
4
|
-
require
|
|
3
|
+
require_relative 'Kobold/version'
|
|
4
|
+
require 'tty-config'
|
|
5
5
|
require 'fileutils'
|
|
6
6
|
require 'git'
|
|
7
|
+
require 'tty-progressbar'
|
|
8
|
+
|
|
9
|
+
require_relative 'Kobold/vars.rb'
|
|
10
|
+
require_relative 'Kobold/read_config.rb'
|
|
11
|
+
require_relative 'Kobold/first_time_setup.rb'
|
|
12
|
+
require_relative 'Kobold/invoke.rb'
|
|
13
|
+
require_relative 'Kobold/init.rb'
|
|
7
14
|
|
|
8
15
|
module Kobold
|
|
9
16
|
KOBOLD_DIR = "#{Dir.home}/.local/share/Kobold"
|
|
10
17
|
class << self
|
|
11
|
-
|
|
12
|
-
# read configuration file
|
|
13
|
-
# for each item:
|
|
14
|
-
# 1. check if repo exists
|
|
15
|
-
# ~2. check if correct version exists~
|
|
16
|
-
# 3. check if symlink is correct
|
|
17
|
-
|
|
18
|
-
def invoke
|
|
19
|
-
first_time_setup if !File.directory? "#{KOBOLD_DIR}/repo_cache"
|
|
20
|
-
config = TTY::Config.new
|
|
21
|
-
config.append_path Dir.pwd
|
|
22
|
-
settings = config.read ".kobold", format: :ini
|
|
23
|
-
|
|
24
|
-
puts Kobold::FORMAT_VERSION + " " + settings["kobold_config"]["format_version"]
|
|
25
|
-
if Kobold::FORMAT_VERSION == settings["kobold_config"]["format_version"]
|
|
26
|
-
settings.delete "kobold_config"
|
|
27
|
-
|
|
28
|
-
# iterate over all dependencies
|
|
29
|
-
settings.each do |key, value|
|
|
30
|
-
puts "key:#{key}"
|
|
31
|
-
repo_dir = "#{KOBOLD_DIR}/repo_cache/#{key.gsub('/', '-')}"
|
|
32
|
-
|
|
33
|
-
master_repo = nil;
|
|
34
|
-
# check if master exists
|
|
35
|
-
if !Dir.exist? "#{repo_dir}/master" # TODO: make this properly check for git repo
|
|
36
|
-
# if it doesnt, make it
|
|
37
|
-
FileUtils.mkdir_p "#{repo_dir}/master"
|
|
38
|
-
FileUtils.mkdir_p "#{repo_dir}/worktrees"
|
|
39
|
-
puts "#{value["source"]}/#{key}.git", "#{repo_dir}/master"
|
|
40
|
-
master_repo = Git.clone "#{value["source"]}/#{key}.git", "#{repo_dir}/master"
|
|
41
|
-
else
|
|
42
|
-
master_repo = Git.open("#{repo_dir}/master")
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
target_symlink = nil
|
|
46
|
-
# check if requested version exists
|
|
47
|
-
if value["tag"]
|
|
48
|
-
dir_name = value["tag"].to_s.gsub("/","-")
|
|
49
|
-
# TODO make the thing
|
|
50
|
-
else # use hash as name
|
|
51
|
-
if value["commit"]
|
|
52
|
-
# use given commit name, also check it exists
|
|
53
|
-
begin # git errors when it does not find the hash
|
|
54
|
-
if value["commit"].is_a? Float
|
|
55
|
-
value["commit"] = value["commit"].to_i.to_s
|
|
56
|
-
end
|
|
57
|
-
commit_sha = master_repo.object(value["commit"].to_s.delete_prefix('"').delete_suffix('"').delete_prefix("'").delete_suffix("'")).sha;
|
|
58
|
-
if commit_sha
|
|
59
|
-
target_symlink = "#{repo_dir}/worktrees/#{commit_sha}"
|
|
60
|
-
if !Dir.exist? target_symlink
|
|
61
|
-
# make it
|
|
62
|
-
master_repo.worktree(target_symlink, commit_sha).add
|
|
63
|
-
end
|
|
64
|
-
else
|
|
65
|
-
raise "Cannot find commit"
|
|
66
|
-
end
|
|
67
|
-
rescue # we catch this error here
|
|
68
|
-
raise "Cannot find commit"
|
|
69
|
-
end
|
|
70
|
-
else
|
|
71
|
-
raise "No commit given for #{key}"
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
# build the symlink
|
|
76
|
-
if value["dir"].end_with? "/"
|
|
77
|
-
FileUtils.mkdir_p value["dir"]
|
|
78
|
-
File.symlink target_symlink, "#{value['dir']}/#{key.split('/').last}"
|
|
79
|
-
else
|
|
80
|
-
dir_components = value["dir"].split "/"
|
|
81
|
-
dir_components.pop
|
|
82
|
-
dir_components = dir_components.join "/"
|
|
83
|
-
FileUtils.mkdir_p dir_components
|
|
84
|
-
File.symlink target_symlink, value["dir"]
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
else
|
|
90
|
-
raise "Wrong format version"
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
def first_time_setup
|
|
96
|
-
FileUtils.mkdir_p "#{KOBOLD_DIR}/repo_cache"
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
# create empty file with current
|
|
100
|
-
# file version in current dir
|
|
101
|
-
def init
|
|
102
|
-
kobold_config = TTY::Config.new
|
|
103
|
-
kobold_config.filename = ".kobold"
|
|
104
|
-
kobold_config.extname = ".ini"
|
|
105
|
-
kobold_config.set "kobold_config", "format_version", value: Kobold::FORMAT_VERSION
|
|
106
|
-
kobold_config.write
|
|
107
|
-
File.rename ".kobold.ini", ".kobold"
|
|
108
|
-
end
|
|
109
18
|
end
|
|
110
19
|
end
|
data/prototyping/.gitignore
CHANGED
data/prototyping/.kobold
CHANGED
|
@@ -1,7 +1,28 @@
|
|
|
1
|
-
[
|
|
2
|
-
format_version = 0.
|
|
1
|
+
[_kobold_config]
|
|
2
|
+
format_version = 0.3.0
|
|
3
3
|
|
|
4
|
-
[
|
|
4
|
+
;[_kobold_include]
|
|
5
|
+
;files = "
|
|
6
|
+
;dir1/
|
|
7
|
+
;dir2/
|
|
8
|
+
;"
|
|
9
|
+
|
|
10
|
+
[raylib-linux]
|
|
11
|
+
repo = raysan5/raylib
|
|
12
|
+
source = https://github.com
|
|
13
|
+
dir = external/linux-x64/
|
|
14
|
+
commit = 'b8cd102'
|
|
15
|
+
label = linux-x64
|
|
16
|
+
|
|
17
|
+
[raylib-web]
|
|
18
|
+
repo = raysan5/raylib
|
|
19
|
+
source = https://github.com
|
|
20
|
+
dir = external/emscripten/
|
|
21
|
+
commit = 'b8cd102'
|
|
22
|
+
label = web
|
|
23
|
+
|
|
24
|
+
[raygui]
|
|
25
|
+
repo = raysan5/raygui
|
|
5
26
|
source = https://github.com
|
|
6
27
|
dir = external/
|
|
7
|
-
|
|
28
|
+
|
metadata
CHANGED
|
@@ -1,15 +1,85 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: Kobold
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- CatsAtTheRodeo
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-
|
|
12
|
-
dependencies:
|
|
11
|
+
date: 2023-09-09 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: tty-option
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: 0.3.0
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: 0.3.0
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: tty-config
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: 0.6.0
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: 0.6.0
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: inifile
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: 3.0.0
|
|
48
|
+
type: :runtime
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: 3.0.0
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: git
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: 1.18.0
|
|
62
|
+
type: :runtime
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: 1.18.0
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: tty-progressbar
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - "~>"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: 0.18.2
|
|
76
|
+
type: :runtime
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: 0.18.2
|
|
13
83
|
description:
|
|
14
84
|
email:
|
|
15
85
|
- contact@tradam.dev
|
|
@@ -33,6 +103,10 @@ files:
|
|
|
33
103
|
- Rakefile
|
|
34
104
|
- exe/kobold
|
|
35
105
|
- lib/Kobold.rb
|
|
106
|
+
- lib/Kobold/first_time_setup.rb
|
|
107
|
+
- lib/Kobold/init.rb
|
|
108
|
+
- lib/Kobold/invoke.rb
|
|
109
|
+
- lib/Kobold/read_config.rb
|
|
36
110
|
- lib/Kobold/version.rb
|
|
37
111
|
- prototyping/.gitignore
|
|
38
112
|
- prototyping/.kobold
|
|
@@ -60,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
60
134
|
- !ruby/object:Gem::Version
|
|
61
135
|
version: '0'
|
|
62
136
|
requirements: []
|
|
63
|
-
rubygems_version: 3.
|
|
137
|
+
rubygems_version: 3.3.25
|
|
64
138
|
signing_key:
|
|
65
139
|
specification_version: 4
|
|
66
140
|
summary: Version manager for various libraries and projects.
|