makit 0.0.99 → 0.0.111
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/README.md +41 -0
- data/exe/makit +5 -0
- data/lib/makit/apache.rb +7 -11
- data/lib/makit/cli/build_commands.rb +500 -0
- data/lib/makit/cli/generators/base_generator.rb +74 -0
- data/lib/makit/cli/generators/dotnet_generator.rb +50 -0
- data/lib/makit/cli/generators/generator_factory.rb +49 -0
- data/lib/makit/cli/generators/node_generator.rb +50 -0
- data/lib/makit/cli/generators/ruby_generator.rb +77 -0
- data/lib/makit/cli/generators/rust_generator.rb +50 -0
- data/lib/makit/cli/generators/templates/dotnet_templates.rb +167 -0
- data/lib/makit/cli/generators/templates/node_templates.rb +161 -0
- data/lib/makit/cli/generators/templates/ruby/gemfile.rb +26 -0
- data/lib/makit/cli/generators/templates/ruby/gemspec.rb +40 -0
- data/lib/makit/cli/generators/templates/ruby/main_lib.rb +33 -0
- data/lib/makit/cli/generators/templates/ruby/rakefile.rb +35 -0
- data/lib/makit/cli/generators/templates/ruby/readme.rb +63 -0
- data/lib/makit/cli/generators/templates/ruby/test.rb +39 -0
- data/lib/makit/cli/generators/templates/ruby/test_helper.rb +29 -0
- data/lib/makit/cli/generators/templates/ruby/version.rb +29 -0
- data/lib/makit/cli/generators/templates/rust_templates.rb +128 -0
- data/lib/makit/cli/main.rb +48 -19
- data/lib/makit/cli/project_commands.rb +868 -0
- data/lib/makit/cli/repository_commands.rb +661 -0
- data/lib/makit/cli/utility_commands.rb +521 -0
- data/lib/makit/command_runner.rb +187 -128
- data/lib/makit/commands/compatibility.rb +365 -0
- data/lib/makit/commands/factory.rb +359 -0
- data/lib/makit/commands/middleware/base.rb +73 -0
- data/lib/makit/commands/middleware/cache.rb +248 -0
- data/lib/makit/commands/middleware/command_logger.rb +323 -0
- data/lib/makit/commands/middleware/unified_logger.rb +243 -0
- data/lib/makit/commands/middleware/validator.rb +269 -0
- data/lib/makit/commands/request.rb +254 -0
- data/lib/makit/commands/result.rb +323 -0
- data/lib/makit/commands/runner.rb +317 -0
- data/lib/makit/commands/strategies/base.rb +160 -0
- data/lib/makit/commands/strategies/synchronous.rb +134 -0
- data/lib/makit/commands.rb +24 -3
- data/lib/makit/configuration/gitlab_helper.rb +60 -0
- data/lib/makit/configuration/project.rb +127 -0
- data/lib/makit/configuration/rakefile_helper.rb +43 -0
- data/lib/makit/configuration/step.rb +34 -0
- data/lib/makit/configuration.rb +14 -0
- data/lib/makit/content/default_gitignore.rb +4 -2
- data/lib/makit/content/default_rakefile.rb +4 -2
- data/lib/makit/content/gem_rakefile.rb +4 -2
- data/lib/makit/context.rb +1 -0
- data/lib/makit/data.rb +9 -10
- data/lib/makit/directories.rb +48 -52
- data/lib/makit/directory.rb +38 -52
- data/lib/makit/docs/files.rb +5 -10
- data/lib/makit/docs/rake.rb +16 -20
- data/lib/makit/dotnet/cli.rb +65 -0
- data/lib/makit/dotnet/project.rb +153 -0
- data/lib/makit/dotnet/solution.rb +38 -0
- data/lib/makit/dotnet/solution_classlib.rb +239 -0
- data/lib/makit/dotnet/solution_console.rb +264 -0
- data/lib/makit/dotnet/solution_maui.rb +354 -0
- data/lib/makit/dotnet/solution_wasm.rb +275 -0
- data/lib/makit/dotnet/solution_wpf.rb +304 -0
- data/lib/makit/dotnet.rb +54 -171
- data/lib/makit/email.rb +46 -17
- data/lib/makit/environment.rb +22 -19
- data/lib/makit/examples/runner.rb +370 -0
- data/lib/makit/exceptions.rb +45 -0
- data/lib/makit/fileinfo.rb +3 -5
- data/lib/makit/files.rb +12 -16
- data/lib/makit/gems.rb +40 -39
- data/lib/makit/git/cli.rb +54 -0
- data/lib/makit/git/repository.rb +90 -0
- data/lib/makit/git.rb +44 -91
- data/lib/makit/gitlab_runner.rb +0 -1
- data/lib/makit/humanize.rb +31 -23
- data/lib/makit/indexer.rb +15 -24
- data/lib/makit/logging/configuration.rb +305 -0
- data/lib/makit/logging/format_registry.rb +84 -0
- data/lib/makit/logging/formatters/base.rb +39 -0
- data/lib/makit/logging/formatters/console_formatter.rb +127 -0
- data/lib/makit/logging/formatters/json_formatter.rb +65 -0
- data/lib/makit/logging/formatters/plain_text_formatter.rb +71 -0
- data/lib/makit/logging/formatters/text_formatter.rb +64 -0
- data/lib/makit/logging/log_request.rb +115 -0
- data/lib/makit/logging/logger.rb +159 -0
- data/lib/makit/logging/sinks/base.rb +91 -0
- data/lib/makit/logging/sinks/console.rb +72 -0
- data/lib/makit/logging/sinks/file_sink.rb +92 -0
- data/lib/makit/logging/sinks/structured.rb +129 -0
- data/lib/makit/logging/sinks/unified_file_sink.rb +303 -0
- data/lib/makit/logging.rb +452 -37
- data/lib/makit/markdown.rb +18 -18
- data/lib/makit/mp/basic_object_mp.rb +5 -4
- data/lib/makit/mp/command_mp.rb +5 -5
- data/lib/makit/mp/command_request.mp.rb +3 -2
- data/lib/makit/mp/project_mp.rb +85 -96
- data/lib/makit/mp/string_mp.rb +245 -73
- data/lib/makit/nuget.rb +27 -25
- data/lib/makit/port.rb +25 -27
- data/lib/makit/process.rb +127 -29
- data/lib/makit/protoc.rb +27 -24
- data/lib/makit/rake/cli.rb +196 -0
- data/lib/makit/rake.rb +6 -6
- data/lib/makit/ruby/cli.rb +185 -0
- data/lib/makit/ruby.rb +25 -0
- data/lib/makit/secrets.rb +18 -18
- data/lib/makit/serializer.rb +29 -27
- data/lib/makit/services/builder.rb +186 -0
- data/lib/makit/services/error_handler.rb +226 -0
- data/lib/makit/services/repository_manager.rb +229 -0
- data/lib/makit/services/validator.rb +112 -0
- data/lib/makit/setup/classlib.rb +53 -0
- data/lib/makit/setup/gem.rb +250 -0
- data/lib/makit/setup/runner.rb +40 -0
- data/lib/makit/show.rb +16 -16
- data/lib/makit/storage.rb +32 -37
- data/lib/makit/symbols.rb +12 -0
- data/lib/makit/task_hooks.rb +125 -0
- data/lib/makit/task_info.rb +63 -21
- data/lib/makit/tasks/at_exit.rb +13 -0
- data/lib/makit/tasks/build.rb +18 -0
- data/lib/makit/tasks/clean.rb +11 -0
- data/lib/makit/tasks/hook_manager.rb +239 -0
- data/lib/makit/tasks/init.rb +47 -0
- data/lib/makit/tasks/integrate.rb +15 -0
- data/lib/makit/tasks/pull_incoming.rb +12 -0
- data/lib/makit/tasks/setup.rb +6 -0
- data/lib/makit/tasks/sync.rb +11 -0
- data/lib/makit/tasks/task_monkey_patch.rb +79 -0
- data/lib/makit/tasks.rb +5 -150
- data/lib/makit/test_cache.rb +239 -0
- data/lib/makit/v1/makit.v1_pb.rb +34 -35
- data/lib/makit/v1/makit.v1_services_pb.rb +2 -0
- data/lib/makit/version.rb +1 -57
- data/lib/makit/wix.rb +23 -23
- data/lib/makit/yaml.rb +18 -6
- data/lib/makit.rb +2 -261
- metadata +109 -145
- data/lib/makit/cli/clean.rb +0 -14
- data/lib/makit/cli/clone.rb +0 -59
- data/lib/makit/cli/init.rb +0 -38
- data/lib/makit/cli/make.rb +0 -54
- data/lib/makit/cli/new.rb +0 -37
- data/lib/makit/cli/nuget_cache.rb +0 -38
- data/lib/makit/cli/pull.rb +0 -31
- data/lib/makit/cli/setup.rb +0 -71
- data/lib/makit/cli/work.rb +0 -21
- data/lib/makit/content/default_gitignore.txt +0 -222
    
        data/lib/makit/yaml.rb
    CHANGED
    
    | @@ -1,17 +1,29 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            require "yaml"
         | 
| 2 4 |  | 
| 3 5 | 
             
            # frozen_string_literal: true
         | 
| 4 6 |  | 
| 5 7 | 
             
            # This module provides classes for the Makit gem.
         | 
| 6 8 | 
             
            module Makit
         | 
| 9 | 
            +
              # YAML file validation utilities
         | 
| 10 | 
            +
              #
         | 
| 11 | 
            +
              # This class provides methods for validating YAML file syntax
         | 
| 12 | 
            +
              # and structure, helping to catch configuration errors early.
         | 
| 7 13 | 
             
              class Yaml
         | 
| 14 | 
            +
                # Validate YAML file syntax and structure
         | 
| 15 | 
            +
                #
         | 
| 16 | 
            +
                # Attempts to parse a YAML file to verify it has valid syntax.
         | 
| 17 | 
            +
                # Prints a success message if valid, raises an error if invalid.
         | 
| 18 | 
            +
                #
         | 
| 19 | 
            +
                # @param file_path [String] Path to the YAML file to validate
         | 
| 20 | 
            +
                # @return [nil] Prints success message if validation passes
         | 
| 21 | 
            +
                # @raise [RuntimeError] If YAML syntax is invalid
         | 
| 8 22 | 
             
                def self.validate_yaml(file_path)
         | 
| 9 | 
            -
                   | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
                   | 
| 13 | 
            -
                    raise "YAML validation failed for #{file_path}: #{e}"
         | 
| 14 | 
            -
                  end
         | 
| 23 | 
            +
                  YAML.load_file(file_path)
         | 
| 24 | 
            +
                  puts "#{file_path} is a valid YAML file."
         | 
| 25 | 
            +
                rescue Psych::SyntaxError => e
         | 
| 26 | 
            +
                  raise "YAML validation failed for #{file_path}: #{e}"
         | 
| 15 27 | 
             
                end
         | 
| 16 28 | 
             
              end
         | 
| 17 29 | 
             
            end
         | 
    
        data/lib/makit.rb
    CHANGED
    
    | @@ -1,267 +1,8 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 4 | 
            -
            require "logger"
         | 
| 5 | 
            -
            require "json"
         | 
| 6 | 
            -
            require "yaml"
         | 
| 7 | 
            -
            require "google/protobuf"
         | 
| 8 | 
            -
             | 
| 9 | 
            -
            #%w[generated/makit].each do |dir|
         | 
| 10 | 
            -
            #  Dir[File.join(__dir__, dir, "*.rb")].each do |file|
         | 
| 11 | 
            -
            #    require_relative file
         | 
| 12 | 
            -
            #  end
         | 
| 13 | 
            -
            #end
         | 
| 14 | 
            -
            if (File.exist?("protos/makit/makit.v1.proto.rb"))
         | 
| 15 | 
            -
              require_relative "generated/makit/makit.v1_pb"
         | 
| 16 | 
            -
            else
         | 
| 17 | 
            -
              require_relative "makit/v1/makit.v1_pb"
         | 
| 18 | 
            -
            end
         | 
| 19 | 
            -
             | 
| 20 | 
            -
            #%w[makit makit/v1 makit/cli makit/content makit/mp].each do |dir|
         | 
| 21 | 
            -
            %w[makit makit/cli makit/content makit/mp makit/docs].each do |dir|
         | 
| 22 | 
            -
              Dir[File.join(__dir__, dir, "*.rb")].each do |file|
         | 
| 23 | 
            -
                require_relative file
         | 
| 24 | 
            -
              end
         | 
| 25 | 
            -
            end
         | 
| 3 | 
            +
            require_relative "makit/version"
         | 
| 26 4 |  | 
| 27 5 | 
             
            module Makit
         | 
| 28 6 | 
             
              class Error < StandardError; end
         | 
| 29 | 
            -
             | 
| 30 | 
            -
              # Constants
         | 
| 31 | 
            -
              if File.exist? ".makit.project.json"
         | 
| 32 | 
            -
                PROJECT = Makit::Serializer.open(".makit.project.json", Makit::V1::Project)
         | 
| 33 | 
            -
              else
         | 
| 34 | 
            -
                if File.exist? ".makit.project.yml"
         | 
| 35 | 
            -
                  PROJECT = Makit::Serializer.open(".makit.project.yml", Makit::V1::Project)
         | 
| 36 | 
            -
                else
         | 
| 37 | 
            -
                  PROJECT = Makit::V1::Project.new
         | 
| 38 | 
            -
                  PROJECT.set_default_values
         | 
| 39 | 
            -
                end
         | 
| 40 | 
            -
              end
         | 
| 41 | 
            -
             | 
| 42 | 
            -
              STARTTIME = Time.now
         | 
| 43 | 
            -
              SHOW = Makit::Show.new
         | 
| 44 | 
            -
              IS_GIT_REPO = Dir.exist? ".git"
         | 
| 45 | 
            -
              DETACHED = `git status`.include?("detached")
         | 
| 46 | 
            -
              IS_READ_ONLY = !IS_GIT_REPO || DETACHED
         | 
| 47 | 
            -
              RUNTIME_IDENTIFIER = Makit::Environment::get_runtime_identifier
         | 
| 48 | 
            -
              DEVICE = Socket.gethostname
         | 
| 49 | 
            -
              LOGGER = Makit::Logging::MultiLogger.create_logger
         | 
| 50 | 
            -
             | 
| 51 | 
            -
              # Git Commit and Branch/Tag constants
         | 
| 52 | 
            -
              ENV["COMMIT_SHA"] = Makit::Git::commitsha
         | 
| 53 | 
            -
              ENV["COMMIT_BRANCH"] = Makit::Git::branch
         | 
| 54 | 
            -
             | 
| 55 | 
            -
              RUNNER = CommandRunner.new
         | 
| 56 | 
            -
              GIT_FILE_INFOS = Makit::Git::get_file_infos
         | 
| 57 | 
            -
              #RUNNER.log_to_artifacts = true
         | 
| 58 | 
            -
              # Variables
         | 
| 59 | 
            -
              log_level = Logger::INFO
         | 
| 60 | 
            -
              package_type = Makit::V1::PackageType::GEM
         | 
| 61 | 
            -
              commands = Makit::Commands.new
         | 
| 62 | 
            -
             | 
| 63 | 
            -
              # methods
         | 
| 64 | 
            -
              #
         | 
| 65 | 
            -
              # initialize a git repository
         | 
| 66 | 
            -
              def self.init(directory)
         | 
| 67 | 
            -
                if !Dir.exist?(directory)
         | 
| 68 | 
            -
                  FileUtils.mkdir_p(directory)
         | 
| 69 | 
            -
                end
         | 
| 70 | 
            -
                raise Makit::Error.new("directory does not exist: #{directory}") if !Dir.exist?(directory)
         | 
| 71 | 
            -
                Dir.chdir(directory) do
         | 
| 72 | 
            -
                  File.write(".gitignore", Makit::Content::GITIGNORE) unless File.exist?(".gitignore")
         | 
| 73 | 
            -
                  init = Makit::RUNNER.execute "git init"
         | 
| 74 | 
            -
                  if init.exit_code != 0
         | 
| 75 | 
            -
                    raise Makit::Error.new("failed to initialize local repository: #{directory}\n#{Makit::Humanize.get_command_summary(init)}")
         | 
| 76 | 
            -
                  end
         | 
| 77 | 
            -
                  init
         | 
| 78 | 
            -
                end
         | 
| 79 | 
            -
              end
         | 
| 80 | 
            -
             | 
| 81 | 
            -
              # clone a git repository to a local directory in Directories::CLONE
         | 
| 82 | 
            -
              # returns the Makit::V1::Command for 'git clone ...'
         | 
| 83 | 
            -
              def self.clone(git_repository)
         | 
| 84 | 
            -
                commands = []
         | 
| 85 | 
            -
                # make sure a local clone of the repository exists
         | 
| 86 | 
            -
                clone_dir = Directories::get_clone_directory(git_repository)
         | 
| 87 | 
            -
                if (!Dir.exist?(clone_dir))
         | 
| 88 | 
            -
                  commands << Makit::RUNNER.execute("git clone #{git_repository} #{clone_dir}")
         | 
| 89 | 
            -
                end
         | 
| 90 | 
            -
                commands
         | 
| 91 | 
            -
              end
         | 
| 92 | 
            -
             | 
| 93 | 
            -
              # pull the latest changes from the remote repository to a local clone in Directories::CLONE
         | 
| 94 | 
            -
              def self.pull(git_repository)
         | 
| 95 | 
            -
                clone_dir = Directories::get_clone_directory(git_repository)
         | 
| 96 | 
            -
                raise Makit::Error.new("clone directory does not exist: #{clone_dir}") if !Dir.exist?(clone_dir)
         | 
| 97 | 
            -
                Dir.chdir(clone_dir) do
         | 
| 98 | 
            -
                  request = Makit::V1::CommandRequest.new(
         | 
| 99 | 
            -
                    name: "git",
         | 
| 100 | 
            -
                    arguments: ["pull"],
         | 
| 101 | 
            -
                    directory: clone_dir,
         | 
| 102 | 
            -
                  )
         | 
| 103 | 
            -
                  pull_command = Makit::RUNNER.execute(request)
         | 
| 104 | 
            -
                  raise Makit::Error.new(Makit::Humanize::get_command_details(pull_command)) if pull_command.exit_code != 0
         | 
| 105 | 
            -
                  return pull_command
         | 
| 106 | 
            -
                end
         | 
| 107 | 
            -
              end
         | 
| 108 | 
            -
             | 
| 109 | 
            -
              def self.clone_or_pull(git_repository)
         | 
| 110 | 
            -
                commands = []
         | 
| 111 | 
            -
                clone_dir = Directories::get_clone_directory(git_repository)
         | 
| 112 | 
            -
                if Dir.exist?(clone_dir)
         | 
| 113 | 
            -
                  commands << pull(git_repository)
         | 
| 114 | 
            -
                else
         | 
| 115 | 
            -
                  commands << clone(git_repository)
         | 
| 116 | 
            -
                end
         | 
| 117 | 
            -
                commands
         | 
| 118 | 
            -
              end
         | 
| 119 | 
            -
             | 
| 120 | 
            -
              # log information about a specific repository
         | 
| 121 | 
            -
              # return an array of GitLogEntry objects
         | 
| 122 | 
            -
              def self.log(git_repository, limit, skip)
         | 
| 123 | 
            -
                entries = []
         | 
| 124 | 
            -
                clone_dir = Directories::get_clone_directory(git_repository)
         | 
| 125 | 
            -
                raise Makit::Error.new("clone directory does not exist: #{clone_dir}") if !Dir.exist?(clone_dir)
         | 
| 126 | 
            -
                Dir.chdir(clone_dir) do
         | 
| 127 | 
            -
                  log_command = Makit::RUNNER.execute("git log -n #{limit} --skip #{skip} --date=iso")
         | 
| 128 | 
            -
                  if log_command.exit_code != 0
         | 
| 129 | 
            -
                    lines = log_command.stderr.split("\n")
         | 
| 130 | 
            -
                    # iterate over the lines, generating a GitLogEntry for each commit
         | 
| 131 | 
            -
                    lines.each do |line|
         | 
| 132 | 
            -
                      if line.start_with?("commit")
         | 
| 133 | 
            -
                        commit = line.split(" ")[1]
         | 
| 134 | 
            -
                        entries << GitLogEntry.new(commit)
         | 
| 135 | 
            -
                      end
         | 
| 136 | 
            -
                      if line.start_with?("Author:")
         | 
| 137 | 
            -
                        entries.last.author = line.split(" ")[1..-1].join(" ")
         | 
| 138 | 
            -
                      end
         | 
| 139 | 
            -
                      if line.start_with?("Date:")
         | 
| 140 | 
            -
                        entries.last.date = line.split(" ")[1..-1].join(" ")
         | 
| 141 | 
            -
                      end
         | 
| 142 | 
            -
                      if line.start_with?("    ")
         | 
| 143 | 
            -
                        entries.last.message += line[4..-1]
         | 
| 144 | 
            -
                      end
         | 
| 145 | 
            -
                    end
         | 
| 146 | 
            -
                  end
         | 
| 147 | 
            -
                end
         | 
| 148 | 
            -
                entries
         | 
| 149 | 
            -
              end
         | 
| 150 | 
            -
             | 
| 151 | 
            -
              # work on a local clone of a git repository
         | 
| 152 | 
            -
              # if the repository does not exist, clone it
         | 
| 153 | 
            -
              # if the repository exists, pull the latest changes
         | 
| 154 | 
            -
              # if a build command can be found, execute it and return the result Makit::V1::WorkResult
         | 
| 155 | 
            -
              def self.work(repository)
         | 
| 156 | 
            -
                commands = []
         | 
| 157 | 
            -
                work_dir = Makit::Directories::get_work_directory(repository)
         | 
| 158 | 
            -
                commands << clone_or_pull(repository)
         | 
| 159 | 
            -
                clone_dir = Makit::Directories::get_clone_directory(repository)
         | 
| 160 | 
            -
                if !Dir.exist?(work_dir)
         | 
| 161 | 
            -
                  # make the parent directory for work_dir if it does not exist
         | 
| 162 | 
            -
                  FileUtils.mkdir_p(File.dirname(work_dir)) unless Dir.exist?(File.dirname(work_dir))
         | 
| 163 | 
            -
                  Makit::RUNNER::execute "git clone #{clone_dir} #{work_dir}"
         | 
| 164 | 
            -
                end
         | 
| 165 | 
            -
                Dir.chdir(work_dir) do
         | 
| 166 | 
            -
                  # if there is no .gitignore file, create one
         | 
| 167 | 
            -
                  File.write(".gitignore", Makit::Content::GITIGNORE) unless File.exist?(".gitignore")
         | 
| 168 | 
            -
                end
         | 
| 169 | 
            -
                nil?
         | 
| 170 | 
            -
              end
         | 
| 171 | 
            -
             | 
| 172 | 
            -
              def self.enable_monkey_patch
         | 
| 173 | 
            -
                %w[makit/mp].each do |dir|
         | 
| 174 | 
            -
                  Dir[File.join(__dir__, dir, "*.rb")].each do |file|
         | 
| 175 | 
            -
                    require_relative file
         | 
| 176 | 
            -
                  end
         | 
| 177 | 
            -
                end
         | 
| 178 | 
            -
              end
         | 
| 179 | 
            -
              # Given a git repository URL and a commit id, create a new MakeResult object.
         | 
| 180 | 
            -
              def self.make(url, commit, force = false)
         | 
| 181 | 
            -
                log_filename = File.join(Directories::get_log_directory(url), commit, +"#{RUNTIME_IDENTIFIER}.#{DEVICE}.json")
         | 
| 182 | 
            -
                if File.exist?(log_filename) && !force && commit != "latest"
         | 
| 183 | 
            -
                  begin
         | 
| 184 | 
            -
                    # deserialize the log file to a Makite::V1::MakeResult object
         | 
| 185 | 
            -
                    make_result = Makit::V1::MakeResult.decode_json(File.read(log_filename))
         | 
| 186 | 
            -
                    return make_result
         | 
| 187 | 
            -
                  rescue => e
         | 
| 188 | 
            -
                    # if deserialization fails, delete the log file and continue
         | 
| 189 | 
            -
                    FileUtils.rm(log_filename)
         | 
| 190 | 
            -
                  end
         | 
| 191 | 
            -
                else
         | 
| 192 | 
            -
                  commands = []
         | 
| 193 | 
            -
                  begin
         | 
| 194 | 
            -
                    clone_or_pull(url).each do |command|
         | 
| 195 | 
            -
                      commands << command
         | 
| 196 | 
            -
                    end
         | 
| 197 | 
            -
                    # make sure a local clone of the repository exists
         | 
| 198 | 
            -
                    clone_dir = Directories::get_clone_directory(url)
         | 
| 199 | 
            -
                    raise Makit::Error.new("clone directory does not exist: #{clone_dir}") if !Dir.exist?(clone_dir)
         | 
| 200 | 
            -
             | 
| 201 | 
            -
                    if (commit == "latest")
         | 
| 202 | 
            -
                      Dir.chdir(clone_dir) do
         | 
| 203 | 
            -
                        git_log = Makit::RUNNER.execute("git log -n 1 --date=iso")
         | 
| 204 | 
            -
             | 
| 205 | 
            -
                        commands << git_log
         | 
| 206 | 
            -
                        # assert that the commit is valid
         | 
| 207 | 
            -
                        commit = git_log.output.match(/^commit ([0-9a-f]{40})$/i)[1]
         | 
| 208 | 
            -
                        raise Makit::Error.new("invalid commit: #{commit}") if commit.nil? || commit.empty? || !commit.match?(/\A[0-9a-f]{40}\z/i)
         | 
| 209 | 
            -
                        log_filename = File.join(Directories::get_log_directory(url), commit, +"#{RUNTIME_IDENTIFIER}.#{DEVICE}.json")
         | 
| 210 | 
            -
                      end
         | 
| 211 | 
            -
                    end
         | 
| 212 | 
            -
             | 
| 213 | 
            -
                    # clone a fresh copy of the repository to a make directory
         | 
| 214 | 
            -
                    make_dir = Directories::get_make_commit_directory(url, commit)
         | 
| 215 | 
            -
                    FileUtils.rm_rf(make_dir) if Dir.exist?(make_dir)
         | 
| 216 | 
            -
                    commands << Makit::RUNNER.execute("git clone #{clone_dir} #{make_dir}")
         | 
| 217 | 
            -
                    raise Makit::Error.new("failed to clone repository: #{url} to #{make_dir}") if !Dir.exist?(make_dir)
         | 
| 218 | 
            -
                    Dir.chdir(make_dir) do
         | 
| 219 | 
            -
                      commands << Makit::RUNNER.execute("git reset --hard #{commit}")
         | 
| 220 | 
            -
                      commands << Makit::RUNNER.execute("git log -n 1")
         | 
| 221 | 
            -
             | 
| 222 | 
            -
                      commands << Makit::RUNNER.execute("bundle install") if File.exist? "Gemfile"
         | 
| 223 | 
            -
                      if File.exist? ("Rakefile")
         | 
| 224 | 
            -
                        commands << Makit::RUNNER.execute("rake default")
         | 
| 225 | 
            -
                      else
         | 
| 226 | 
            -
                        commands << Makit::RUNNER.execute("rake default") if File.exist? "rakefile.rb"
         | 
| 227 | 
            -
                      end
         | 
| 228 | 
            -
             | 
| 229 | 
            -
                      make_result = Makit::V1::MakeResult.new(
         | 
| 230 | 
            -
                        repository: url,
         | 
| 231 | 
            -
                        commit: commit,
         | 
| 232 | 
            -
                        branch: "?",
         | 
| 233 | 
            -
                        tag: "?",
         | 
| 234 | 
            -
                        device: DEVICE,
         | 
| 235 | 
            -
                        runtime_identifier: RUNTIME_IDENTIFIER,
         | 
| 236 | 
            -
                      )
         | 
| 237 | 
            -
                      commands.flatten.each do |command|
         | 
| 238 | 
            -
                        make_result.commands << command
         | 
| 239 | 
            -
                      end
         | 
| 240 | 
            -
             | 
| 241 | 
            -
                      # save the MakeResult object to a log file as pretty printed json
         | 
| 242 | 
            -
                      FileUtils.mkdir_p(File.dirname(log_filename)) unless Dir.exist?(File.dirname(log_filename))
         | 
| 243 | 
            -
                      File.write(log_filename, make_result.to_json)
         | 
| 244 | 
            -
             | 
| 245 | 
            -
                      return make_result
         | 
| 246 | 
            -
                    end
         | 
| 247 | 
            -
                  rescue => e
         | 
| 248 | 
            -
                    message = "error raised attempting to make repository: #{url} commit: #{commit}\n\n"
         | 
| 249 | 
            -
                    message += "#{e.message}\n"
         | 
| 250 | 
            -
                    backtrace = e.backtrace.join("\n")
         | 
| 251 | 
            -
                    message += "#{backtrace}\n\n"
         | 
| 252 | 
            -
                    message += "commands:\n"
         | 
| 253 | 
            -
                    commands.flatten.each do |command|
         | 
| 254 | 
            -
                      message += Makit::Humanize::get_command_details(command)
         | 
| 255 | 
            -
                    end
         | 
| 256 | 
            -
                    raise Makit::Error.new(message)
         | 
| 257 | 
            -
                  end
         | 
| 258 | 
            -
                end
         | 
| 259 | 
            -
              end
         | 
| 260 | 
            -
            end
         | 
| 261 | 
            -
             | 
| 262 | 
            -
            if !File.exist?(".gitignore")
         | 
| 263 | 
            -
              Makit::LOGGER.info("added .gitignore file")
         | 
| 264 | 
            -
              File.open(".gitignore", "w") do |file|
         | 
| 265 | 
            -
                file.puts Makit::Content::GITIGNORE
         | 
| 266 | 
            -
              end
         | 
| 7 | 
            +
              # Your code goes here...
         | 
| 267 8 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,209 +1,154 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: makit
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.111
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 | 
            -
            -  | 
| 7 | 
            +
            - Your Name
         | 
| 8 8 | 
             
            bindir: exe
         | 
| 9 9 | 
             
            cert_chain: []
         | 
| 10 10 | 
             
            date: 1980-01-02 00:00:00.000000000 Z
         | 
| 11 11 | 
             
            dependencies:
         | 
| 12 12 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 13 | 
            -
              name:  | 
| 13 | 
            +
              name: bundler
         | 
| 14 14 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 15 15 | 
             
                requirements:
         | 
| 16 16 | 
             
                - - "~>"
         | 
| 17 17 | 
             
                  - !ruby/object:Gem::Version
         | 
| 18 | 
            -
                    version: ' | 
| 19 | 
            -
              type: : | 
| 18 | 
            +
                    version: '2.0'
         | 
| 19 | 
            +
              type: :development
         | 
| 20 20 | 
             
              prerelease: false
         | 
| 21 21 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 22 22 | 
             
                requirements:
         | 
| 23 23 | 
             
                - - "~>"
         | 
| 24 24 | 
             
                  - !ruby/object:Gem::Version
         | 
| 25 | 
            -
                    version: ' | 
| 25 | 
            +
                    version: '2.0'
         | 
| 26 26 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 27 | 
            -
              name:  | 
| 27 | 
            +
              name: rake
         | 
| 28 28 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 29 29 | 
             
                requirements:
         | 
| 30 30 | 
             
                - - "~>"
         | 
| 31 31 | 
             
                  - !ruby/object:Gem::Version
         | 
| 32 | 
            -
                    version: ' | 
| 33 | 
            -
              type: : | 
| 32 | 
            +
                    version: '13.0'
         | 
| 33 | 
            +
              type: :development
         | 
| 34 34 | 
             
              prerelease: false
         | 
| 35 35 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 36 36 | 
             
                requirements:
         | 
| 37 37 | 
             
                - - "~>"
         | 
| 38 38 | 
             
                  - !ruby/object:Gem::Version
         | 
| 39 | 
            -
                    version: ' | 
| 39 | 
            +
                    version: '13.0'
         | 
| 40 40 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 41 | 
            -
              name:  | 
| 41 | 
            +
              name: minitest
         | 
| 42 42 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 43 43 | 
             
                requirements:
         | 
| 44 44 | 
             
                - - "~>"
         | 
| 45 45 | 
             
                  - !ruby/object:Gem::Version
         | 
| 46 | 
            -
                    version: ' | 
| 47 | 
            -
              type: : | 
| 46 | 
            +
                    version: '5.0'
         | 
| 47 | 
            +
              type: :development
         | 
| 48 48 | 
             
              prerelease: false
         | 
| 49 49 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 50 50 | 
             
                requirements:
         | 
| 51 51 | 
             
                - - "~>"
         | 
| 52 52 | 
             
                  - !ruby/object:Gem::Version
         | 
| 53 | 
            -
                    version: ' | 
| 54 | 
            -
             | 
| 55 | 
            -
              name: grpc
         | 
| 56 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 57 | 
            -
                requirements:
         | 
| 58 | 
            -
                - - "~>"
         | 
| 59 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 60 | 
            -
                    version: '1.72'
         | 
| 61 | 
            -
              type: :runtime
         | 
| 62 | 
            -
              prerelease: false
         | 
| 63 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 64 | 
            -
                requirements:
         | 
| 65 | 
            -
                - - "~>"
         | 
| 66 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 67 | 
            -
                    version: '1.72'
         | 
| 68 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 69 | 
            -
              name: grpc-tools
         | 
| 70 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 71 | 
            -
                requirements:
         | 
| 72 | 
            -
                - - "~>"
         | 
| 73 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 74 | 
            -
                    version: '1.72'
         | 
| 75 | 
            -
              type: :runtime
         | 
| 76 | 
            -
              prerelease: false
         | 
| 77 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 78 | 
            -
                requirements:
         | 
| 79 | 
            -
                - - "~>"
         | 
| 80 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 81 | 
            -
                    version: '1.72'
         | 
| 82 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 83 | 
            -
              name: logger
         | 
| 84 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 85 | 
            -
                requirements:
         | 
| 86 | 
            -
                - - "~>"
         | 
| 87 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 88 | 
            -
                    version: '1.7'
         | 
| 89 | 
            -
              type: :runtime
         | 
| 90 | 
            -
              prerelease: false
         | 
| 91 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 92 | 
            -
                requirements:
         | 
| 93 | 
            -
                - - "~>"
         | 
| 94 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 95 | 
            -
                    version: '1.7'
         | 
| 96 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 97 | 
            -
              name: rubyzip
         | 
| 98 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 99 | 
            -
                requirements:
         | 
| 100 | 
            -
                - - "~>"
         | 
| 101 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 102 | 
            -
                    version: '2.3'
         | 
| 103 | 
            -
              type: :runtime
         | 
| 104 | 
            -
              prerelease: false
         | 
| 105 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 106 | 
            -
                requirements:
         | 
| 107 | 
            -
                - - "~>"
         | 
| 108 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 109 | 
            -
                    version: '2.3'
         | 
| 110 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 111 | 
            -
              name: sorted_set
         | 
| 112 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 113 | 
            -
                requirements:
         | 
| 114 | 
            -
                - - "~>"
         | 
| 115 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 116 | 
            -
                    version: 1.0.3
         | 
| 117 | 
            -
              type: :runtime
         | 
| 118 | 
            -
              prerelease: false
         | 
| 119 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 120 | 
            -
                requirements:
         | 
| 121 | 
            -
                - - "~>"
         | 
| 122 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 123 | 
            -
                    version: 1.0.3
         | 
| 124 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 125 | 
            -
              name: yaml
         | 
| 126 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 127 | 
            -
                requirements:
         | 
| 128 | 
            -
                - - "~>"
         | 
| 129 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 130 | 
            -
                    version: '0.4'
         | 
| 131 | 
            -
              type: :runtime
         | 
| 132 | 
            -
              prerelease: false
         | 
| 133 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 134 | 
            -
                requirements:
         | 
| 135 | 
            -
                - - "~>"
         | 
| 136 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 137 | 
            -
                    version: '0.4'
         | 
| 138 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 139 | 
            -
              name: rainbow
         | 
| 140 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 141 | 
            -
                requirements:
         | 
| 142 | 
            -
                - - "~>"
         | 
| 143 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 144 | 
            -
                    version: '3.1'
         | 
| 145 | 
            -
              type: :runtime
         | 
| 146 | 
            -
              prerelease: false
         | 
| 147 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 148 | 
            -
                requirements:
         | 
| 149 | 
            -
                - - "~>"
         | 
| 150 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 151 | 
            -
                    version: '3.1'
         | 
| 152 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 153 | 
            -
              name: fiddle
         | 
| 154 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 155 | 
            -
                requirements:
         | 
| 156 | 
            -
                - - ">="
         | 
| 157 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 158 | 
            -
                    version: '0'
         | 
| 159 | 
            -
              type: :runtime
         | 
| 160 | 
            -
              prerelease: false
         | 
| 161 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 162 | 
            -
                requirements:
         | 
| 163 | 
            -
                - - ">="
         | 
| 164 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 165 | 
            -
                    version: '0'
         | 
| 166 | 
            -
            description: CI/CD tools for Ruby developers.
         | 
| 53 | 
            +
                    version: '5.0'
         | 
| 54 | 
            +
            description: A Ruby gem description
         | 
| 167 55 | 
             
            email:
         | 
| 168 | 
            -
            -  | 
| 56 | 
            +
            - your.email@example.com
         | 
| 169 57 | 
             
            executables: []
         | 
| 170 58 | 
             
            extensions: []
         | 
| 171 59 | 
             
            extra_rdoc_files: []
         | 
| 172 60 | 
             
            files:
         | 
| 61 | 
            +
            - README.md
         | 
| 62 | 
            +
            - exe/makit
         | 
| 173 63 | 
             
            - lib/makit.rb
         | 
| 174 64 | 
             
            - lib/makit/apache.rb
         | 
| 175 | 
            -
            - lib/makit/cli/ | 
| 176 | 
            -
            - lib/makit/cli/ | 
| 177 | 
            -
            - lib/makit/cli/ | 
| 65 | 
            +
            - lib/makit/cli/build_commands.rb
         | 
| 66 | 
            +
            - lib/makit/cli/generators/base_generator.rb
         | 
| 67 | 
            +
            - lib/makit/cli/generators/dotnet_generator.rb
         | 
| 68 | 
            +
            - lib/makit/cli/generators/generator_factory.rb
         | 
| 69 | 
            +
            - lib/makit/cli/generators/node_generator.rb
         | 
| 70 | 
            +
            - lib/makit/cli/generators/ruby_generator.rb
         | 
| 71 | 
            +
            - lib/makit/cli/generators/rust_generator.rb
         | 
| 72 | 
            +
            - lib/makit/cli/generators/templates/dotnet_templates.rb
         | 
| 73 | 
            +
            - lib/makit/cli/generators/templates/node_templates.rb
         | 
| 74 | 
            +
            - lib/makit/cli/generators/templates/ruby/gemfile.rb
         | 
| 75 | 
            +
            - lib/makit/cli/generators/templates/ruby/gemspec.rb
         | 
| 76 | 
            +
            - lib/makit/cli/generators/templates/ruby/main_lib.rb
         | 
| 77 | 
            +
            - lib/makit/cli/generators/templates/ruby/rakefile.rb
         | 
| 78 | 
            +
            - lib/makit/cli/generators/templates/ruby/readme.rb
         | 
| 79 | 
            +
            - lib/makit/cli/generators/templates/ruby/test.rb
         | 
| 80 | 
            +
            - lib/makit/cli/generators/templates/ruby/test_helper.rb
         | 
| 81 | 
            +
            - lib/makit/cli/generators/templates/ruby/version.rb
         | 
| 82 | 
            +
            - lib/makit/cli/generators/templates/rust_templates.rb
         | 
| 178 83 | 
             
            - lib/makit/cli/main.rb
         | 
| 179 | 
            -
            - lib/makit/cli/ | 
| 180 | 
            -
            - lib/makit/cli/ | 
| 181 | 
            -
            - lib/makit/cli/ | 
| 182 | 
            -
            - lib/makit/cli/pull.rb
         | 
| 183 | 
            -
            - lib/makit/cli/setup.rb
         | 
| 184 | 
            -
            - lib/makit/cli/work.rb
         | 
| 84 | 
            +
            - lib/makit/cli/project_commands.rb
         | 
| 85 | 
            +
            - lib/makit/cli/repository_commands.rb
         | 
| 86 | 
            +
            - lib/makit/cli/utility_commands.rb
         | 
| 185 87 | 
             
            - lib/makit/command_runner.rb
         | 
| 186 88 | 
             
            - lib/makit/commands.rb
         | 
| 89 | 
            +
            - lib/makit/commands/compatibility.rb
         | 
| 90 | 
            +
            - lib/makit/commands/factory.rb
         | 
| 91 | 
            +
            - lib/makit/commands/middleware/base.rb
         | 
| 92 | 
            +
            - lib/makit/commands/middleware/cache.rb
         | 
| 93 | 
            +
            - lib/makit/commands/middleware/command_logger.rb
         | 
| 94 | 
            +
            - lib/makit/commands/middleware/unified_logger.rb
         | 
| 95 | 
            +
            - lib/makit/commands/middleware/validator.rb
         | 
| 96 | 
            +
            - lib/makit/commands/request.rb
         | 
| 97 | 
            +
            - lib/makit/commands/result.rb
         | 
| 98 | 
            +
            - lib/makit/commands/runner.rb
         | 
| 99 | 
            +
            - lib/makit/commands/strategies/base.rb
         | 
| 100 | 
            +
            - lib/makit/commands/strategies/synchronous.rb
         | 
| 101 | 
            +
            - lib/makit/configuration.rb
         | 
| 102 | 
            +
            - lib/makit/configuration/gitlab_helper.rb
         | 
| 103 | 
            +
            - lib/makit/configuration/project.rb
         | 
| 104 | 
            +
            - lib/makit/configuration/rakefile_helper.rb
         | 
| 105 | 
            +
            - lib/makit/configuration/step.rb
         | 
| 187 106 | 
             
            - lib/makit/content/default_gitignore.rb
         | 
| 188 | 
            -
            - lib/makit/content/default_gitignore.txt
         | 
| 189 107 | 
             
            - lib/makit/content/default_rakefile.rb
         | 
| 190 108 | 
             
            - lib/makit/content/gem_rakefile.rb
         | 
| 109 | 
            +
            - lib/makit/context.rb
         | 
| 191 110 | 
             
            - lib/makit/data.rb
         | 
| 192 111 | 
             
            - lib/makit/directories.rb
         | 
| 193 112 | 
             
            - lib/makit/directory.rb
         | 
| 194 113 | 
             
            - lib/makit/docs/files.rb
         | 
| 195 114 | 
             
            - lib/makit/docs/rake.rb
         | 
| 196 115 | 
             
            - lib/makit/dotnet.rb
         | 
| 116 | 
            +
            - lib/makit/dotnet/cli.rb
         | 
| 117 | 
            +
            - lib/makit/dotnet/project.rb
         | 
| 118 | 
            +
            - lib/makit/dotnet/solution.rb
         | 
| 119 | 
            +
            - lib/makit/dotnet/solution_classlib.rb
         | 
| 120 | 
            +
            - lib/makit/dotnet/solution_console.rb
         | 
| 121 | 
            +
            - lib/makit/dotnet/solution_maui.rb
         | 
| 122 | 
            +
            - lib/makit/dotnet/solution_wasm.rb
         | 
| 123 | 
            +
            - lib/makit/dotnet/solution_wpf.rb
         | 
| 197 124 | 
             
            - lib/makit/email.rb
         | 
| 198 125 | 
             
            - lib/makit/environment.rb
         | 
| 126 | 
            +
            - lib/makit/examples/runner.rb
         | 
| 127 | 
            +
            - lib/makit/exceptions.rb
         | 
| 199 128 | 
             
            - lib/makit/fileinfo.rb
         | 
| 200 129 | 
             
            - lib/makit/files.rb
         | 
| 201 130 | 
             
            - lib/makit/gems.rb
         | 
| 202 131 | 
             
            - lib/makit/git.rb
         | 
| 132 | 
            +
            - lib/makit/git/cli.rb
         | 
| 133 | 
            +
            - lib/makit/git/repository.rb
         | 
| 203 134 | 
             
            - lib/makit/gitlab_runner.rb
         | 
| 204 135 | 
             
            - lib/makit/humanize.rb
         | 
| 205 136 | 
             
            - lib/makit/indexer.rb
         | 
| 206 137 | 
             
            - lib/makit/logging.rb
         | 
| 138 | 
            +
            - lib/makit/logging/configuration.rb
         | 
| 139 | 
            +
            - lib/makit/logging/format_registry.rb
         | 
| 140 | 
            +
            - lib/makit/logging/formatters/base.rb
         | 
| 141 | 
            +
            - lib/makit/logging/formatters/console_formatter.rb
         | 
| 142 | 
            +
            - lib/makit/logging/formatters/json_formatter.rb
         | 
| 143 | 
            +
            - lib/makit/logging/formatters/plain_text_formatter.rb
         | 
| 144 | 
            +
            - lib/makit/logging/formatters/text_formatter.rb
         | 
| 145 | 
            +
            - lib/makit/logging/log_request.rb
         | 
| 146 | 
            +
            - lib/makit/logging/logger.rb
         | 
| 147 | 
            +
            - lib/makit/logging/sinks/base.rb
         | 
| 148 | 
            +
            - lib/makit/logging/sinks/console.rb
         | 
| 149 | 
            +
            - lib/makit/logging/sinks/file_sink.rb
         | 
| 150 | 
            +
            - lib/makit/logging/sinks/structured.rb
         | 
| 151 | 
            +
            - lib/makit/logging/sinks/unified_file_sink.rb
         | 
| 207 152 | 
             
            - lib/makit/markdown.rb
         | 
| 208 153 | 
             
            - lib/makit/mp/basic_object_mp.rb
         | 
| 209 154 | 
             
            - lib/makit/mp/command_mp.rb
         | 
| @@ -215,13 +160,35 @@ files: | |
| 215 160 | 
             
            - lib/makit/process.rb
         | 
| 216 161 | 
             
            - lib/makit/protoc.rb
         | 
| 217 162 | 
             
            - lib/makit/rake.rb
         | 
| 163 | 
            +
            - lib/makit/rake/cli.rb
         | 
| 164 | 
            +
            - lib/makit/ruby.rb
         | 
| 165 | 
            +
            - lib/makit/ruby/cli.rb
         | 
| 218 166 | 
             
            - lib/makit/secrets.rb
         | 
| 219 167 | 
             
            - lib/makit/serializer.rb
         | 
| 168 | 
            +
            - lib/makit/services/builder.rb
         | 
| 169 | 
            +
            - lib/makit/services/error_handler.rb
         | 
| 170 | 
            +
            - lib/makit/services/repository_manager.rb
         | 
| 171 | 
            +
            - lib/makit/services/validator.rb
         | 
| 172 | 
            +
            - lib/makit/setup/classlib.rb
         | 
| 173 | 
            +
            - lib/makit/setup/gem.rb
         | 
| 174 | 
            +
            - lib/makit/setup/runner.rb
         | 
| 220 175 | 
             
            - lib/makit/show.rb
         | 
| 221 176 | 
             
            - lib/makit/storage.rb
         | 
| 222 177 | 
             
            - lib/makit/symbols.rb
         | 
| 178 | 
            +
            - lib/makit/task_hooks.rb
         | 
| 223 179 | 
             
            - lib/makit/task_info.rb
         | 
| 224 180 | 
             
            - lib/makit/tasks.rb
         | 
| 181 | 
            +
            - lib/makit/tasks/at_exit.rb
         | 
| 182 | 
            +
            - lib/makit/tasks/build.rb
         | 
| 183 | 
            +
            - lib/makit/tasks/clean.rb
         | 
| 184 | 
            +
            - lib/makit/tasks/hook_manager.rb
         | 
| 185 | 
            +
            - lib/makit/tasks/init.rb
         | 
| 186 | 
            +
            - lib/makit/tasks/integrate.rb
         | 
| 187 | 
            +
            - lib/makit/tasks/pull_incoming.rb
         | 
| 188 | 
            +
            - lib/makit/tasks/setup.rb
         | 
| 189 | 
            +
            - lib/makit/tasks/sync.rb
         | 
| 190 | 
            +
            - lib/makit/tasks/task_monkey_patch.rb
         | 
| 191 | 
            +
            - lib/makit/test_cache.rb
         | 
| 225 192 | 
             
            - lib/makit/tree.rb
         | 
| 226 193 | 
             
            - lib/makit/v1/makit.v1_pb.rb
         | 
| 227 194 | 
             
            - lib/makit/v1/makit.v1_services_pb.rb
         | 
| @@ -229,13 +196,10 @@ files: | |
| 229 196 | 
             
            - lib/makit/wix.rb
         | 
| 230 197 | 
             
            - lib/makit/yaml.rb
         | 
| 231 198 | 
             
            - lib/makit/zip.rb
         | 
| 232 | 
            -
            homepage: https:// | 
| 199 | 
            +
            homepage: https://github.com/yourusername/makit
         | 
| 233 200 | 
             
            licenses:
         | 
| 234 201 | 
             
            - MIT
         | 
| 235 | 
            -
            metadata:
         | 
| 236 | 
            -
              homepage_uri: https://gitlab.com/gems-rb/makit
         | 
| 237 | 
            -
              source_code_uri: https://gitlab.com/gems-rb/makit
         | 
| 238 | 
            -
              changelog_uri: https://gitlab.com/gems-rb/makit/CHANGELOG.md
         | 
| 202 | 
            +
            metadata: {}
         | 
| 239 203 | 
             
            rdoc_options: []
         | 
| 240 204 | 
             
            require_paths:
         | 
| 241 205 | 
             
            - lib
         | 
| @@ -243,7 +207,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 243 207 | 
             
              requirements:
         | 
| 244 208 | 
             
              - - ">="
         | 
| 245 209 | 
             
                - !ruby/object:Gem::Version
         | 
| 246 | 
            -
                  version:  | 
| 210 | 
            +
                  version: '0'
         | 
| 247 211 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 248 212 | 
             
              requirements:
         | 
| 249 213 | 
             
              - - ">="
         | 
| @@ -252,5 +216,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 252 216 | 
             
            requirements: []
         | 
| 253 217 | 
             
            rubygems_version: 3.6.9
         | 
| 254 218 | 
             
            specification_version: 4
         | 
| 255 | 
            -
            summary:  | 
| 219 | 
            +
            summary: A Ruby gem
         | 
| 256 220 | 
             
            test_files: []
         | 
    
        data/lib/makit/cli/clean.rb
    DELETED