makit 0.0.168 → 0.0.169

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 (179) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +41 -41
  3. data/exe/makit +5 -5
  4. data/lib/makit/apache.rb +28 -28
  5. data/lib/makit/auto.rb +48 -48
  6. data/lib/makit/azure/blob_storage.rb +257 -257
  7. data/lib/makit/azure/cli.rb +284 -284
  8. data/lib/makit/azure-pipelines.rb +187 -187
  9. data/lib/makit/cli/base.rb +17 -17
  10. data/lib/makit/cli/build_commands.rb +500 -500
  11. data/lib/makit/cli/generators/base_generator.rb +74 -74
  12. data/lib/makit/cli/generators/dotnet_generator.rb +50 -50
  13. data/lib/makit/cli/generators/generator_factory.rb +49 -49
  14. data/lib/makit/cli/generators/node_generator.rb +50 -50
  15. data/lib/makit/cli/generators/ruby_generator.rb +77 -77
  16. data/lib/makit/cli/generators/rust_generator.rb +50 -50
  17. data/lib/makit/cli/generators/templates/dotnet_templates.rb +167 -167
  18. data/lib/makit/cli/generators/templates/node_templates.rb +161 -161
  19. data/lib/makit/cli/generators/templates/ruby/gemfile.rb +26 -26
  20. data/lib/makit/cli/generators/templates/ruby/gemspec.rb +41 -41
  21. data/lib/makit/cli/generators/templates/ruby/main_lib.rb +33 -33
  22. data/lib/makit/cli/generators/templates/ruby/rakefile.rb +35 -35
  23. data/lib/makit/cli/generators/templates/ruby/readme.rb +63 -63
  24. data/lib/makit/cli/generators/templates/ruby/test.rb +39 -39
  25. data/lib/makit/cli/generators/templates/ruby/test_helper.rb +29 -29
  26. data/lib/makit/cli/generators/templates/ruby/version.rb +29 -29
  27. data/lib/makit/cli/generators/templates/rust_templates.rb +128 -128
  28. data/lib/makit/cli/main.rb +78 -78
  29. data/lib/makit/cli/pipeline_commands.rb +311 -311
  30. data/lib/makit/cli/project_commands.rb +868 -868
  31. data/lib/makit/cli/repository_commands.rb +661 -661
  32. data/lib/makit/cli/strategy_commands.rb +207 -207
  33. data/lib/makit/cli/utility_commands.rb +521 -521
  34. data/lib/makit/commands/factory.rb +359 -359
  35. data/lib/makit/commands/middleware/base.rb +73 -73
  36. data/lib/makit/commands/middleware/cache.rb +248 -248
  37. data/lib/makit/commands/middleware/command_logger.rb +312 -312
  38. data/lib/makit/commands/middleware/validator.rb +269 -269
  39. data/lib/makit/commands/request.rb +316 -316
  40. data/lib/makit/commands/result.rb +323 -323
  41. data/lib/makit/commands/runner.rb +386 -386
  42. data/lib/makit/commands/strategies/base.rb +171 -171
  43. data/lib/makit/commands/strategies/child_process.rb +162 -162
  44. data/lib/makit/commands/strategies/factory.rb +136 -136
  45. data/lib/makit/commands/strategies/synchronous.rb +139 -139
  46. data/lib/makit/commands.rb +50 -50
  47. data/lib/makit/configuration/dotnet_project.rb +48 -48
  48. data/lib/makit/configuration/gitlab_helper.rb +61 -61
  49. data/lib/makit/configuration/project.rb +292 -292
  50. data/lib/makit/configuration/rakefile_helper.rb +43 -43
  51. data/lib/makit/configuration/step.rb +34 -34
  52. data/lib/makit/configuration/timeout.rb +74 -74
  53. data/lib/makit/configuration.rb +21 -21
  54. data/lib/makit/content/default_gitignore.rb +7 -7
  55. data/lib/makit/content/default_gitignore.txt +225 -225
  56. data/lib/makit/content/default_rakefile.rb +13 -13
  57. data/lib/makit/content/gem_rakefile.rb +16 -16
  58. data/lib/makit/context.rb +1 -1
  59. data/lib/makit/data.rb +49 -49
  60. data/lib/makit/directories.rb +170 -170
  61. data/lib/makit/directory.rb +262 -262
  62. data/lib/makit/docs/files.rb +89 -89
  63. data/lib/makit/docs/rake.rb +102 -102
  64. data/lib/makit/dotnet/cli.rb +224 -224
  65. data/lib/makit/dotnet/project.rb +217 -217
  66. data/lib/makit/dotnet/solution.rb +38 -38
  67. data/lib/makit/dotnet/solution_classlib.rb +239 -239
  68. data/lib/makit/dotnet/solution_console.rb +264 -264
  69. data/lib/makit/dotnet/solution_maui.rb +354 -354
  70. data/lib/makit/dotnet/solution_wasm.rb +275 -275
  71. data/lib/makit/dotnet/solution_wpf.rb +304 -304
  72. data/lib/makit/dotnet.rb +110 -110
  73. data/lib/makit/email.rb +90 -90
  74. data/lib/makit/environment.rb +142 -142
  75. data/lib/makit/examples/runner.rb +370 -370
  76. data/lib/makit/exceptions.rb +45 -45
  77. data/lib/makit/fileinfo.rb +32 -32
  78. data/lib/makit/files.rb +43 -43
  79. data/lib/makit/gems.rb +49 -49
  80. data/lib/makit/git/cli.rb +103 -103
  81. data/lib/makit/git/repository.rb +100 -100
  82. data/lib/makit/git.rb +104 -104
  83. data/lib/makit/github_actions.rb +202 -202
  84. data/lib/makit/gitlab/pipeline.rb +857 -857
  85. data/lib/makit/gitlab/pipeline_service_impl.rb +1535 -1535
  86. data/lib/makit/gitlab_runner.rb +59 -59
  87. data/lib/makit/humanize.rb +218 -218
  88. data/lib/makit/indexer.rb +47 -47
  89. data/lib/makit/io/filesystem.rb +111 -111
  90. data/lib/makit/io/filesystem_service_impl.rb +337 -337
  91. data/lib/makit/lint.rb +212 -212
  92. data/lib/makit/logging/configuration.rb +309 -309
  93. data/lib/makit/logging/format_registry.rb +84 -84
  94. data/lib/makit/logging/formatters/base.rb +39 -39
  95. data/lib/makit/logging/formatters/console_formatter.rb +140 -140
  96. data/lib/makit/logging/formatters/json_formatter.rb +65 -65
  97. data/lib/makit/logging/formatters/plain_text_formatter.rb +71 -71
  98. data/lib/makit/logging/formatters/text_formatter.rb +64 -64
  99. data/lib/makit/logging/log_request.rb +119 -119
  100. data/lib/makit/logging/logger.rb +199 -199
  101. data/lib/makit/logging/sinks/base.rb +91 -91
  102. data/lib/makit/logging/sinks/console.rb +72 -72
  103. data/lib/makit/logging/sinks/file_sink.rb +92 -92
  104. data/lib/makit/logging/sinks/structured.rb +123 -123
  105. data/lib/makit/logging/sinks/unified_file_sink.rb +296 -296
  106. data/lib/makit/logging.rb +578 -578
  107. data/lib/makit/markdown.rb +75 -75
  108. data/lib/makit/mp/basic_object_mp.rb +17 -17
  109. data/lib/makit/mp/command_mp.rb +13 -13
  110. data/lib/makit/mp/command_request.mp.rb +17 -17
  111. data/lib/makit/mp/project_mp.rb +199 -199
  112. data/lib/makit/mp/string_mp.rb +205 -205
  113. data/lib/makit/nuget.rb +460 -458
  114. data/lib/makit/podman/podman.rb +458 -458
  115. data/lib/makit/podman/podman_service_impl.rb +1081 -1081
  116. data/lib/makit/port.rb +32 -32
  117. data/lib/makit/process.rb +377 -377
  118. data/lib/makit/protoc.rb +112 -112
  119. data/lib/makit/rake/cli.rb +196 -196
  120. data/lib/makit/rake/trace_controller.rb +174 -174
  121. data/lib/makit/rake.rb +81 -81
  122. data/lib/makit/ruby/cli.rb +185 -185
  123. data/lib/makit/ruby.rb +25 -25
  124. data/lib/makit/rubygems.rb +137 -137
  125. data/lib/makit/secrets/azure_key_vault.rb +322 -322
  126. data/lib/makit/secrets/azure_secrets.rb +221 -221
  127. data/lib/makit/secrets/local_secrets.rb +72 -72
  128. data/lib/makit/secrets/secrets_manager.rb +105 -105
  129. data/lib/makit/secrets.rb +96 -96
  130. data/lib/makit/serializer.rb +130 -130
  131. data/lib/makit/services/builder.rb +186 -186
  132. data/lib/makit/services/error_handler.rb +226 -226
  133. data/lib/makit/services/repository_manager.rb +367 -367
  134. data/lib/makit/services/validator.rb +112 -112
  135. data/lib/makit/setup/classlib.rb +101 -101
  136. data/lib/makit/setup/gem.rb +268 -268
  137. data/lib/makit/setup/pages.rb +11 -11
  138. data/lib/makit/setup/razorclasslib.rb +101 -101
  139. data/lib/makit/setup/runner.rb +54 -54
  140. data/lib/makit/setup.rb +5 -5
  141. data/lib/makit/show.rb +110 -110
  142. data/lib/makit/storage.rb +126 -126
  143. data/lib/makit/symbols.rb +175 -175
  144. data/lib/makit/task_info.rb +130 -130
  145. data/lib/makit/tasks/at_exit.rb +15 -15
  146. data/lib/makit/tasks/build.rb +22 -22
  147. data/lib/makit/tasks/bump.rb +7 -7
  148. data/lib/makit/tasks/clean.rb +13 -13
  149. data/lib/makit/tasks/configure.rb +10 -10
  150. data/lib/makit/tasks/format.rb +10 -10
  151. data/lib/makit/tasks/hook_manager.rb +443 -443
  152. data/lib/makit/tasks/info.rb +368 -368
  153. data/lib/makit/tasks/init.rb +49 -49
  154. data/lib/makit/tasks/integrate.rb +60 -60
  155. data/lib/makit/tasks/pull_incoming.rb +13 -13
  156. data/lib/makit/tasks/secrets.rb +7 -7
  157. data/lib/makit/tasks/setup.rb +16 -16
  158. data/lib/makit/tasks/sync.rb +14 -14
  159. data/lib/makit/tasks/tag.rb +27 -27
  160. data/lib/makit/tasks/task_monkey_patch.rb +81 -81
  161. data/lib/makit/tasks/test.rb +22 -22
  162. data/lib/makit/tasks/update.rb +21 -21
  163. data/lib/makit/tasks/version.rb +6 -6
  164. data/lib/makit/tasks.rb +24 -24
  165. data/lib/makit/test_cache.rb +239 -239
  166. data/lib/makit/tree.rb +37 -37
  167. data/lib/makit/v1/configuration/project_service_impl.rb +370 -370
  168. data/lib/makit/v1/git/git_repository_service_impl.rb +295 -295
  169. data/lib/makit/v1/makit.v1_pb.rb +35 -35
  170. data/lib/makit/v1/makit.v1_services_pb.rb +27 -27
  171. data/lib/makit/v1/services/repository_manager_service_impl.rb +572 -572
  172. data/lib/makit/version.rb +661 -661
  173. data/lib/makit/version_util.rb +21 -21
  174. data/lib/makit/wix.rb +95 -95
  175. data/lib/makit/yaml.rb +29 -29
  176. data/lib/makit/zip.rb +17 -17
  177. data/lib/makit copy.rb +44 -44
  178. data/lib/makit.rb +121 -121
  179. metadata +2 -2
@@ -1,174 +1,174 @@
1
- # frozen_string_literal: true
2
-
3
- module Makit
4
- module Rake
5
- # Enhanced trace controller for Rake with Makit-specific debugging information
6
- #
7
- # This class provides enhanced tracing capabilities when --trace is passed to rake,
8
- # adding makit-specific debugging information to help with troubleshooting and
9
- # understanding command execution flow.
10
- #
11
- # @example Basic usage
12
- # # In Rakefile
13
- # require "makit"
14
- # Makit::Rake::TraceController.setup
15
- #
16
- # @example With environment variable
17
- # MAKIT_TRACE=true rake --trace
18
- class TraceController
19
- # Set up enhanced tracing for Rake tasks
20
- #
21
- # This method should be called early in the Rakefile to enable enhanced
22
- # tracing when --trace is passed to rake.
23
- #
24
- # @return [void]
25
- def self.setup
26
- return unless should_enhance_trace?
27
-
28
- # Set up enhanced tracing
29
- setup_enhanced_tracing
30
- Makit::Logging.debug("Enhanced trace controller activated") if defined?(Makit::Logging)
31
- end
32
-
33
- # Check if trace enhancement should be enabled
34
- #
35
- # @return [Boolean] true if trace enhancement should be enabled
36
- def self.should_enhance_trace?
37
- ENV["RAKE_TRACE"] ||
38
- ARGV.include?("--trace") ||
39
- ENV["MAKIT_TRACE"] == "true"
40
- end
41
-
42
- # Get current trace status
43
- #
44
- # @return [Hash] trace status information
45
- def self.trace_status
46
- {
47
- rake_trace: ENV["RAKE_TRACE"],
48
- trace_flag: ARGV.include?("--trace"),
49
- makit_trace: ENV["MAKIT_TRACE"],
50
- enhanced: should_enhance_trace?,
51
- }
52
- end
53
-
54
- private
55
-
56
- # Set up enhanced tracing by monkey patching Rake's trace methods
57
- #
58
- # @return [void]
59
- def self.setup_enhanced_tracing
60
- # Store the original trace method if not already stored
61
- unless ::Rake::Task.method_defined?(:makit_original_trace)
62
- ::Rake::Task.class_eval do
63
- alias_method :makit_original_trace, :trace
64
-
65
- def trace(mode, message)
66
- # Call original trace
67
- makit_original_trace(mode, message)
68
-
69
- # Add makit-specific trace info
70
- add_makit_trace_info(mode, message)
71
- end
72
-
73
- private
74
-
75
- # Add makit-specific trace information
76
- #
77
- # @param mode [Symbol] trace mode (:execute, :invoke, :prereq, etc.)
78
- # @param message [String] trace message
79
- # @return [void]
80
- def add_makit_trace_info(mode, message)
81
- case mode
82
- when :execute
83
- trace_makit_execution(message)
84
- when :invoke
85
- trace_makit_invocation(message)
86
- when :prereq
87
- trace_makit_prerequisite(message)
88
- when :syntax
89
- trace_makit_syntax(message)
90
- end
91
- end
92
-
93
- # Trace makit execution with detailed information
94
- #
95
- # @param message [String] execution message
96
- # @return [void]
97
- def trace_makit_execution(message)
98
- if makit_related?(message)
99
- puts " [MAKIT] Executing: #{message}"
100
- puts " [MAKIT] Strategy: #{get_makit_strategy_info}"
101
- puts " [MAKIT] Environment: #{ENV["MAKIT_STRATEGY"] || "auto"}"
102
- puts " [MAKIT] Working Directory: #{Dir.pwd}"
103
- puts " [MAKIT] Timestamp: #{Time.now.iso8601}"
104
- puts " [MAKIT] Task: #{name}"
105
- end
106
- end
107
-
108
- # Trace makit invocation
109
- #
110
- # @param message [String] invocation message
111
- # @return [void]
112
- def trace_makit_invocation(message)
113
- if makit_related?(message)
114
- puts " [MAKIT] Invoking: #{message}"
115
- puts " [MAKIT] Task: #{name}"
116
- end
117
- end
118
-
119
- # Trace makit prerequisite
120
- #
121
- # @param message [String] prerequisite message
122
- # @return [void]
123
- def trace_makit_prerequisite(message)
124
- if makit_related?(message)
125
- puts " [MAKIT] Prerequisite: #{message}"
126
- puts " [MAKIT] Task: #{name}"
127
- end
128
- end
129
-
130
- # Trace makit syntax
131
- #
132
- # @param message [String] syntax message
133
- # @return [void]
134
- def trace_makit_syntax(message)
135
- if makit_related?(message)
136
- puts " [MAKIT] Syntax: #{message}"
137
- end
138
- end
139
-
140
- # Check if message is makit-related
141
- #
142
- # @param message [String] message to check
143
- # @return [Boolean] true if message is makit-related
144
- def makit_related?(message)
145
- message.downcase.include?("makit") ||
146
- message.include?("bundle") ||
147
- message.include?("gem") ||
148
- message.include?("dotnet") ||
149
- message.include?("protoc") ||
150
- message.include?("git")
151
- end
152
-
153
- # Get makit strategy information safely
154
- #
155
- # @return [String] strategy information
156
- def get_makit_strategy_info
157
- begin
158
- if defined?(Makit::Commands::Runner)
159
- runner = Makit::Commands::Runner.default
160
- info = runner.strategy_info
161
- "#{info[:type]} (#{info[:class]})"
162
- else
163
- "not available"
164
- end
165
- rescue => e
166
- "error: #{e.message}"
167
- end
168
- end
169
- end
170
- end
171
- end
172
- end
173
- end
174
- end
1
+ # frozen_string_literal: true
2
+
3
+ module Makit
4
+ module Rake
5
+ # Enhanced trace controller for Rake with Makit-specific debugging information
6
+ #
7
+ # This class provides enhanced tracing capabilities when --trace is passed to rake,
8
+ # adding makit-specific debugging information to help with troubleshooting and
9
+ # understanding command execution flow.
10
+ #
11
+ # @example Basic usage
12
+ # # In Rakefile
13
+ # require "makit"
14
+ # Makit::Rake::TraceController.setup
15
+ #
16
+ # @example With environment variable
17
+ # MAKIT_TRACE=true rake --trace
18
+ class TraceController
19
+ # Set up enhanced tracing for Rake tasks
20
+ #
21
+ # This method should be called early in the Rakefile to enable enhanced
22
+ # tracing when --trace is passed to rake.
23
+ #
24
+ # @return [void]
25
+ def self.setup
26
+ return unless should_enhance_trace?
27
+
28
+ # Set up enhanced tracing
29
+ setup_enhanced_tracing
30
+ Makit::Logging.debug("Enhanced trace controller activated") if defined?(Makit::Logging)
31
+ end
32
+
33
+ # Check if trace enhancement should be enabled
34
+ #
35
+ # @return [Boolean] true if trace enhancement should be enabled
36
+ def self.should_enhance_trace?
37
+ ENV["RAKE_TRACE"] ||
38
+ ARGV.include?("--trace") ||
39
+ ENV["MAKIT_TRACE"] == "true"
40
+ end
41
+
42
+ # Get current trace status
43
+ #
44
+ # @return [Hash] trace status information
45
+ def self.trace_status
46
+ {
47
+ rake_trace: ENV["RAKE_TRACE"],
48
+ trace_flag: ARGV.include?("--trace"),
49
+ makit_trace: ENV["MAKIT_TRACE"],
50
+ enhanced: should_enhance_trace?,
51
+ }
52
+ end
53
+
54
+ private
55
+
56
+ # Set up enhanced tracing by monkey patching Rake's trace methods
57
+ #
58
+ # @return [void]
59
+ def self.setup_enhanced_tracing
60
+ # Store the original trace method if not already stored
61
+ unless ::Rake::Task.method_defined?(:makit_original_trace)
62
+ ::Rake::Task.class_eval do
63
+ alias_method :makit_original_trace, :trace
64
+
65
+ def trace(mode, message)
66
+ # Call original trace
67
+ makit_original_trace(mode, message)
68
+
69
+ # Add makit-specific trace info
70
+ add_makit_trace_info(mode, message)
71
+ end
72
+
73
+ private
74
+
75
+ # Add makit-specific trace information
76
+ #
77
+ # @param mode [Symbol] trace mode (:execute, :invoke, :prereq, etc.)
78
+ # @param message [String] trace message
79
+ # @return [void]
80
+ def add_makit_trace_info(mode, message)
81
+ case mode
82
+ when :execute
83
+ trace_makit_execution(message)
84
+ when :invoke
85
+ trace_makit_invocation(message)
86
+ when :prereq
87
+ trace_makit_prerequisite(message)
88
+ when :syntax
89
+ trace_makit_syntax(message)
90
+ end
91
+ end
92
+
93
+ # Trace makit execution with detailed information
94
+ #
95
+ # @param message [String] execution message
96
+ # @return [void]
97
+ def trace_makit_execution(message)
98
+ if makit_related?(message)
99
+ puts " [MAKIT] Executing: #{message}"
100
+ puts " [MAKIT] Strategy: #{get_makit_strategy_info}"
101
+ puts " [MAKIT] Environment: #{ENV["MAKIT_STRATEGY"] || "auto"}"
102
+ puts " [MAKIT] Working Directory: #{Dir.pwd}"
103
+ puts " [MAKIT] Timestamp: #{Time.now.iso8601}"
104
+ puts " [MAKIT] Task: #{name}"
105
+ end
106
+ end
107
+
108
+ # Trace makit invocation
109
+ #
110
+ # @param message [String] invocation message
111
+ # @return [void]
112
+ def trace_makit_invocation(message)
113
+ if makit_related?(message)
114
+ puts " [MAKIT] Invoking: #{message}"
115
+ puts " [MAKIT] Task: #{name}"
116
+ end
117
+ end
118
+
119
+ # Trace makit prerequisite
120
+ #
121
+ # @param message [String] prerequisite message
122
+ # @return [void]
123
+ def trace_makit_prerequisite(message)
124
+ if makit_related?(message)
125
+ puts " [MAKIT] Prerequisite: #{message}"
126
+ puts " [MAKIT] Task: #{name}"
127
+ end
128
+ end
129
+
130
+ # Trace makit syntax
131
+ #
132
+ # @param message [String] syntax message
133
+ # @return [void]
134
+ def trace_makit_syntax(message)
135
+ if makit_related?(message)
136
+ puts " [MAKIT] Syntax: #{message}"
137
+ end
138
+ end
139
+
140
+ # Check if message is makit-related
141
+ #
142
+ # @param message [String] message to check
143
+ # @return [Boolean] true if message is makit-related
144
+ def makit_related?(message)
145
+ message.downcase.include?("makit") ||
146
+ message.include?("bundle") ||
147
+ message.include?("gem") ||
148
+ message.include?("dotnet") ||
149
+ message.include?("protoc") ||
150
+ message.include?("git")
151
+ end
152
+
153
+ # Get makit strategy information safely
154
+ #
155
+ # @return [String] strategy information
156
+ def get_makit_strategy_info
157
+ begin
158
+ if defined?(Makit::Commands::Runner)
159
+ runner = Makit::Commands::Runner.default
160
+ info = runner.strategy_info
161
+ "#{info[:type]} (#{info[:class]})"
162
+ else
163
+ "not available"
164
+ end
165
+ rescue => e
166
+ "error: #{e.message}"
167
+ end
168
+ end
169
+ end
170
+ end
171
+ end
172
+ end
173
+ end
174
+ end
data/lib/makit/rake.rb CHANGED
@@ -1,81 +1,81 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "rake/trace_controller"
4
-
5
- module Makit
6
- module Rake
7
- # Enhanced Rake integration for Makit
8
- #
9
- # This module provides enhanced Rake integration capabilities including
10
- # trace enhancement, task monitoring, and debugging utilities.
11
- #
12
- # @example Basic usage
13
- # require "makit"
14
- # Makit::Rake.setup
15
- #
16
- # @example With custom options
17
- # Makit::Rake.setup(trace: true, verbose: true)
18
- class << self
19
- # Set up enhanced Rake integration
20
- #
21
- # @param trace [Boolean] enable trace enhancement (default: auto-detect)
22
- # @param verbose [Boolean] enable verbose output (default: false)
23
- # @return [void]
24
- def setup(trace: nil, verbose: false)
25
- # Set up trace enhancement
26
- if trace.nil?
27
- TraceController.setup
28
- elsif trace
29
- ENV["MAKIT_TRACE"] = "true"
30
- TraceController.setup
31
- end
32
-
33
- # Set up verbose output if requested
34
- if verbose
35
- ENV["MAKIT_VERBOSE"] = "true"
36
- end
37
-
38
- # Log setup completion
39
- if defined?(Makit::Logging)
40
- Makit::Logging.debug("Makit Rake integration setup completed")
41
- Makit::Logging.debug("Trace status: #{TraceController.trace_status}")
42
- end
43
- end
44
-
45
- # Get current Rake integration status
46
- #
47
- # @return [Hash] integration status
48
- def status
49
- {
50
- trace_controller: TraceController.trace_status,
51
- verbose: ENV["MAKIT_VERBOSE"] == "true",
52
- strategy: get_strategy_info,
53
- }
54
- end
55
-
56
- # Check if enhanced tracing is active
57
- #
58
- # @return [Boolean] true if enhanced tracing is active
59
- def tracing_enabled?
60
- TraceController.should_enhance_trace?
61
- end
62
-
63
- private
64
-
65
- # Get strategy information safely
66
- #
67
- # @return [Hash] strategy information
68
- def get_strategy_info
69
- begin
70
- if defined?(Makit::Commands::Runner)
71
- Makit::Commands::Runner.default.strategy_info
72
- else
73
- { error: "Commands::Runner not available" }
74
- end
75
- rescue => e
76
- { error: e.message }
77
- end
78
- end
79
- end
80
- end
81
- end
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "rake/trace_controller"
4
+
5
+ module Makit
6
+ module Rake
7
+ # Enhanced Rake integration for Makit
8
+ #
9
+ # This module provides enhanced Rake integration capabilities including
10
+ # trace enhancement, task monitoring, and debugging utilities.
11
+ #
12
+ # @example Basic usage
13
+ # require "makit"
14
+ # Makit::Rake.setup
15
+ #
16
+ # @example With custom options
17
+ # Makit::Rake.setup(trace: true, verbose: true)
18
+ class << self
19
+ # Set up enhanced Rake integration
20
+ #
21
+ # @param trace [Boolean] enable trace enhancement (default: auto-detect)
22
+ # @param verbose [Boolean] enable verbose output (default: false)
23
+ # @return [void]
24
+ def setup(trace: nil, verbose: false)
25
+ # Set up trace enhancement
26
+ if trace.nil?
27
+ TraceController.setup
28
+ elsif trace
29
+ ENV["MAKIT_TRACE"] = "true"
30
+ TraceController.setup
31
+ end
32
+
33
+ # Set up verbose output if requested
34
+ if verbose
35
+ ENV["MAKIT_VERBOSE"] = "true"
36
+ end
37
+
38
+ # Log setup completion
39
+ if defined?(Makit::Logging)
40
+ Makit::Logging.debug("Makit Rake integration setup completed")
41
+ Makit::Logging.debug("Trace status: #{TraceController.trace_status}")
42
+ end
43
+ end
44
+
45
+ # Get current Rake integration status
46
+ #
47
+ # @return [Hash] integration status
48
+ def status
49
+ {
50
+ trace_controller: TraceController.trace_status,
51
+ verbose: ENV["MAKIT_VERBOSE"] == "true",
52
+ strategy: get_strategy_info,
53
+ }
54
+ end
55
+
56
+ # Check if enhanced tracing is active
57
+ #
58
+ # @return [Boolean] true if enhanced tracing is active
59
+ def tracing_enabled?
60
+ TraceController.should_enhance_trace?
61
+ end
62
+
63
+ private
64
+
65
+ # Get strategy information safely
66
+ #
67
+ # @return [Hash] strategy information
68
+ def get_strategy_info
69
+ begin
70
+ if defined?(Makit::Commands::Runner)
71
+ Makit::Commands::Runner.default.strategy_info
72
+ else
73
+ { error: "Commands::Runner not available" }
74
+ end
75
+ rescue => e
76
+ { error: e.message }
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end