makit 0.0.111 → 0.0.126
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.
- checksums.yaml +4 -4
- data/lib/makit/cli/repository_commands.rb +1 -1
- data/lib/makit/commands/middleware/cache.rb +3 -3
- data/lib/makit/commands/middleware/command_logger.rb +33 -45
- data/lib/makit/commands/request.rb +63 -1
- data/lib/makit/commands/runner.rb +56 -5
- data/lib/makit/commands/strategies/base.rb +13 -2
- data/lib/makit/commands/strategies/synchronous.rb +11 -6
- data/lib/makit/commands.rb +8 -0
- data/lib/makit/configuration/gitlab_helper.rb +0 -2
- data/lib/makit/configuration/project.rb +48 -8
- data/lib/makit/configuration/step.rb +3 -3
- data/lib/makit/content/default_gitignore.txt +226 -0
- data/lib/makit/directories.rb +3 -4
- data/lib/makit/docs/files.rb +1 -1
- data/lib/makit/docs/rake.rb +1 -1
- data/lib/makit/dotnet/cli.rb +69 -65
- data/lib/makit/dotnet/project.rb +71 -7
- data/lib/makit/examples/runner.rb +2 -2
- data/lib/makit/logging/configuration.rb +9 -6
- data/lib/makit/logging/format_registry.rb +84 -84
- data/lib/makit/logging/formatters/console_formatter.rb +22 -9
- data/lib/makit/logging/log_request.rb +6 -2
- data/lib/makit/logging/logger.rb +45 -5
- data/lib/makit/logging/sinks/base.rb +91 -91
- data/lib/makit/logging/sinks/structured.rb +123 -129
- data/lib/makit/logging/sinks/unified_file_sink.rb +39 -46
- data/lib/makit/logging.rb +45 -1
- data/lib/makit/mp/project_mp.rb +6 -6
- data/lib/makit/mp/string_mp.rb +108 -265
- data/lib/makit/serializer.rb +14 -1
- data/lib/makit/services/builder.rb +5 -5
- data/lib/makit/services/repository_manager.rb +8 -6
- data/lib/makit/setup/classlib.rb +44 -7
- data/lib/makit/setup/gem.rb +268 -250
- data/lib/makit/setup/razorclasslib.rb +91 -0
- data/lib/makit/setup/runner.rb +36 -22
- data/lib/makit/setup.rb +5 -0
- data/lib/makit/symbols.rb +10 -1
- data/lib/makit/tasks/at_exit.rb +3 -1
- data/lib/makit/tasks/build.rb +16 -12
- data/lib/makit/tasks/clean.rb +2 -0
- data/lib/makit/tasks/configure.rb +10 -0
- data/lib/makit/tasks/format.rb +10 -0
- data/lib/makit/tasks/hook_manager.rb +160 -8
- data/lib/makit/tasks/init.rb +2 -0
- data/lib/makit/tasks/integrate.rb +17 -3
- data/lib/makit/tasks/pull_incoming.rb +6 -5
- data/lib/makit/tasks/setup.rb +10 -3
- data/lib/makit/tasks/sync.rb +13 -7
- data/lib/makit/tasks/tag.rb +16 -0
- data/lib/makit/tasks/task_monkey_patch.rb +58 -56
- data/lib/makit/tasks/test.rb +22 -0
- data/lib/makit/tasks/update.rb +18 -0
- data/lib/makit/tasks.rb +20 -5
- data/lib/makit/v1/makit.v1_pb.rb +1 -0
- data/lib/makit/version.rb +1 -1
- data/lib/makit/version_util.rb +21 -0
- data/lib/makit copy.rb +44 -0
- data/lib/makit.rb +31 -0
- metadata +118 -13
- data/lib/makit/command_runner.rb +0 -463
- data/lib/makit/commands/compatibility.rb +0 -365
- data/lib/makit/commands/middleware/unified_logger.rb +0 -243
- data/lib/makit/task_hooks.rb +0 -125
data/lib/makit/task_hooks.rb
DELETED
@@ -1,125 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "fileutils"
|
4
|
-
require "rake"
|
5
|
-
|
6
|
-
module Makit
|
7
|
-
# Task hooks for automatic timing, logging, and lifecycle management
|
8
|
-
# This provides optional instrumentation for Rake tasks
|
9
|
-
class TaskHooks
|
10
|
-
class << self
|
11
|
-
attr_reader :enabled, :task_stack, :performance_log
|
12
|
-
|
13
|
-
def initialize!
|
14
|
-
@enabled = false # Start disabled - must be explicitly enabled
|
15
|
-
@task_stack = []
|
16
|
-
@performance_log = "artifacts/task_performance.log"
|
17
|
-
@hooks_installed = false
|
18
|
-
end
|
19
|
-
|
20
|
-
def setup!
|
21
|
-
return if @hooks_installed
|
22
|
-
|
23
|
-
initialize! unless defined?(@enabled)
|
24
|
-
|
25
|
-
Rake::Task.class_eval do
|
26
|
-
alias_method :makit_original_execute, :execute
|
27
|
-
|
28
|
-
def execute(args = nil)
|
29
|
-
if Makit::TaskHooks.enabled?
|
30
|
-
Makit::TaskHooks.before_execute(name, args)
|
31
|
-
result = makit_original_execute(args)
|
32
|
-
Makit::TaskHooks.after_execute(name, args, result)
|
33
|
-
result
|
34
|
-
else
|
35
|
-
makit_original_execute(args)
|
36
|
-
end
|
37
|
-
rescue StandardError => e
|
38
|
-
Makit::TaskHooks.on_error(name, args, e) if Makit::TaskHooks.enabled?
|
39
|
-
raise
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
@hooks_installed = true
|
44
|
-
end
|
45
|
-
|
46
|
-
def enable!
|
47
|
-
initialize! unless defined?(@enabled)
|
48
|
-
@enabled = true
|
49
|
-
puts "🔧 Task timing enabled".colorize(:grey) if defined?(String.instance_method(:colorize))
|
50
|
-
end
|
51
|
-
|
52
|
-
def disable!
|
53
|
-
@enabled = false
|
54
|
-
end
|
55
|
-
|
56
|
-
def enabled?
|
57
|
-
@enabled == true
|
58
|
-
end
|
59
|
-
|
60
|
-
def before_execute(name, _args)
|
61
|
-
return unless enabled?
|
62
|
-
|
63
|
-
@task_stack.push({
|
64
|
-
name: name,
|
65
|
-
start_time: Time.now,
|
66
|
-
level: @task_stack.length,
|
67
|
-
})
|
68
|
-
end
|
69
|
-
|
70
|
-
def after_execute(name, _args, _result)
|
71
|
-
return unless enabled?
|
72
|
-
|
73
|
-
task_info = @task_stack.pop
|
74
|
-
return unless task_info && task_info[:name] == name
|
75
|
-
|
76
|
-
duration = Time.now - task_info[:start_time]
|
77
|
-
log_task_performance(name, duration, task_info[:level]) if duration > 0.1
|
78
|
-
end
|
79
|
-
|
80
|
-
def on_error(name, _args, error)
|
81
|
-
return unless enabled?
|
82
|
-
|
83
|
-
task_info = @task_stack.pop
|
84
|
-
return unless task_info
|
85
|
-
|
86
|
-
duration = Time.now - task_info[:start_time]
|
87
|
-
log_task_failure(name, duration, error, task_info[:level])
|
88
|
-
end
|
89
|
-
|
90
|
-
def clear_performance_logs
|
91
|
-
FileUtils.rm_f(@performance_log)
|
92
|
-
FileUtils.rm_f("artifacts/task_failures.log")
|
93
|
-
end
|
94
|
-
|
95
|
-
private
|
96
|
-
|
97
|
-
def log_task_performance(name, duration, level)
|
98
|
-
return if ENV["CI"] == "true" && duration < 1.0
|
99
|
-
|
100
|
-
FileUtils.mkdir_p("artifacts")
|
101
|
-
File.open(@performance_log, "a") do |f|
|
102
|
-
f.puts "#{Time.now.strftime("%Y-%m-%d %H:%M:%S")},#{name},#{duration.round(4)},#{level}"
|
103
|
-
end
|
104
|
-
rescue StandardError
|
105
|
-
# Silently fail performance logging to not interrupt tasks
|
106
|
-
end
|
107
|
-
|
108
|
-
def log_task_failure(name, duration, error, _level)
|
109
|
-
failure_log = "artifacts/task_failures.log"
|
110
|
-
FileUtils.mkdir_p("artifacts")
|
111
|
-
|
112
|
-
File.open(failure_log, "a") do |f|
|
113
|
-
timestamp = Time.now.strftime("%Y-%m-%d %H:%M:%S")
|
114
|
-
message = error.message.gsub(",", ";")
|
115
|
-
f.puts "#{timestamp},#{name},#{duration.round(4)},#{error.class.name},#{message}"
|
116
|
-
end
|
117
|
-
rescue StandardError
|
118
|
-
# Silently fail error logging
|
119
|
-
end
|
120
|
-
end
|
121
|
-
|
122
|
-
# Initialize when loaded
|
123
|
-
initialize!
|
124
|
-
end
|
125
|
-
end
|