makit 0.0.48 → 0.0.49

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.
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 +52 -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 +4 -2
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