makit 0.0.74 → 0.0.76

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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generated/makit/v1/makit.v1_pb.rb +35 -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 +404 -404
  16. data/lib/makit/commands.rb +21 -21
  17. data/lib/makit/content/default_gitignore.rb +5 -5
  18. data/lib/makit/content/default_gitignore.txt +222 -222
  19. data/lib/makit/content/default_rakefile.rb +11 -11
  20. data/lib/makit/content/gem_rakefile.rb +14 -14
  21. data/lib/makit/data.rb +50 -50
  22. data/lib/makit/directories.rb +143 -143
  23. data/lib/makit/directory.rb +264 -264
  24. data/lib/makit/docs/files.rb +94 -94
  25. data/lib/makit/docs/rake.rb +106 -106
  26. data/lib/makit/dotnet.rb +212 -182
  27. data/lib/makit/environment.rb +131 -131
  28. data/lib/makit/fileinfo.rb +26 -26
  29. data/lib/makit/files.rb +47 -47
  30. data/lib/makit/git.rb +145 -145
  31. data/lib/makit/gitlab_runner.rb +60 -60
  32. data/lib/makit/humanize.rb +129 -129
  33. data/lib/makit/indexer.rb +56 -56
  34. data/lib/makit/logging.rb +106 -106
  35. data/lib/makit/markdown.rb +75 -75
  36. data/lib/makit/mp/basic_object_mp.rb +16 -16
  37. data/lib/makit/mp/command_mp.rb +13 -13
  38. data/lib/makit/mp/command_request.mp.rb +16 -16
  39. data/lib/makit/mp/project_mp.rb +210 -210
  40. data/lib/makit/mp/string_mp.rb +137 -137
  41. data/lib/makit/nuget.rb +62 -62
  42. data/lib/makit/process.rb +26 -26
  43. data/lib/makit/protoc.rb +104 -104
  44. data/lib/makit/secrets.rb +51 -51
  45. data/lib/makit/serializer.rb +115 -115
  46. data/lib/makit/show.rb +110 -110
  47. data/lib/makit/storage.rb +131 -131
  48. data/lib/makit/symbols.rb +149 -149
  49. data/lib/makit/task_info.rb +86 -86
  50. data/lib/makit/tasks.rb +137 -137
  51. data/lib/makit/tree.rb +37 -37
  52. data/lib/makit/v1/makit.v1_services_pb.rb +25 -25
  53. data/lib/makit/version.rb +65 -65
  54. data/lib/makit/wix.rb +95 -95
  55. data/lib/makit/yaml.rb +17 -17
  56. data/lib/makit/zip.rb +17 -17
  57. data/lib/makit.rb +267 -267
  58. metadata +4 -2
@@ -1,143 +1,143 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "directory"
4
- require_relative "environment"
5
- require_relative "protoc"
6
- require_relative "nuget"
7
- require_relative "version"
8
- require "rake"
9
-
10
- # This module provides classes for the Makit gem.
11
- module Makit
12
- # This class provide methods for working with the system Environment.
13
- #
14
- module Directories
15
- ROOT = File.join(Dir.home, ".makit")
16
- CLONE = File.join(Dir.home, ".makit", "clone")
17
- MAKE = File.join(Dir.home, ".makit", "make")
18
- LOG = File.join(Dir.home, ".makit", "log")
19
- WORK = File.join(Dir.home, ".makit", "work")
20
- REPOS = File.join(Dir.home, ".makit", "repos")
21
- TEMP = File.join(Dir.home, ".makit", "temp")
22
- INSTALL = File.join(Dir.home, ".makit", "install")
23
- NUGET = File.join(Dir.home, ".makit", "nuget")
24
- HOME = Makit::Directory.normalize(Dir.home)
25
- ONEDRIVE = File.join(Dir.home, "OneDrive")
26
- ONEDRIVE_NUGET_SOURCE = File.join(ONEDRIVE, "code", "artifacts", "nuget")
27
- CURRENT = Dir.pwd
28
- LOCAL_APPLICATION_DATA = File.join(HOME, "AppData", "Local")
29
- #Rake.application.init
30
- #Rake.application.load_rakefile
31
- RAKEDIR = Dir.pwd #File.dirname(Rake.application.rakefile)
32
-
33
- PROJECT_ROOT = Makit::Directory.find_directory_with_patterns(RAKEDIR, ["Rakefile", "rakefile.rb", ".gitignore"])
34
- #PROJECT_ROOT = Makit::Directory.find_directory_with_pattern(RAKEDIR, "Rakefile")
35
- #PROJECT_ROOT = Makit::Directory.find_directory_with_pattern(RAKEDIR, "rakefile.rb")
36
- #PROJECT_ROOT = Makit::Directory.find_directory_with_pattern(RAKEDIR, ".gitignore")
37
- if (PROJECT_ROOT.nil?)
38
- PROJECT_ARTIFACTS = nil
39
- else
40
- PROJECT_ARTIFACTS = File.join(PROJECT_ROOT, "artifacts")
41
- end
42
- LOCAL_NUGET_SOURCE = File.join(Dir.home, ".makit", "nuget")
43
- if Makit::Environment::get_os == "Windows"
44
- #NUGET_PACKAGE_CACHE = "#{ENV["USERPROFILE"]}\\.nuget\\packages"
45
- NUGET_PACKAGE_CACHE = File.join(HOME, ".nuget", "packages")
46
- SERVICES = File.join("C:", "Program Files")
47
- else
48
- NUGET_PACKAGE_CACHE = Makit::Directory.normalize("#{ENV["HOME"]}/.nuget/packages")
49
- if Makit::Environment::get_os == "macOS"
50
- SERVICES = "/Library/LaunchDaemons"
51
- else
52
- SERVICES = "/etc/systemd/system"
53
- end
54
- end
55
- if Makit::NuGet::get_latest_version("Grpc.Tools").nil?
56
- puts " warning: Grpc.Tools not found in Nuget cache"
57
- else
58
- GRPC_TOOLS_PATH = File.join(NUGET_PACKAGE_CACHE, "grpc.tools", Makit::Protoc::get_latest_grpc_tools_version)
59
- GRPC_CSHARP_PLUGIN_PATH = Makit::Protoc::find_plugin_path("grpc_csharp_plugin")
60
- end
61
-
62
- Dir.mkdir(ROOT) unless Dir.exist?(ROOT)
63
- Dir.mkdir(CLONE) unless Dir.exist?(CLONE)
64
- Dir.mkdir(MAKE) unless Dir.exist?(MAKE)
65
- Dir.mkdir(LOG) unless Dir.exist?(LOG)
66
- Dir.mkdir(WORK) unless Dir.exist?(WORK)
67
- Dir.mkdir(REPOS) unless Dir.exist?(REPOS)
68
- Dir.mkdir(TEMP) unless Dir.exist?(TEMP)
69
- Dir.mkdir(INSTALL) unless Dir.exist?(INSTALL)
70
- if (!Dir.exist?(LOCAL_NUGET_SOURCE))
71
- Dir.mkdir(LOCAL_NUGET_SOURCE)
72
- system("dotnet nuget add source #{LOCAL_NUGET_SOURCE} --name local")
73
- end
74
-
75
- def self.get_project_path(relative_path)
76
- File.join(PROJECT_ROOT, relative_path)
77
- end
78
-
79
- def self.get_clone_directory(url)
80
- File.join(CLONE, get_relative_directory(url))
81
- end
82
-
83
- def self.get_work_directory(url)
84
- File.join(WORK, get_relative_directory(url))
85
- end
86
-
87
- def self.get_make_directory(url)
88
- File.join(MAKE, get_relative_directory(url))
89
- end
90
-
91
- def self.get_make_commit_directory(url, commit_id)
92
- File.join(MAKE, get_relative_directory(url), commit_id)
93
- end
94
-
95
- def self.get_log_directory(url)
96
- File.join(LOG, get_relative_directory(url))
97
- end
98
- def self.get_make_commit_log_filename(url, commit_id)
99
- File.join(LOG, get_relative_directory(url), commit_id + ".json")
100
- end
101
-
102
- def self.get_relative_directory(url)
103
- # if url start with Directories::REPOS, then it is a local repository
104
- if url.start_with?(REPOS)
105
- return url.gsub(REPOS, "")
106
- end
107
- url = url.gsub("https://", "").gsub("http://", "")
108
- url = url.gsub("gitlab.com", "gitlab")
109
- url = url.gsub("github.com", "github")
110
-
111
- # if the url ends with .git, remove it
112
- url = url.gsub(".git", "") if url.end_with?(".git")
113
- url
114
- end
115
-
116
- # show all the directory constants in a nicely formatted table format with the name of the constant and the value
117
- def self.show
118
- # Array of constant names (symbols)
119
- constant_names = [:ROOT, :CLONE, :MAKE, :LOG, :WORK, :REPOS, :TEMP, :INSTALL, :HOME, :ONEDRIVE,
120
- :CURRENT, :RAKEDIR,
121
- :PROJECT_ROOT, :PROJECT_ARTIFACTS, :LOCAL_NUGET_SOURCE, :NUGET_PACKAGE_CACHE, :SERVICES,
122
- :GRPC_TOOLS_PATH, :GRPC_CSHARP_PLUGIN_PATH]
123
-
124
- # Find the length of the longest constant name and add 1
125
- max_length = constant_names.map(&:to_s).max_by(&:length).length + 1
126
-
127
- # Iterate through each constant name
128
- constant_names.each do |constant_name|
129
- begin
130
- constant_value = const_get(constant_name) # Fetch the value of the constant
131
- if (constant_value != nil && Dir.exist?(constant_value))
132
- constant_value = constant_value.colorize(:green)
133
- end
134
- # Print the constant name right justified to the max_length
135
- puts "#{constant_name.to_s.rjust(max_length)} = #{constant_value}"
136
- rescue NameError
137
- # Handle the case where the constant is not defined
138
- puts "#{constant_name.to_s.rjust(max_length)} = [Constant not defined]"
139
- end
140
- end
141
- end
142
- end # end module Directories
143
- end # end module Makit
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "directory"
4
+ require_relative "environment"
5
+ require_relative "protoc"
6
+ require_relative "nuget"
7
+ require_relative "version"
8
+ require "rake"
9
+
10
+ # This module provides classes for the Makit gem.
11
+ module Makit
12
+ # This class provide methods for working with the system Environment.
13
+ #
14
+ module Directories
15
+ ROOT = File.join(Dir.home, ".makit")
16
+ CLONE = File.join(Dir.home, ".makit", "clone")
17
+ MAKE = File.join(Dir.home, ".makit", "make")
18
+ LOG = File.join(Dir.home, ".makit", "log")
19
+ WORK = File.join(Dir.home, ".makit", "work")
20
+ REPOS = File.join(Dir.home, ".makit", "repos")
21
+ TEMP = File.join(Dir.home, ".makit", "temp")
22
+ INSTALL = File.join(Dir.home, ".makit", "install")
23
+ NUGET = File.join(Dir.home, ".makit", "nuget")
24
+ HOME = Makit::Directory.normalize(Dir.home)
25
+ ONEDRIVE = File.join(Dir.home, "OneDrive")
26
+ ONEDRIVE_NUGET_SOURCE = File.join(ONEDRIVE, "code", "artifacts", "nuget")
27
+ CURRENT = Dir.pwd
28
+ LOCAL_APPLICATION_DATA = File.join(HOME, "AppData", "Local")
29
+ #Rake.application.init
30
+ #Rake.application.load_rakefile
31
+ RAKEDIR = Dir.pwd #File.dirname(Rake.application.rakefile)
32
+
33
+ PROJECT_ROOT = Makit::Directory.find_directory_with_patterns(RAKEDIR, ["Rakefile", "rakefile.rb", ".gitignore"])
34
+ #PROJECT_ROOT = Makit::Directory.find_directory_with_pattern(RAKEDIR, "Rakefile")
35
+ #PROJECT_ROOT = Makit::Directory.find_directory_with_pattern(RAKEDIR, "rakefile.rb")
36
+ #PROJECT_ROOT = Makit::Directory.find_directory_with_pattern(RAKEDIR, ".gitignore")
37
+ if (PROJECT_ROOT.nil?)
38
+ PROJECT_ARTIFACTS = nil
39
+ else
40
+ PROJECT_ARTIFACTS = File.join(PROJECT_ROOT, "artifacts")
41
+ end
42
+ LOCAL_NUGET_SOURCE = File.join(Dir.home, ".makit", "nuget")
43
+ if Makit::Environment::get_os == "Windows"
44
+ #NUGET_PACKAGE_CACHE = "#{ENV["USERPROFILE"]}\\.nuget\\packages"
45
+ NUGET_PACKAGE_CACHE = File.join(HOME, ".nuget", "packages")
46
+ SERVICES = File.join("C:", "Program Files")
47
+ else
48
+ NUGET_PACKAGE_CACHE = Makit::Directory.normalize("#{ENV["HOME"]}/.nuget/packages")
49
+ if Makit::Environment::get_os == "macOS"
50
+ SERVICES = "/Library/LaunchDaemons"
51
+ else
52
+ SERVICES = "/etc/systemd/system"
53
+ end
54
+ end
55
+ if Makit::NuGet::get_latest_version("Grpc.Tools").nil?
56
+ puts " warning: Grpc.Tools not found in Nuget cache"
57
+ else
58
+ GRPC_TOOLS_PATH = File.join(NUGET_PACKAGE_CACHE, "grpc.tools", Makit::Protoc::get_latest_grpc_tools_version)
59
+ GRPC_CSHARP_PLUGIN_PATH = Makit::Protoc::find_plugin_path("grpc_csharp_plugin")
60
+ end
61
+
62
+ Dir.mkdir(ROOT) unless Dir.exist?(ROOT)
63
+ Dir.mkdir(CLONE) unless Dir.exist?(CLONE)
64
+ Dir.mkdir(MAKE) unless Dir.exist?(MAKE)
65
+ Dir.mkdir(LOG) unless Dir.exist?(LOG)
66
+ Dir.mkdir(WORK) unless Dir.exist?(WORK)
67
+ Dir.mkdir(REPOS) unless Dir.exist?(REPOS)
68
+ Dir.mkdir(TEMP) unless Dir.exist?(TEMP)
69
+ Dir.mkdir(INSTALL) unless Dir.exist?(INSTALL)
70
+ if (!Dir.exist?(LOCAL_NUGET_SOURCE))
71
+ Dir.mkdir(LOCAL_NUGET_SOURCE)
72
+ system("dotnet nuget add source #{LOCAL_NUGET_SOURCE} --name local")
73
+ end
74
+
75
+ def self.get_project_path(relative_path)
76
+ File.join(PROJECT_ROOT, relative_path)
77
+ end
78
+
79
+ def self.get_clone_directory(url)
80
+ File.join(CLONE, get_relative_directory(url))
81
+ end
82
+
83
+ def self.get_work_directory(url)
84
+ File.join(WORK, get_relative_directory(url))
85
+ end
86
+
87
+ def self.get_make_directory(url)
88
+ File.join(MAKE, get_relative_directory(url))
89
+ end
90
+
91
+ def self.get_make_commit_directory(url, commit_id)
92
+ File.join(MAKE, get_relative_directory(url), commit_id)
93
+ end
94
+
95
+ def self.get_log_directory(url)
96
+ File.join(LOG, get_relative_directory(url))
97
+ end
98
+ def self.get_make_commit_log_filename(url, commit_id)
99
+ File.join(LOG, get_relative_directory(url), commit_id + ".json")
100
+ end
101
+
102
+ def self.get_relative_directory(url)
103
+ # if url start with Directories::REPOS, then it is a local repository
104
+ if url.start_with?(REPOS)
105
+ return url.gsub(REPOS, "")
106
+ end
107
+ url = url.gsub("https://", "").gsub("http://", "")
108
+ url = url.gsub("gitlab.com", "gitlab")
109
+ url = url.gsub("github.com", "github")
110
+
111
+ # if the url ends with .git, remove it
112
+ url = url.gsub(".git", "") if url.end_with?(".git")
113
+ url
114
+ end
115
+
116
+ # show all the directory constants in a nicely formatted table format with the name of the constant and the value
117
+ def self.show
118
+ # Array of constant names (symbols)
119
+ constant_names = [:ROOT, :CLONE, :MAKE, :LOG, :WORK, :REPOS, :TEMP, :INSTALL, :HOME, :ONEDRIVE,
120
+ :CURRENT, :RAKEDIR,
121
+ :PROJECT_ROOT, :PROJECT_ARTIFACTS, :LOCAL_NUGET_SOURCE, :NUGET_PACKAGE_CACHE, :SERVICES,
122
+ :GRPC_TOOLS_PATH, :GRPC_CSHARP_PLUGIN_PATH]
123
+
124
+ # Find the length of the longest constant name and add 1
125
+ max_length = constant_names.map(&:to_s).max_by(&:length).length + 1
126
+
127
+ # Iterate through each constant name
128
+ constant_names.each do |constant_name|
129
+ begin
130
+ constant_value = const_get(constant_name) # Fetch the value of the constant
131
+ if (constant_value != nil && Dir.exist?(constant_value))
132
+ constant_value = constant_value.colorize(:green)
133
+ end
134
+ # Print the constant name right justified to the max_length
135
+ puts "#{constant_name.to_s.rjust(max_length)} = #{constant_value}"
136
+ rescue NameError
137
+ # Handle the case where the constant is not defined
138
+ puts "#{constant_name.to_s.rjust(max_length)} = [Constant not defined]"
139
+ end
140
+ end
141
+ end
142
+ end # end module Directories
143
+ end # end module Makit