makit 0.0.48 → 0.0.50

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generated/makit/v1/makit.v1_pb.rb +34 -0
  3. data/lib/generated/makit/v1/web/link_pb.rb +20 -0
  4. data/lib/makit/apache.rb +32 -32
  5. data/lib/makit/cli/clean.rb +14 -14
  6. data/lib/makit/cli/clone.rb +59 -59
  7. data/lib/makit/cli/init.rb +38 -38
  8. data/lib/makit/cli/main.rb +33 -33
  9. data/lib/makit/cli/make.rb +54 -54
  10. data/lib/makit/cli/new.rb +37 -37
  11. data/lib/makit/cli/nuget_cache.rb +38 -38
  12. data/lib/makit/cli/pull.rb +31 -31
  13. data/lib/makit/cli/setup.rb +71 -71
  14. data/lib/makit/cli/work.rb +21 -21
  15. data/lib/makit/command_runner.rb +399 -391
  16. data/lib/makit/commands.rb +21 -21
  17. data/lib/makit/content/default_gitignore.rb +5 -5
  18. data/lib/makit/content/default_rakefile.rb +11 -11
  19. data/lib/makit/content/gem_rakefile.rb +14 -14
  20. data/lib/makit/data.rb +50 -50
  21. data/lib/makit/directories.rb +140 -140
  22. data/lib/makit/directory.rb +200 -200
  23. data/lib/makit/dotnet.rb +170 -162
  24. data/lib/makit/environment.rb +127 -127
  25. data/lib/makit/fileinfo.rb +16 -16
  26. data/lib/makit/files.rb +47 -47
  27. data/lib/makit/git.rb +87 -87
  28. data/lib/makit/gitlab_runner.rb +60 -60
  29. data/lib/makit/humanize.rb +129 -129
  30. data/lib/makit/indexer.rb +56 -56
  31. data/lib/makit/logging.rb +96 -96
  32. data/lib/makit/markdown.rb +75 -75
  33. data/lib/makit/mp/basic_object_mp.rb +16 -16
  34. data/lib/makit/mp/command_request.mp.rb +16 -16
  35. data/lib/makit/mp/project_mp.rb +210 -210
  36. data/lib/makit/mp/string_mp.rb +137 -122
  37. data/lib/makit/nuget.rb +57 -57
  38. data/lib/makit/protoc.rb +104 -104
  39. data/lib/makit/serializer.rb +115 -115
  40. data/lib/makit/show.rb +106 -108
  41. data/lib/makit/storage.rb +131 -131
  42. data/lib/makit/symbols.rb +149 -149
  43. data/lib/makit/tasks.rb +61 -60
  44. data/lib/makit/tree.rb +37 -37
  45. data/lib/makit/v1/makit.v1_pb.rb +33 -34
  46. data/lib/makit/v1/makit.v1_services_pb.rb +25 -25
  47. data/lib/makit/version.rb +62 -52
  48. data/lib/makit/wix.rb +95 -95
  49. data/lib/makit/zip.rb +17 -17
  50. data/lib/makit.rb +267 -267
  51. metadata +5 -3
data/lib/makit/dotnet.rb CHANGED
@@ -1,162 +1,170 @@
1
- module Makit
2
- class DotNet
3
- def self.is_installed?
4
- File.exist?(Makit::Environment.which("dotnet"))
5
- end
6
-
7
- def self.version
8
- `dotnet --version`
9
- end
10
-
11
- def self.new_project(template, name, output, args = "")
12
- if Dir.exist? output
13
- puts " dotnet project ".colorize(:grey) + "#{name}".colorize(:green)
14
- else
15
- "dotnet new #{template} --name #{name} --output #{output} #{args}".run
16
- end
17
- end
18
-
19
- def self.set_project_target_framework(project_hint, target_framework)
20
- project_path = find_project(project_hint)
21
- project_content = File.read(project_path)
22
- project_content.gsub!(/<TargetFramework>.*<\/TargetFramework>/, "<TargetFramework>#{target_framework}</TargetFramework>")
23
- File.write(project_path, project_content)
24
- end
25
-
26
- def self.find_project(project_hint)
27
- matches = []
28
- Dir.glob("**/*.csproj").each do |project_path|
29
- #project_name = File.basename(project_path, ".csproj")
30
- if project_path.include?(project_hint)
31
- matches << project_path
32
- end
33
- end
34
- if matches.length == 1
35
- return matches.first
36
- elsif matches.length > 1
37
- raise "Multiple projects found matching #{project_hint}".colorize(:red)
38
- end
39
- raise "No project found matching #{project_hint}".colorize(:red)
40
- end
41
-
42
- def self.add_package(project_path, package_name)
43
- if (!File.exist?(project_path))
44
- actual_project_path = Makit::DotNet::find_project(project_path)
45
- if (!File.exist?(actual_project_path))
46
- raise "Project #{project_path} does not exist".colorize(:red)
47
- else
48
- project_path = actual_project_path
49
- end
50
- end
51
- project_content = File.read(project_path)
52
- if (!project_content.include?("\"#{package_name}\""))
53
- "dotnet add #{project_path} package #{package_name}".run
54
- else
55
- #puts " package ".colorize(:grey) + "#{package_name}".colorize(:yellow) + " is in ".colorize(:grey) + "#{project_path}".colorize(:yellow)
56
- end
57
- end
58
-
59
- def self.add_packages(project_path, packages)
60
- packages.each do |package|
61
- add_package(project_path, package)
62
- end
63
- end
64
-
65
- def self.add_reference(project_path, reference_path)
66
- if (!File.exist?(project_path))
67
- actual_project_path = Makit::DotNet::find_project(project_path)
68
- if (!File.exist?(actual_project_path))
69
- raise "Project #{project_path} does not exist".colorize(:red)
70
- else
71
- project_path = actual_project_path
72
- end
73
- end
74
- if (!File.exist?(reference_path))
75
- actual_reference_path = Makit::DotNet::find_project(reference_path)
76
- if (!File.exist?(actual_reference_path))
77
- raise "Project #{reference_path} does not exist".colorize(:red)
78
- else
79
- reference_path = actual_reference_path
80
- end
81
- end
82
- project_content = File.read(project_path)
83
- if (project_content.include?(File.basename(reference_path)))
84
- #puts " reference ".colorize(:grey) + "#{reference_path}".colorize(:yellow) + " is in ".colorize(:grey) + "#{project_path}".colorize(:yellow)
85
- else
86
- "dotnet add #{project_path} reference #{reference_path}".run
87
- end
88
- end
89
-
90
- def self.add_references(project_path, references)
91
- references.each do |reference|
92
- add_reference(project_path, reference)
93
- end
94
- end
95
-
96
- def self.new_solution(name)
97
- if File.exist? "#{name}.sln"
98
- #puts "Solution #{name}.sln already exists".colorize(:yellow)
99
- #puts " #{name}.sln".colorize(:green) + " exists".colorize(:grey)
100
- else
101
- "dotnet new sln --name #{name}".run
102
- end
103
- end
104
-
105
- def self.build(project_path, configuration = "Release", output = "artifacts")
106
- project_dir = File.dirname(project_path)
107
- newest_file = Makit::Directory::get_newest_file(project_dir)
108
- command_request = Makit::RUNNER::parse_command_request("dotnet build #{project_path} --configuration #{configuration} --output #{output}")
109
- if newest_file.nil?
110
- newest_file_date = Time.now
111
- RUNNER.cache_run(command_request, newest_file_date)
112
- else
113
- newest_file_date = File.mtime(newest_file)
114
- RUNNER.cache_run(command_request, newest_file_date)
115
- end
116
- end
117
-
118
- def self.publish(project_path, configuration = "Release", output = "artifacts")
119
- project_dir = File.dirname(project_path)
120
- newest_file = Makit::Directory::get_newest_file(project_dir)
121
- command_request = Makit::RUNNER::parse_command_request("dotnet publish #{project_path} --configuration #{configuration} --output #{output}")
122
- if newest_file.nil?
123
- newest_file_date = Time.now
124
- RUNNER.cache_run(command_request, newest_file_date)
125
- else
126
- newest_file_date = File.mtime(newest_file)
127
- RUNNER.cache_run(command_request, newest_file_date)
128
- end
129
- end
130
-
131
- def self.test(project_path, configuration = "Release", output = "artifacts")
132
- project_dir = File.dirname(project_path)
133
- newest_file = Makit::Directory::get_newest_file(project_dir)
134
- command_request = Makit::RUNNER::parse_command_request("dotnet test #{project_path} --configuration #{configuration} --output #{output}")
135
- if newest_file.nil?
136
- newest_file_date = Time.now
137
- RUNNER.cache_run(command_request, newest_file_date)
138
- else
139
- newest_file_date = File.mtime(newest_file)
140
- RUNNER.cache_run(command_request, newest_file_date)
141
- end
142
- end
143
-
144
- def self.sln_add_projects(sln_name)
145
- if !File.exist? "#{sln_name}.sln"
146
- raise "Solution #{sln_name}.sln does not exist"
147
- else
148
- sln_path = "#{sln_name}.sln"
149
- sln_content = File.read(sln_path)
150
- Dir.glob("**/*.csproj").each do |project_path|
151
- project_name = File.basename(project_path, ".csproj")
152
- if (sln_content.include?("\"#{project_name}\""))
153
- #puts " #{project_name}".colorize(:green) + " is in ".colorize(:grey) + "#{sln_path}".colorize(:green)
154
- #puts "Project #{project_name} already exists in #{sln_path}".colorize(:yellow)
155
- else
156
- "dotnet sln #{sln_path} add #{project_path}".run
157
- end
158
- end
159
- end
160
- end
161
- end # class DotNet
162
- end # module Makit
1
+ module Makit
2
+ class DotNet
3
+ def self.is_installed?
4
+ File.exist?(Makit::Environment.which("dotnet"))
5
+ end
6
+
7
+ def self.version
8
+ `dotnet --version`
9
+ end
10
+
11
+ def self.project_short_name(project_path)
12
+ project_name = File.basename(project_path, ".csproj")
13
+ project_name
14
+ end
15
+
16
+ def self.new_project(template, name, output, args = "")
17
+ if Dir.exist? output
18
+ puts " .csproj ".colorize(:grey) + "#{name}".colorize(:green)
19
+ else
20
+ "dotnet new #{template} --name #{name} --output #{output} #{args}".run
21
+ end
22
+ end
23
+
24
+ def self.set_project_target_framework(project_hint, target_framework)
25
+ project_path = find_project(project_hint)
26
+ project_content = File.read(project_path)
27
+ project_content.gsub!(/<TargetFramework>.*<\/TargetFramework>/, "<TargetFramework>#{target_framework}</TargetFramework>")
28
+ File.write(project_path, project_content)
29
+ end
30
+
31
+ def self.find_project(project_hint)
32
+ matches = []
33
+ Dir.glob("**/*.csproj").each do |project_path|
34
+ #project_name = File.basename(project_path, ".csproj")
35
+ if project_path.include?(project_hint)
36
+ matches << project_path
37
+ end
38
+ end
39
+ if matches.length == 1
40
+ return matches.first
41
+ elsif matches.length > 1
42
+ raise "Multiple projects found matching #{project_hint}".colorize(:red)
43
+ end
44
+ raise "No project found matching #{project_hint}".colorize(:red)
45
+ end
46
+
47
+ def self.add_package(project_path, package_name)
48
+ if (!File.exist?(project_path))
49
+ actual_project_path = Makit::DotNet::find_project(project_path)
50
+ if (!File.exist?(actual_project_path))
51
+ raise "Project #{project_path} does not exist".colorize(:red)
52
+ else
53
+ project_path = actual_project_path
54
+ end
55
+ end
56
+ project_content = File.read(project_path)
57
+ if (!project_content.include?("\"#{package_name}\""))
58
+ "dotnet add #{project_path} package #{package_name}".run
59
+ else
60
+ puts " package ".colorize(:grey) + "#{package_name}".colorize(:green)
61
+ #puts " #{project_short_name(project_path)} has package #{package_name}".colorize(:grey)
62
+ end
63
+ end
64
+
65
+ def self.add_packages(project_path, packages)
66
+ packages.each do |package|
67
+ add_package(project_path, package)
68
+ end
69
+ end
70
+
71
+ def self.add_reference(project_path, reference_path)
72
+ if (!File.exist?(project_path))
73
+ actual_project_path = Makit::DotNet::find_project(project_path)
74
+ if (!File.exist?(actual_project_path))
75
+ raise "Project #{project_path} does not exist".colorize(:red)
76
+ else
77
+ project_path = actual_project_path
78
+ end
79
+ end
80
+ if (!File.exist?(reference_path))
81
+ actual_reference_path = Makit::DotNet::find_project(reference_path)
82
+ if (!File.exist?(actual_reference_path))
83
+ raise "Project #{reference_path} does not exist".colorize(:red)
84
+ else
85
+ reference_path = actual_reference_path
86
+ end
87
+ end
88
+ project_content = File.read(project_path)
89
+ if (project_content.include?(File.basename(reference_path)))
90
+ puts " reference ".colorize(:grey) + "#{reference_path}".colorize(:green)
91
+ #puts " #{project_short_name(project_path)} references #{project_short_name(reference_path)}".colorize(:grey)
92
+ #puts " reference ".colorize(:grey) + "#{reference_path}".colorize(:yellow) + " is in ".colorize(:grey) + "#{project_path}".colorize(:yellow)
93
+ else
94
+ "dotnet add #{project_path} reference #{reference_path}".run
95
+ end
96
+ end
97
+
98
+ def self.add_references(project_path, references)
99
+ references.each do |reference|
100
+ add_reference(project_path, reference)
101
+ end
102
+ end
103
+
104
+ def self.new_solution(name)
105
+ if File.exist? "#{name}.sln"
106
+ #puts "Solution #{name}.sln already exists".colorize(:yellow)
107
+ #puts " #{name}.sln".colorize(:green) + " exists".colorize(:grey)
108
+ else
109
+ "dotnet new sln --name #{name}".run
110
+ end
111
+ end
112
+
113
+ def self.build(project_path, configuration = "Release", output = "artifacts")
114
+ project_dir = File.dirname(project_path)
115
+ newest_file = Makit::Directory::get_newest_file(project_dir)
116
+ command_request = Makit::RUNNER::parse_command_request("dotnet build #{project_path} --configuration #{configuration} --output #{output}")
117
+ if newest_file.nil?
118
+ newest_file_date = Time.now
119
+ RUNNER.cache_run(command_request, newest_file_date)
120
+ else
121
+ newest_file_date = File.mtime(newest_file)
122
+ RUNNER.cache_run(command_request, newest_file_date)
123
+ end
124
+ end
125
+
126
+ def self.publish(project_path, configuration = "Release", output = "artifacts")
127
+ project_dir = File.dirname(project_path)
128
+ newest_file = Makit::Directory::get_newest_file(project_dir)
129
+ command_request = Makit::RUNNER::parse_command_request("dotnet publish #{project_path} --configuration #{configuration} --output #{output}")
130
+ if newest_file.nil?
131
+ newest_file_date = Time.now
132
+ RUNNER.cache_run(command_request, newest_file_date)
133
+ else
134
+ newest_file_date = File.mtime(newest_file)
135
+ RUNNER.cache_run(command_request, newest_file_date)
136
+ end
137
+ end
138
+
139
+ def self.test(project_path, configuration = "Release", output = "artifacts")
140
+ project_dir = File.dirname(project_path)
141
+ newest_file = Makit::Directory::get_newest_file(project_dir)
142
+ command_request = Makit::RUNNER::parse_command_request("dotnet test #{project_path} --configuration #{configuration} --output #{output}")
143
+ if newest_file.nil?
144
+ newest_file_date = Time.now
145
+ RUNNER.cache_run(command_request, newest_file_date)
146
+ else
147
+ newest_file_date = File.mtime(newest_file)
148
+ RUNNER.cache_run(command_request, newest_file_date)
149
+ end
150
+ end
151
+
152
+ def self.sln_add_projects(sln_name)
153
+ if !File.exist? "#{sln_name}.sln"
154
+ raise "Solution #{sln_name}.sln does not exist"
155
+ else
156
+ sln_path = "#{sln_name}.sln"
157
+ sln_content = File.read(sln_path)
158
+ Dir.glob("**/*.csproj").each do |project_path|
159
+ project_name = File.basename(project_path, ".csproj")
160
+ if (sln_content.include?("\"#{project_name}\""))
161
+ #puts " #{project_name}".colorize(:green) + " is in ".colorize(:grey) + "#{sln_path}".colorize(:green)
162
+ #puts "Project #{project_name} already exists in #{sln_path}".colorize(:yellow)
163
+ else
164
+ "dotnet sln #{sln_path} add #{project_path}".run
165
+ end
166
+ end
167
+ end
168
+ end
169
+ end # class DotNet
170
+ end # module Makit
@@ -1,127 +1,127 @@
1
- # frozen_string_literal: true
2
-
3
- require "sorted_set"
4
- require_relative "directory"
5
- # This module provides classes for the Makit gem.
6
- module Makit
7
- # This class provide methods for working with the system Environment.
8
- #
9
- class Environment
10
- def self.which(name)
11
- return name if File.exist?(name)
12
-
13
- ["", ".exe", ".bat", ".cmd"].each do |ext|
14
- aname = name + ext
15
- return aname if File.exist?(aname)
16
-
17
- ENV["PATH"].split(File::PATH_SEPARATOR).each do |path|
18
- apath = "#{path.gsub("\\", "/")}/#{aname}".gsub("//", "/")
19
- return apath if File.exist?(apath)
20
- end
21
- end
22
- ""
23
- end
24
-
25
- def self.constants_hash
26
- constants = {}
27
- # collect all constants that are all uppercase
28
- Object.constants.each { |c| constants[c] = Object.const_get(c) if c == c.upcase } # puts "#{c} = #{Object.const_get(c)}" }
29
- #Object.constants.each { |c| constants[c] = Object.const_get(c)}# puts "#{c} = #{Object.const_get(c)}" }
30
- constants
31
- end
32
-
33
- def self.rake_file_name
34
- caller_locations.each do |location|
35
- return location.absolute_path if location.absolute_path&.end_with?("Rakefile")
36
- end
37
- nil
38
- end
39
-
40
- def self.gem_data_directory
41
- gem_data_directory = File.join(Dir.home, ".makit")
42
- end
43
-
44
- def self.project_root_directory
45
- if !Makit::Environment.rake_file_name.nil?
46
- File.dirname(Makit::Environment.rake_file_name)
47
- else
48
- Makit::Directory.find_directory_with_pattern(File.dirname(__FILE__), "Rakefile")
49
- # lass Directory
50
- # def self.find_directory_with_pattern(starting_directory, pattern)
51
- # nil
52
- end
53
- end
54
-
55
- def self.get_relative_directory(url)
56
- url = url.gsub("https://", "").gsub("http://", "")
57
- url = url.gsub("gitlab.com", "gitlab")
58
- url
59
- end
60
-
61
- def self.get_code_root
62
- # user home directory + "code"
63
- code_root = File.join(Dir.home, "code")
64
- end
65
-
66
- def self.get_work_directory(url)
67
- raise "invalid url" if !url.include? "https://"
68
- url = url.gsub("https://", "").gsub("http://", "")
69
- #url = url.gsub("gitlab.com","gitlab")
70
- url
71
- end
72
-
73
- def self.is_windows?
74
- RbConfig::CONFIG["host_os"] =~ /mswin|msys|mingw|cygwin|bccwin|wince|emc/
75
- end
76
-
77
- def self.is_mac?
78
- RbConfig::CONFIG["host_os"] =~ /darwin/
79
- end
80
-
81
- def self.get_os
82
- case RbConfig::CONFIG["host_os"]
83
- when /linux/
84
- "Linux"
85
- when /darwin/
86
- "macOS"
87
- when /mswin|msys|mingw|cygwin|bccwin|wince|emc/
88
- "Windows"
89
- else
90
- "Unknown"
91
- end
92
- end
93
-
94
- def self.get_runtime_identifier()
95
- os = RbConfig::CONFIG["host_os"]
96
- cpu = RbConfig::CONFIG["host_cpu"]
97
-
98
- case os
99
- when /mswin|msys|mingw|cygwin|bccwin|wince|emc/
100
- os_rid = "win"
101
- when /darwin|mac os/
102
- os_rid = "osx"
103
- when /linux/
104
- os_rid = "linux"
105
- when /solaris|bsd/
106
- os_rid = "unix"
107
- else
108
- raise "Unknown operating system: host_os=#{os}"
109
- end
110
-
111
- case cpu
112
- when /x86_64|amd64|x64/
113
- arch_rid = "x64"
114
- when /i686|i386/
115
- arch_rid = "x86"
116
- #when /arm/
117
- # arch_rid = "arm"
118
- when /aarch64|arm64/
119
- arch_rid = "arm64"
120
- else
121
- raise "Unknown architecture: host_cpu=#{cpu}"
122
- end
123
-
124
- "#{os_rid}-#{arch_rid}"
125
- end
126
- end
127
- end
1
+ # frozen_string_literal: true
2
+
3
+ require "sorted_set"
4
+ require_relative "directory"
5
+ # This module provides classes for the Makit gem.
6
+ module Makit
7
+ # This class provide methods for working with the system Environment.
8
+ #
9
+ class Environment
10
+ def self.which(name)
11
+ return name if File.exist?(name)
12
+
13
+ ["", ".exe", ".bat", ".cmd"].each do |ext|
14
+ aname = name + ext
15
+ return aname if File.exist?(aname)
16
+
17
+ ENV["PATH"].split(File::PATH_SEPARATOR).each do |path|
18
+ apath = "#{path.gsub("\\", "/")}/#{aname}".gsub("//", "/")
19
+ return apath if File.exist?(apath)
20
+ end
21
+ end
22
+ ""
23
+ end
24
+
25
+ def self.constants_hash
26
+ constants = {}
27
+ # collect all constants that are all uppercase
28
+ Object.constants.each { |c| constants[c] = Object.const_get(c) if c == c.upcase } # puts "#{c} = #{Object.const_get(c)}" }
29
+ #Object.constants.each { |c| constants[c] = Object.const_get(c)}# puts "#{c} = #{Object.const_get(c)}" }
30
+ constants
31
+ end
32
+
33
+ def self.rake_file_name
34
+ caller_locations.each do |location|
35
+ return location.absolute_path if location.absolute_path&.end_with?("Rakefile")
36
+ end
37
+ nil
38
+ end
39
+
40
+ def self.gem_data_directory
41
+ gem_data_directory = File.join(Dir.home, ".makit")
42
+ end
43
+
44
+ def self.project_root_directory
45
+ if !Makit::Environment.rake_file_name.nil?
46
+ File.dirname(Makit::Environment.rake_file_name)
47
+ else
48
+ Makit::Directory.find_directory_with_pattern(File.dirname(__FILE__), "Rakefile")
49
+ # lass Directory
50
+ # def self.find_directory_with_pattern(starting_directory, pattern)
51
+ # nil
52
+ end
53
+ end
54
+
55
+ def self.get_relative_directory(url)
56
+ url = url.gsub("https://", "").gsub("http://", "")
57
+ url = url.gsub("gitlab.com", "gitlab")
58
+ url
59
+ end
60
+
61
+ def self.get_code_root
62
+ # user home directory + "code"
63
+ code_root = File.join(Dir.home, "code")
64
+ end
65
+
66
+ def self.get_work_directory(url)
67
+ raise "invalid url" if !url.include? "https://"
68
+ url = url.gsub("https://", "").gsub("http://", "")
69
+ #url = url.gsub("gitlab.com","gitlab")
70
+ url
71
+ end
72
+
73
+ def self.is_windows?
74
+ RbConfig::CONFIG["host_os"] =~ /mswin|msys|mingw|cygwin|bccwin|wince|emc/
75
+ end
76
+
77
+ def self.is_mac?
78
+ RbConfig::CONFIG["host_os"] =~ /darwin/
79
+ end
80
+
81
+ def self.get_os
82
+ case RbConfig::CONFIG["host_os"]
83
+ when /linux/
84
+ "Linux"
85
+ when /darwin/
86
+ "macOS"
87
+ when /mswin|msys|mingw|cygwin|bccwin|wince|emc/
88
+ "Windows"
89
+ else
90
+ "Unknown"
91
+ end
92
+ end
93
+
94
+ def self.get_runtime_identifier()
95
+ os = RbConfig::CONFIG["host_os"]
96
+ cpu = RbConfig::CONFIG["host_cpu"]
97
+
98
+ case os
99
+ when /mswin|msys|mingw|cygwin|bccwin|wince|emc/
100
+ os_rid = "win"
101
+ when /darwin|mac os/
102
+ os_rid = "osx"
103
+ when /linux/
104
+ os_rid = "linux"
105
+ when /solaris|bsd/
106
+ os_rid = "unix"
107
+ else
108
+ raise "Unknown operating system: host_os=#{os}"
109
+ end
110
+
111
+ case cpu
112
+ when /x86_64|amd64|x64/
113
+ arch_rid = "x64"
114
+ when /i686|i386/
115
+ arch_rid = "x86"
116
+ #when /arm/
117
+ # arch_rid = "arm"
118
+ when /aarch64|arm64/
119
+ arch_rid = "arm64"
120
+ else
121
+ raise "Unknown architecture: host_cpu=#{cpu}"
122
+ end
123
+
124
+ "#{os_rid}-#{arch_rid}"
125
+ end
126
+ end
127
+ end
@@ -1,16 +1,16 @@
1
- # frozen_string_literal: true
2
-
3
- # This module provides classes for the Makit gem.
4
- module Makit
5
- # This class provide methods for working with the system Environment.
6
- #
7
- class FileInfo
8
- attr_accessor :name, :mtime, :size
9
-
10
- def initialize(name:, mtime:, size:)
11
- @name = name
12
- @mtime = mtime
13
- @size = size
14
- end
15
- end
16
- end
1
+ # frozen_string_literal: true
2
+
3
+ # This module provides classes for the Makit gem.
4
+ module Makit
5
+ # This class provide methods for working with the system Environment.
6
+ #
7
+ class FileInfo
8
+ attr_accessor :name, :mtime, :size
9
+
10
+ def initialize(name:, mtime:, size:)
11
+ @name = name
12
+ @mtime = mtime
13
+ @size = size
14
+ end
15
+ end
16
+ end