makit 0.0.85 → 0.0.87

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