makit 0.0.164 → 0.0.166

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 (178) 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 +139 -0
  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/gitlab/pipeline.rb +857 -857
  84. data/lib/makit/gitlab/pipeline_service_impl.rb +1535 -1535
  85. data/lib/makit/gitlab_runner.rb +59 -59
  86. data/lib/makit/humanize.rb +218 -218
  87. data/lib/makit/indexer.rb +47 -47
  88. data/lib/makit/io/filesystem.rb +111 -111
  89. data/lib/makit/io/filesystem_service_impl.rb +337 -337
  90. data/lib/makit/lint.rb +212 -212
  91. data/lib/makit/logging/configuration.rb +309 -309
  92. data/lib/makit/logging/format_registry.rb +84 -84
  93. data/lib/makit/logging/formatters/base.rb +39 -39
  94. data/lib/makit/logging/formatters/console_formatter.rb +140 -140
  95. data/lib/makit/logging/formatters/json_formatter.rb +65 -65
  96. data/lib/makit/logging/formatters/plain_text_formatter.rb +71 -71
  97. data/lib/makit/logging/formatters/text_formatter.rb +64 -64
  98. data/lib/makit/logging/log_request.rb +119 -119
  99. data/lib/makit/logging/logger.rb +199 -199
  100. data/lib/makit/logging/sinks/base.rb +91 -91
  101. data/lib/makit/logging/sinks/console.rb +72 -72
  102. data/lib/makit/logging/sinks/file_sink.rb +92 -92
  103. data/lib/makit/logging/sinks/structured.rb +123 -123
  104. data/lib/makit/logging/sinks/unified_file_sink.rb +296 -296
  105. data/lib/makit/logging.rb +578 -578
  106. data/lib/makit/markdown.rb +75 -75
  107. data/lib/makit/mp/basic_object_mp.rb +17 -17
  108. data/lib/makit/mp/command_mp.rb +13 -13
  109. data/lib/makit/mp/command_request.mp.rb +17 -17
  110. data/lib/makit/mp/project_mp.rb +199 -199
  111. data/lib/makit/mp/string_mp.rb +205 -205
  112. data/lib/makit/nuget.rb +454 -454
  113. data/lib/makit/podman/podman.rb +458 -458
  114. data/lib/makit/podman/podman_service_impl.rb +1081 -1081
  115. data/lib/makit/port.rb +32 -32
  116. data/lib/makit/process.rb +377 -377
  117. data/lib/makit/protoc.rb +112 -112
  118. data/lib/makit/rake/cli.rb +196 -196
  119. data/lib/makit/rake/trace_controller.rb +174 -174
  120. data/lib/makit/rake.rb +81 -81
  121. data/lib/makit/ruby/cli.rb +185 -185
  122. data/lib/makit/ruby.rb +25 -25
  123. data/lib/makit/rubygems.rb +137 -137
  124. data/lib/makit/secrets/azure_key_vault.rb +322 -322
  125. data/lib/makit/secrets/azure_secrets.rb +221 -183
  126. data/lib/makit/secrets/local_secrets.rb +72 -72
  127. data/lib/makit/secrets/secrets_manager.rb +105 -105
  128. data/lib/makit/secrets.rb +96 -16
  129. data/lib/makit/serializer.rb +130 -130
  130. data/lib/makit/services/builder.rb +186 -186
  131. data/lib/makit/services/error_handler.rb +226 -226
  132. data/lib/makit/services/repository_manager.rb +367 -367
  133. data/lib/makit/services/validator.rb +112 -112
  134. data/lib/makit/setup/classlib.rb +101 -101
  135. data/lib/makit/setup/gem.rb +268 -268
  136. data/lib/makit/setup/pages.rb +11 -11
  137. data/lib/makit/setup/razorclasslib.rb +101 -101
  138. data/lib/makit/setup/runner.rb +54 -54
  139. data/lib/makit/setup.rb +5 -5
  140. data/lib/makit/show.rb +110 -110
  141. data/lib/makit/storage.rb +126 -126
  142. data/lib/makit/symbols.rb +175 -175
  143. data/lib/makit/task_info.rb +130 -130
  144. data/lib/makit/tasks/at_exit.rb +15 -15
  145. data/lib/makit/tasks/build.rb +22 -22
  146. data/lib/makit/tasks/bump.rb +7 -7
  147. data/lib/makit/tasks/clean.rb +13 -13
  148. data/lib/makit/tasks/configure.rb +10 -10
  149. data/lib/makit/tasks/format.rb +10 -10
  150. data/lib/makit/tasks/hook_manager.rb +443 -443
  151. data/lib/makit/tasks/info.rb +368 -368
  152. data/lib/makit/tasks/init.rb +49 -49
  153. data/lib/makit/tasks/integrate.rb +60 -60
  154. data/lib/makit/tasks/pull_incoming.rb +13 -13
  155. data/lib/makit/tasks/secrets.rb +7 -7
  156. data/lib/makit/tasks/setup.rb +16 -16
  157. data/lib/makit/tasks/sync.rb +14 -14
  158. data/lib/makit/tasks/tag.rb +27 -27
  159. data/lib/makit/tasks/task_monkey_patch.rb +81 -81
  160. data/lib/makit/tasks/test.rb +22 -22
  161. data/lib/makit/tasks/update.rb +21 -21
  162. data/lib/makit/tasks/version.rb +6 -6
  163. data/lib/makit/tasks.rb +24 -24
  164. data/lib/makit/test_cache.rb +239 -239
  165. data/lib/makit/tree.rb +37 -37
  166. data/lib/makit/v1/configuration/project_service_impl.rb +370 -370
  167. data/lib/makit/v1/git/git_repository_service_impl.rb +295 -295
  168. data/lib/makit/v1/makit.v1_pb.rb +35 -35
  169. data/lib/makit/v1/makit.v1_services_pb.rb +27 -27
  170. data/lib/makit/v1/services/repository_manager_service_impl.rb +572 -572
  171. data/lib/makit/version.rb +661 -661
  172. data/lib/makit/version_util.rb +21 -21
  173. data/lib/makit/wix.rb +95 -95
  174. data/lib/makit/yaml.rb +29 -29
  175. data/lib/makit/zip.rb +17 -17
  176. data/lib/makit copy.rb +44 -44
  177. data/lib/makit.rb +120 -119
  178. metadata +3 -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