makit 0.0.167 → 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 -0
  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 -454
  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 -120
  179. metadata +3 -2
@@ -1,49 +1,49 @@
1
- # frozen_string_literal: true
2
-
3
- Rake.application.top_level_tasks.unshift("init")
4
-
5
- task :init do
6
- puts "-" * 80
7
- humanized_timestamp = Makit::Humanize.get_humanized_timestamp(Time.now)
8
- # log the rake + arguments, as it would be invoke at the console.
9
- # for instance: rake -T
10
- # or: rake
11
- # or: rake clean
12
- # or: rake LOG_LEVEL=debug
13
- command = "rake #{ARGV.join(" ")}"
14
- message = "#{command} (#{humanized_timestamp})"
15
-
16
- # Create filename-friendly version of rake command
17
- rake_name = command.gsub(/[^a-zA-Z0-9\-_]/, "_").gsub(/_+/, "_").gsub(/^_|_$/, "")
18
-
19
- # Get the default logger and add custom file logging sinks
20
- log = Makit::Logging.default_logger
21
-
22
- # Add structured JSON and simple text logging sinks to the default logger
23
- additional_sinks = [
24
- Makit::Logging::Sinks::UnifiedFileSink.new(
25
- configurations: [
26
- # Structured JSON logging
27
- {
28
- file: "artifacts/#{rake_name}.json",
29
- format: :json,
30
- append: true,
31
- include_metadata: true,
32
- },
33
- # Simple text logging with rendered context
34
- {
35
- file: "artifacts/#{rake_name}.txt",
36
- format: :plain,
37
- append: true,
38
- include_context: true,
39
- },
40
- ],
41
- ),
42
- ]
43
-
44
- # Add the additional sinks to the default logger
45
- log.sinks.concat(additional_sinks)
46
-
47
- # Log with the enhanced default logger
48
- log.info(message)
49
- end
1
+ # frozen_string_literal: true
2
+
3
+ Rake.application.top_level_tasks.unshift("init")
4
+
5
+ task :init do
6
+ puts "-" * 80
7
+ humanized_timestamp = Makit::Humanize.get_humanized_timestamp(Time.now)
8
+ # log the rake + arguments, as it would be invoke at the console.
9
+ # for instance: rake -T
10
+ # or: rake
11
+ # or: rake clean
12
+ # or: rake LOG_LEVEL=debug
13
+ command = "rake #{ARGV.join(" ")}"
14
+ message = "#{command} (#{humanized_timestamp})"
15
+
16
+ # Create filename-friendly version of rake command
17
+ rake_name = command.gsub(/[^a-zA-Z0-9\-_]/, "_").gsub(/_+/, "_").gsub(/^_|_$/, "")
18
+
19
+ # Get the default logger and add custom file logging sinks
20
+ log = Makit::Logging.default_logger
21
+
22
+ # Add structured JSON and simple text logging sinks to the default logger
23
+ additional_sinks = [
24
+ Makit::Logging::Sinks::UnifiedFileSink.new(
25
+ configurations: [
26
+ # Structured JSON logging
27
+ {
28
+ file: "artifacts/#{rake_name}.json",
29
+ format: :json,
30
+ append: true,
31
+ include_metadata: true,
32
+ },
33
+ # Simple text logging with rendered context
34
+ {
35
+ file: "artifacts/#{rake_name}.txt",
36
+ format: :plain,
37
+ append: true,
38
+ include_context: true,
39
+ },
40
+ ],
41
+ ),
42
+ ]
43
+
44
+ # Add the additional sinks to the default logger
45
+ log.sinks.concat(additional_sinks)
46
+
47
+ # Log with the enhanced default logger
48
+ log.info(message)
49
+ end
@@ -1,60 +1,60 @@
1
- # frozen_string_literal: true
2
-
3
- require "open3"
4
- require_relative "../git/repository"
5
-
6
- if Dir.exist?(".git")
7
- desc "Integrate changes into the git repository (only runs on default branch)."
8
- task :integrate do
9
- Makit::Logging.default_logger.task_start("integrate")
10
-
11
- # Check if we're on the default branch
12
- current_branch = Makit::Git.branch
13
- if current_branch.nil? || current_branch.empty?
14
- Makit::Logging.default_logger.info("Skipping integrate: cannot determine current branch")
15
- next
16
- end
17
-
18
- # Get default branch from remote (Windows-safe: use Open3 for proper error handling)
19
- default_branch = nil
20
- begin
21
- default_branch_output, _stderr, status = Open3.capture3('git', 'symbolic-ref', 'refs/remotes/origin/HEAD')
22
- if status.success? && default_branch_output && !default_branch_output.strip.empty?
23
- default_branch = default_branch_output.strip.sub('refs/remotes/origin/', '')
24
- end
25
- rescue
26
- # If we can't determine default branch, assume it's 'main'
27
- default_branch = 'main'
28
- end
29
-
30
- # Fallback to 'main' if default_branch is still nil
31
- default_branch ||= 'main'
32
-
33
- # Skip if not on default branch
34
- if current_branch != default_branch
35
- Makit::Logging.default_logger.info("Skipping integrate: not on default branch (current: #{current_branch}, default: #{default_branch || 'unknown'})")
36
- next
37
- end
38
-
39
- # Proceed with integration
40
- unstaged_files = Makit::Git::Repository.unstaged_files
41
- untracked_files = Makit::Git::Repository.untracked_files
42
- if unstaged_files.length.positive? || untracked_files.length.positive?
43
- #Makit::Git::CLI.integrate
44
- #return unless Repository.git_repo? && !Repository.detached
45
-
46
- ## check for unstaged or untracked files
47
- # unstaged_files = `git status --porcelain`.split("\n")
48
- # untracked_files = `git ls-files --others --exclude-standard`.split("\n")
49
- # return unless unstaged_files.length.positive? || untracked_files.length.positive?
50
-
51
- "git add .".try
52
- "git commit -m \"integrate\"".run unless Makit::Git::Repository.clean?
53
- else
54
- Makit::Logging.default_logger.info("No unstaged or untracked files found")
55
- # puts " No unstaged or untracked files found".colorize(:grey)
56
- end
57
- end
58
- else
59
- Makit::Logging.default_logger.debug("Not a git repository, skipping integrate")
60
- end
1
+ # frozen_string_literal: true
2
+
3
+ require "open3"
4
+ require_relative "../git/repository"
5
+
6
+ if Dir.exist?(".git")
7
+ desc "Integrate changes into the git repository (only runs on default branch)."
8
+ task :integrate do
9
+ Makit::Logging.default_logger.task_start("integrate")
10
+
11
+ # Check if we're on the default branch
12
+ current_branch = Makit::Git.branch
13
+ if current_branch.nil? || current_branch.empty?
14
+ Makit::Logging.default_logger.info("Skipping integrate: cannot determine current branch")
15
+ next
16
+ end
17
+
18
+ # Get default branch from remote (Windows-safe: use Open3 for proper error handling)
19
+ default_branch = nil
20
+ begin
21
+ default_branch_output, _stderr, status = Open3.capture3('git', 'symbolic-ref', 'refs/remotes/origin/HEAD')
22
+ if status.success? && default_branch_output && !default_branch_output.strip.empty?
23
+ default_branch = default_branch_output.strip.sub('refs/remotes/origin/', '')
24
+ end
25
+ rescue
26
+ # If we can't determine default branch, assume it's 'main'
27
+ default_branch = 'main'
28
+ end
29
+
30
+ # Fallback to 'main' if default_branch is still nil
31
+ default_branch ||= 'main'
32
+
33
+ # Skip if not on default branch
34
+ if current_branch != default_branch
35
+ Makit::Logging.default_logger.info("Skipping integrate: not on default branch (current: #{current_branch}, default: #{default_branch || 'unknown'})")
36
+ next
37
+ end
38
+
39
+ # Proceed with integration
40
+ unstaged_files = Makit::Git::Repository.unstaged_files
41
+ untracked_files = Makit::Git::Repository.untracked_files
42
+ if unstaged_files.length.positive? || untracked_files.length.positive?
43
+ #Makit::Git::CLI.integrate
44
+ #return unless Repository.git_repo? && !Repository.detached
45
+
46
+ ## check for unstaged or untracked files
47
+ # unstaged_files = `git status --porcelain`.split("\n")
48
+ # untracked_files = `git ls-files --others --exclude-standard`.split("\n")
49
+ # return unless unstaged_files.length.positive? || untracked_files.length.positive?
50
+
51
+ "git add .".try
52
+ "git commit -m \"integrate\"".run unless Makit::Git::Repository.clean?
53
+ else
54
+ Makit::Logging.default_logger.info("No unstaged or untracked files found")
55
+ # puts " No unstaged or untracked files found".colorize(:grey)
56
+ end
57
+ end
58
+ else
59
+ Makit::Logging.default_logger.debug("Not a git repository, skipping integrate")
60
+ end
@@ -1,13 +1,13 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../git/repository"
4
-
5
- if Makit::Git::Repository.git_repo?
6
- desc "pull changes from the remote branch, preferring incoming changes for conflicts"
7
- task :pull_incoming do
8
- Makit::Logging.default_logger.task_start("pull_incoming")
9
- # Makit::SHOW.task(:pull_incoming)
10
- puts " git branch is ".colorize(:grey) + Makit::Git::Repository.branch.to_s.colorize(:green)
11
- "git pull origin #{Makit::Git::Repository.branch} -X theirs".try
12
- end
13
- end
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../git/repository"
4
+
5
+ if Makit::Git::Repository.git_repo?
6
+ desc "pull changes from the remote branch, preferring incoming changes for conflicts"
7
+ task :pull_incoming do
8
+ Makit::Logging.default_logger.task_start("pull_incoming")
9
+ # Makit::SHOW.task(:pull_incoming)
10
+ puts " git branch is ".colorize(:grey) + Makit::Git::Repository.branch.to_s.colorize(:green)
11
+ "git pull origin #{Makit::Git::Repository.branch} -X theirs".try
12
+ end
13
+ end
@@ -1,7 +1,7 @@
1
- # frozen_string_literal: true
2
-
3
- desc "Display a list of available secret names"
4
- task :secrets do
5
- Makit::Secrets.new.info
6
- end
7
-
1
+ # frozen_string_literal: true
2
+
3
+ desc "Display a list of available secret names"
4
+ task :secrets do
5
+ Makit::Secrets.new.info
6
+ end
7
+
@@ -1,16 +1,16 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../setup/runner"
4
-
5
- desc "Setup project files.."
6
- task :setup do
7
- Makit::Logging.default_logger.task_start("setup")
8
-
9
- # if a .git directory exists, then make sure we have a .gitignore
10
- if File.exist?(".git")
11
- if !File.exist?(".gitignore")
12
- File.write(".gitignore", Makit::Content::GITIGNORE)
13
- end
14
- end
15
- Makit::Setup::Runner.run
16
- end
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../setup/runner"
4
+
5
+ desc "Setup project files.."
6
+ task :setup do
7
+ Makit::Logging.default_logger.task_start("setup")
8
+
9
+ # if a .git directory exists, then make sure we have a .gitignore
10
+ if File.exist?(".git")
11
+ if !File.exist?(".gitignore")
12
+ File.write(".gitignore", Makit::Content::GITIGNORE)
13
+ end
14
+ end
15
+ Makit::Setup::Runner.run
16
+ end
@@ -1,14 +1,14 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../git/cli"
4
-
5
- if Dir.exist?(".git")
6
- desc "Sync changes with the git repository."
7
- task :sync do
8
- Makit::Logging.default_logger.task_start("sync")
9
- # Makit::SHOW.task(:sync)
10
- Makit::Git::CLI.sync
11
- end
12
- else
13
- Makit::Logging.default_logger.debug("Not a git repository, skipping sync")
14
- end
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../git/cli"
4
+
5
+ if Dir.exist?(".git")
6
+ desc "Sync changes with the git repository."
7
+ task :sync do
8
+ Makit::Logging.default_logger.task_start("sync")
9
+ # Makit::SHOW.task(:sync)
10
+ Makit::Git::CLI.sync
11
+ end
12
+ else
13
+ Makit::Logging.default_logger.debug("Not a git repository, skipping sync")
14
+ end
@@ -1,27 +1,27 @@
1
- # frozen_string_literal: true
2
-
3
- if Dir.exist?(".git")
4
- desc "tag the current version"
5
- task :tag do
6
- # Get version: use VERSION constant if defined, otherwise use Makit::Version.version
7
- version = if defined?(VERSION) && !VERSION.nil?
8
- VERSION
9
- else
10
- begin
11
- Makit::Version.version
12
- rescue => e
13
- puts " Could not determine version: #{e.message}".colorize(:red)
14
- return
15
- end
16
- end
17
-
18
- if version.nil? || version.to_s.strip.empty?
19
- puts " Version is empty or not found".colorize(:red)
20
- return
21
- end
22
-
23
- Makit::Git::CLI.tag(version)
24
- end
25
- else
26
- Makit::Logging.default_logger.debug("Not a git repository, skipping tag")
27
- end
1
+ # frozen_string_literal: true
2
+
3
+ if Dir.exist?(".git")
4
+ desc "tag the current version"
5
+ task :tag do
6
+ # Get version: use VERSION constant if defined, otherwise use Makit::Version.version
7
+ version = if defined?(VERSION) && !VERSION.nil?
8
+ VERSION
9
+ else
10
+ begin
11
+ Makit::Version.version
12
+ rescue => e
13
+ puts " Could not determine version: #{e.message}".colorize(:red)
14
+ return
15
+ end
16
+ end
17
+
18
+ if version.nil? || version.to_s.strip.empty?
19
+ puts " Version is empty or not found".colorize(:red)
20
+ return
21
+ end
22
+
23
+ Makit::Git::CLI.tag(version)
24
+ end
25
+ else
26
+ Makit::Logging.default_logger.debug("Not a git repository, skipping tag")
27
+ end
@@ -1,81 +1,81 @@
1
- # frozen_string_literal: true
2
-
3
- # Monkey patch for Rake::Task to add hook support
4
- #
5
- # This module patches Rake::Task to automatically execute pre and post hooks
6
- # for all task invocations. It preserves the original behavior while adding
7
- # the hook functionality.
8
- #
9
- # @note This file should be required after the HookManager class is defined
10
- require_relative "hook_manager"
11
-
12
- # Monkey patch Rake::Task to add hook support
13
- module Rake
14
- class Task
15
- # Store original methods before patching
16
- alias original_invoke invoke
17
- alias original_execute execute
18
-
19
- # Enhanced invoke method with hook support
20
- #
21
- # This method wraps the original invoke method to execute pre and post hooks
22
- # around task execution. It handles errors gracefully and ensures hooks are
23
- # always executed even if the task fails.
24
- #
25
- # @param args [Array] arguments passed to the task
26
- # @return [Object] the result of the task execution
27
- def invoke(*args)
28
- start_time = Time.now
29
- result = nil
30
- error = nil
31
-
32
- begin
33
- # Execute pre-task hooks
34
- Makit::Tasks::HookManager.execute_pre_hooks(name)
35
-
36
- # Execute the original task
37
- result = original_invoke(*args)
38
- rescue StandardError => e
39
- error = e
40
- raise
41
- ensure
42
- # Execute post-task hooks (always runs, even on error)
43
- duration = Time.now - start_time
44
- Makit::Tasks::HookManager.execute_post_hooks(name, duration, result, error)
45
- end
46
-
47
- result
48
- end
49
-
50
- # Enhanced execute method with hook support
51
- #
52
- # This method wraps the original execute method to execute pre and post hooks
53
- # around task execution. It handles errors gracefully and ensures hooks are
54
- # always executed even if the task fails.
55
- #
56
- # @param args [Array] arguments passed to the task
57
- # @return [Object] the result of the task execution
58
- def execute(*args)
59
- start_time = Time.now
60
- result = nil
61
- error = nil
62
-
63
- begin
64
- # Execute pre-task hooks
65
- Makit::Tasks::HookManager.execute_pre_hooks(name)
66
-
67
- # Execute the original task
68
- result = original_execute(*args)
69
- rescue StandardError => e
70
- error = e
71
- raise
72
- ensure
73
- # Execute post-task hooks (always runs, even on error)
74
- duration = Time.now - start_time
75
- Makit::Tasks::HookManager.execute_post_hooks(name, duration, result, error)
76
- end
77
-
78
- result
79
- end
80
- end
81
- end
1
+ # frozen_string_literal: true
2
+
3
+ # Monkey patch for Rake::Task to add hook support
4
+ #
5
+ # This module patches Rake::Task to automatically execute pre and post hooks
6
+ # for all task invocations. It preserves the original behavior while adding
7
+ # the hook functionality.
8
+ #
9
+ # @note This file should be required after the HookManager class is defined
10
+ require_relative "hook_manager"
11
+
12
+ # Monkey patch Rake::Task to add hook support
13
+ module Rake
14
+ class Task
15
+ # Store original methods before patching
16
+ alias original_invoke invoke
17
+ alias original_execute execute
18
+
19
+ # Enhanced invoke method with hook support
20
+ #
21
+ # This method wraps the original invoke method to execute pre and post hooks
22
+ # around task execution. It handles errors gracefully and ensures hooks are
23
+ # always executed even if the task fails.
24
+ #
25
+ # @param args [Array] arguments passed to the task
26
+ # @return [Object] the result of the task execution
27
+ def invoke(*args)
28
+ start_time = Time.now
29
+ result = nil
30
+ error = nil
31
+
32
+ begin
33
+ # Execute pre-task hooks
34
+ Makit::Tasks::HookManager.execute_pre_hooks(name)
35
+
36
+ # Execute the original task
37
+ result = original_invoke(*args)
38
+ rescue StandardError => e
39
+ error = e
40
+ raise
41
+ ensure
42
+ # Execute post-task hooks (always runs, even on error)
43
+ duration = Time.now - start_time
44
+ Makit::Tasks::HookManager.execute_post_hooks(name, duration, result, error)
45
+ end
46
+
47
+ result
48
+ end
49
+
50
+ # Enhanced execute method with hook support
51
+ #
52
+ # This method wraps the original execute method to execute pre and post hooks
53
+ # around task execution. It handles errors gracefully and ensures hooks are
54
+ # always executed even if the task fails.
55
+ #
56
+ # @param args [Array] arguments passed to the task
57
+ # @return [Object] the result of the task execution
58
+ def execute(*args)
59
+ start_time = Time.now
60
+ result = nil
61
+ error = nil
62
+
63
+ begin
64
+ # Execute pre-task hooks
65
+ Makit::Tasks::HookManager.execute_pre_hooks(name)
66
+
67
+ # Execute the original task
68
+ result = original_execute(*args)
69
+ rescue StandardError => e
70
+ error = e
71
+ raise
72
+ ensure
73
+ # Execute post-task hooks (always runs, even on error)
74
+ duration = Time.now - start_time
75
+ Makit::Tasks::HookManager.execute_post_hooks(name, duration, result, error)
76
+ end
77
+
78
+ result
79
+ end
80
+ end
81
+ end
@@ -1,22 +1,22 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../setup/runner"
4
-
5
- if File.exist?(".makit.json")
6
- desc "Test project artifacts.."
7
- task :test do
8
- Makit::Logging.default_logger.task_start("test")
9
- # load the default project configuration
10
- # puts "loading project configuration"
11
- project = Makit::Configuration::Project.default
12
-
13
- # if the project has a build step, run the commands
14
- test_step = project.steps.find { |step| step.name == "test" }
15
- test_step&.commands&.each do |command|
16
- request = Makit::Commands::Request.from_string(command)
17
- Makit::Commands::Runner.default.execute(request)
18
- end
19
- end
20
- else
21
- Makit::Logging.default_logger.debug("Project not configured, skipping setup task definition")
22
- end
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../setup/runner"
4
+
5
+ if File.exist?(".makit.json")
6
+ desc "Test project artifacts.."
7
+ task :test do
8
+ Makit::Logging.default_logger.task_start("test")
9
+ # load the default project configuration
10
+ # puts "loading project configuration"
11
+ project = Makit::Configuration::Project.default
12
+
13
+ # if the project has a build step, run the commands
14
+ test_step = project.steps.find { |step| step.name == "test" }
15
+ test_step&.commands&.each do |command|
16
+ request = Makit::Commands::Request.from_string(command)
17
+ Makit::Commands::Runner.default.execute(request)
18
+ end
19
+ end
20
+ else
21
+ Makit::Logging.default_logger.debug("Project not configured, skipping setup task definition")
22
+ end
@@ -1,21 +1,21 @@
1
- # frozen_string_literal: true
2
-
3
- desc "Update project dependencies"
4
- task :update do
5
- "bundle update".run if File.exist?("Gemfile")
6
- # are there any *.sln files?
7
- Dir.glob("**/*.sln").each do |sln_file|
8
- "dotnet sln migrate #{sln_file}".run
9
- #FileUtils.rm_f(sln_file) if File.exist?(sln_file.gsub(".sln", ".slnx"))
10
- end
11
- "dotnet tool update --global dotnet-outdated-tool".run
12
- #Dir.glob("**/*.slnx").each do |slnx_file|
13
- # "dotnet outdated #{slnx_file} --upgrade:Auto".run
14
- #end
15
- #Dir.glob("**/*.sln").each do |sln_file|
16
- # "dotnet outdated #{sln_file} --upgrade:Auto".run
17
- #end
18
- Dir.glob("**/*.csproj").each do |csproj_file|
19
- "dotnet outdated #{csproj_file} --upgrade:Auto".run
20
- end
21
- end
1
+ # frozen_string_literal: true
2
+
3
+ desc "Update project dependencies"
4
+ task :update do
5
+ "bundle update".run if File.exist?("Gemfile")
6
+ # are there any *.sln files?
7
+ Dir.glob("**/*.sln").each do |sln_file|
8
+ "dotnet sln migrate #{sln_file}".run
9
+ #FileUtils.rm_f(sln_file) if File.exist?(sln_file.gsub(".sln", ".slnx"))
10
+ end
11
+ "dotnet tool update --global dotnet-outdated-tool".run
12
+ #Dir.glob("**/*.slnx").each do |slnx_file|
13
+ # "dotnet outdated #{slnx_file} --upgrade:Auto".run
14
+ #end
15
+ #Dir.glob("**/*.sln").each do |sln_file|
16
+ # "dotnet outdated #{sln_file} --upgrade:Auto".run
17
+ #end
18
+ Dir.glob("**/*.csproj").each do |csproj_file|
19
+ "dotnet outdated #{csproj_file} --upgrade:Auto".run
20
+ end
21
+ end
@@ -1,6 +1,6 @@
1
- # frozen_string_literal: true
2
-
3
- desc "Display version information for the current project"
4
- task :version do
5
- Makit::Version.info
6
- end
1
+ # frozen_string_literal: true
2
+
3
+ desc "Display version information for the current project"
4
+ task :version do
5
+ Makit::Version.info
6
+ end