makit 0.0.140 → 0.0.141

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 (153) 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/cli/build_commands.rb +500 -500
  7. data/lib/makit/cli/generators/base_generator.rb +74 -74
  8. data/lib/makit/cli/generators/dotnet_generator.rb +50 -50
  9. data/lib/makit/cli/generators/generator_factory.rb +49 -49
  10. data/lib/makit/cli/generators/node_generator.rb +50 -50
  11. data/lib/makit/cli/generators/ruby_generator.rb +77 -77
  12. data/lib/makit/cli/generators/rust_generator.rb +50 -50
  13. data/lib/makit/cli/generators/templates/dotnet_templates.rb +167 -167
  14. data/lib/makit/cli/generators/templates/node_templates.rb +161 -161
  15. data/lib/makit/cli/generators/templates/ruby/gemfile.rb +26 -26
  16. data/lib/makit/cli/generators/templates/ruby/gemspec.rb +40 -40
  17. data/lib/makit/cli/generators/templates/ruby/main_lib.rb +33 -33
  18. data/lib/makit/cli/generators/templates/ruby/rakefile.rb +35 -35
  19. data/lib/makit/cli/generators/templates/ruby/readme.rb +63 -63
  20. data/lib/makit/cli/generators/templates/ruby/test.rb +39 -39
  21. data/lib/makit/cli/generators/templates/ruby/test_helper.rb +29 -29
  22. data/lib/makit/cli/generators/templates/ruby/version.rb +29 -29
  23. data/lib/makit/cli/generators/templates/rust_templates.rb +128 -128
  24. data/lib/makit/cli/main.rb +69 -69
  25. data/lib/makit/cli/project_commands.rb +868 -868
  26. data/lib/makit/cli/repository_commands.rb +661 -661
  27. data/lib/makit/cli/strategy_commands.rb +203 -203
  28. data/lib/makit/cli/utility_commands.rb +521 -521
  29. data/lib/makit/commands/factory.rb +359 -359
  30. data/lib/makit/commands/middleware/base.rb +73 -73
  31. data/lib/makit/commands/middleware/cache.rb +248 -248
  32. data/lib/makit/commands/middleware/command_logger.rb +312 -312
  33. data/lib/makit/commands/middleware/validator.rb +269 -269
  34. data/lib/makit/commands/request.rb +316 -316
  35. data/lib/makit/commands/result.rb +323 -323
  36. data/lib/makit/commands/runner.rb +388 -385
  37. data/lib/makit/commands/strategies/base.rb +171 -171
  38. data/lib/makit/commands/strategies/child_process.rb +165 -165
  39. data/lib/makit/commands/strategies/factory.rb +136 -136
  40. data/lib/makit/commands/strategies/synchronous.rb +139 -139
  41. data/lib/makit/commands.rb +50 -50
  42. data/lib/makit/configuration/dotnet_project.rb +12 -12
  43. data/lib/makit/configuration/gitlab_helper.rb +58 -58
  44. data/lib/makit/configuration/project.rb +168 -168
  45. data/lib/makit/configuration/rakefile_helper.rb +43 -43
  46. data/lib/makit/configuration/step.rb +34 -34
  47. data/lib/makit/configuration/timeout.rb +74 -74
  48. data/lib/makit/configuration.rb +15 -15
  49. data/lib/makit/content/default_gitignore.rb +7 -7
  50. data/lib/makit/content/default_gitignore.txt +225 -225
  51. data/lib/makit/content/default_rakefile.rb +13 -13
  52. data/lib/makit/content/gem_rakefile.rb +16 -16
  53. data/lib/makit/context.rb +1 -1
  54. data/lib/makit/data.rb +49 -49
  55. data/lib/makit/directories.rb +140 -140
  56. data/lib/makit/directory.rb +262 -262
  57. data/lib/makit/docs/files.rb +89 -89
  58. data/lib/makit/docs/rake.rb +102 -102
  59. data/lib/makit/dotnet/cli.rb +69 -69
  60. data/lib/makit/dotnet/project.rb +217 -217
  61. data/lib/makit/dotnet/solution.rb +38 -38
  62. data/lib/makit/dotnet/solution_classlib.rb +239 -239
  63. data/lib/makit/dotnet/solution_console.rb +264 -264
  64. data/lib/makit/dotnet/solution_maui.rb +354 -354
  65. data/lib/makit/dotnet/solution_wasm.rb +275 -275
  66. data/lib/makit/dotnet/solution_wpf.rb +304 -304
  67. data/lib/makit/dotnet.rb +102 -102
  68. data/lib/makit/email.rb +90 -90
  69. data/lib/makit/environment.rb +142 -142
  70. data/lib/makit/examples/runner.rb +370 -370
  71. data/lib/makit/exceptions.rb +45 -45
  72. data/lib/makit/fileinfo.rb +24 -24
  73. data/lib/makit/files.rb +43 -43
  74. data/lib/makit/gems.rb +40 -40
  75. data/lib/makit/git/cli.rb +54 -54
  76. data/lib/makit/git/repository.rb +90 -90
  77. data/lib/makit/git.rb +98 -98
  78. data/lib/makit/gitlab_runner.rb +59 -59
  79. data/lib/makit/humanize.rb +137 -137
  80. data/lib/makit/indexer.rb +47 -47
  81. data/lib/makit/logging/configuration.rb +308 -308
  82. data/lib/makit/logging/format_registry.rb +84 -84
  83. data/lib/makit/logging/formatters/base.rb +39 -39
  84. data/lib/makit/logging/formatters/console_formatter.rb +140 -140
  85. data/lib/makit/logging/formatters/json_formatter.rb +65 -65
  86. data/lib/makit/logging/formatters/plain_text_formatter.rb +71 -71
  87. data/lib/makit/logging/formatters/text_formatter.rb +64 -64
  88. data/lib/makit/logging/log_request.rb +119 -119
  89. data/lib/makit/logging/logger.rb +199 -199
  90. data/lib/makit/logging/sinks/base.rb +91 -91
  91. data/lib/makit/logging/sinks/console.rb +72 -72
  92. data/lib/makit/logging/sinks/file_sink.rb +92 -92
  93. data/lib/makit/logging/sinks/structured.rb +123 -123
  94. data/lib/makit/logging/sinks/unified_file_sink.rb +296 -296
  95. data/lib/makit/logging.rb +565 -565
  96. data/lib/makit/markdown.rb +75 -75
  97. data/lib/makit/mp/basic_object_mp.rb +17 -17
  98. data/lib/makit/mp/command_mp.rb +13 -13
  99. data/lib/makit/mp/command_request.mp.rb +17 -17
  100. data/lib/makit/mp/project_mp.rb +199 -199
  101. data/lib/makit/mp/string_mp.rb +199 -191
  102. data/lib/makit/nuget.rb +74 -74
  103. data/lib/makit/port.rb +32 -32
  104. data/lib/makit/process.rb +163 -163
  105. data/lib/makit/protoc.rb +107 -107
  106. data/lib/makit/rake/cli.rb +196 -196
  107. data/lib/makit/rake/trace_controller.rb +173 -173
  108. data/lib/makit/rake.rb +80 -80
  109. data/lib/makit/ruby/cli.rb +185 -185
  110. data/lib/makit/ruby.rb +25 -25
  111. data/lib/makit/secrets.rb +51 -51
  112. data/lib/makit/serializer.rb +130 -130
  113. data/lib/makit/services/builder.rb +186 -186
  114. data/lib/makit/services/error_handler.rb +226 -226
  115. data/lib/makit/services/repository_manager.rb +231 -231
  116. data/lib/makit/services/validator.rb +112 -112
  117. data/lib/makit/setup/classlib.rb +101 -101
  118. data/lib/makit/setup/gem.rb +268 -268
  119. data/lib/makit/setup/razorclasslib.rb +101 -101
  120. data/lib/makit/setup/runner.rb +54 -54
  121. data/lib/makit/setup.rb +5 -5
  122. data/lib/makit/show.rb +110 -110
  123. data/lib/makit/storage.rb +126 -126
  124. data/lib/makit/symbols.rb +170 -170
  125. data/lib/makit/task_info.rb +130 -130
  126. data/lib/makit/tasks/at_exit.rb +15 -15
  127. data/lib/makit/tasks/build.rb +22 -22
  128. data/lib/makit/tasks/clean.rb +13 -13
  129. data/lib/makit/tasks/configure.rb +10 -10
  130. data/lib/makit/tasks/format.rb +10 -10
  131. data/lib/makit/tasks/hook_manager.rb +443 -443
  132. data/lib/makit/tasks/init.rb +49 -49
  133. data/lib/makit/tasks/integrate.rb +29 -29
  134. data/lib/makit/tasks/pull_incoming.rb +13 -13
  135. data/lib/makit/tasks/setup.rb +13 -13
  136. data/lib/makit/tasks/sync.rb +17 -17
  137. data/lib/makit/tasks/tag.rb +16 -16
  138. data/lib/makit/tasks/task_monkey_patch.rb +81 -81
  139. data/lib/makit/tasks/test.rb +22 -22
  140. data/lib/makit/tasks/update.rb +18 -18
  141. data/lib/makit/tasks.rb +20 -20
  142. data/lib/makit/test_cache.rb +239 -239
  143. data/lib/makit/tree.rb +37 -37
  144. data/lib/makit/v1/makit.v1_pb.rb +35 -35
  145. data/lib/makit/v1/makit.v1_services_pb.rb +27 -27
  146. data/lib/makit/version.rb +99 -99
  147. data/lib/makit/version_util.rb +21 -21
  148. data/lib/makit/wix.rb +95 -95
  149. data/lib/makit/yaml.rb +29 -29
  150. data/lib/makit/zip.rb +17 -17
  151. data/lib/makit copy.rb +44 -44
  152. data/lib/makit.rb +42 -42
  153. 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
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
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
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
81
  end