makit 0.0.94 → 0.0.96

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