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/cli/clone.rb
    DELETED
    
    | @@ -1,59 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require "clamp"
         | 
| 4 | 
            -
            #require "git"
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            module Makit
         | 
| 7 | 
            -
              module Cli
         | 
| 8 | 
            -
                # Define the 'clone' subcommand
         | 
| 9 | 
            -
                class CloneCommand < Clamp::Command
         | 
| 10 | 
            -
                  parameter "GIT_REPOSITORY", "The git repository url", attribute_name: :git_repository, required: true
         | 
| 11 | 
            -
             | 
| 12 | 
            -
                  def execute
         | 
| 13 | 
            -
                    clone_dir = Directories::get_clone_directory(git_repository)
         | 
| 14 | 
            -
                    puts "cloning repository: #{git_repository} to #{clone_dir}"
         | 
| 15 | 
            -
                    begin
         | 
| 16 | 
            -
                      Makit::clone(git_repository)
         | 
| 17 | 
            -
                      if !Dir.exist?(clone_dir)
         | 
| 18 | 
            -
                        summary = "failed to clone repository: #{git_repository} to #{clone_dir}\n"
         | 
| 19 | 
            -
                        summary += "Please check the URL and your network connection.\n"
         | 
| 20 | 
            -
                        summary += "stdout: #{clone.stdout}\n"
         | 
| 21 | 
            -
                        summary += "stderr: #{clone.stderr}\n"
         | 
| 22 | 
            -
                        $stderr.puts summary
         | 
| 23 | 
            -
                        exit 1
         | 
| 24 | 
            -
                      end
         | 
| 25 | 
            -
                    rescue => e
         | 
| 26 | 
            -
                      #  $stderr.puts "failed to clone repository: #{git_repository} to #{clone_dir}"
         | 
| 27 | 
            -
                      puts e.message
         | 
| 28 | 
            -
                      exit 1
         | 
| 29 | 
            -
                    end
         | 
| 30 | 
            -
                    #puts "size of clone directory: #{clone_dir} is #{Humanize::get_humanized_size(Directory::get_size(clone_dir))}"
         | 
| 31 | 
            -
                  end
         | 
| 32 | 
            -
             | 
| 33 | 
            -
                  #def self.clone(git_repository)
         | 
| 34 | 
            -
                  # make sure a local clone of the repository exists
         | 
| 35 | 
            -
                  #  clone_dir = Directories::get_clone_directory(git_repository)
         | 
| 36 | 
            -
                  #  raise "clone directory already exists: #{clone_dir}" if Dir.exist?(clone_dir)
         | 
| 37 | 
            -
                  #  begin
         | 
| 38 | 
            -
                  #    clone_command = Makit::RUNNER.execute("git clone #{git_repository} #{clone_dir}")
         | 
| 39 | 
            -
                  #    if !Dir.exist?(clone_dir)
         | 
| 40 | 
            -
                  #      summary = "failed to clone repository: #{git_repository} to #{clone_dir}\n"
         | 
| 41 | 
            -
                  #      summary += "Please check the URL and your network connection.\n"
         | 
| 42 | 
            -
                  #      summary += "stdout: #{clone_command.stdout}\n"
         | 
| 43 | 
            -
                  #      summary += "stderr: #{clone_command.stderr}\n"
         | 
| 44 | 
            -
                  #      raise Makit::Error, summary
         | 
| 45 | 
            -
                  #    end
         | 
| 46 | 
            -
                  #raise "failed to clone repository: #{git_repository} to #{clone_dir}" unless clone_command.success?
         | 
| 47 | 
            -
                  #Git.clone(git_repository, clone_dir)
         | 
| 48 | 
            -
                  #  rescue => e
         | 
| 49 | 
            -
                  #    summary = "=" * 80 + "\n"
         | 
| 50 | 
            -
                  #    summary += "failed to clone repository: #{git_repository} to #{clone_dir}\n\n"
         | 
| 51 | 
            -
                  #    summary += "Please check the URL and your network connection.\n"
         | 
| 52 | 
            -
                  #    summary += "#{e.message}\n\n"
         | 
| 53 | 
            -
                  #    summary += "=" * 80 + "\n"
         | 
| 54 | 
            -
                  #    raise Makit::Error, summary
         | 
| 55 | 
            -
                  #  end
         | 
| 56 | 
            -
                  #end
         | 
| 57 | 
            -
                end
         | 
| 58 | 
            -
              end
         | 
| 59 | 
            -
            end
         | 
    
        data/lib/makit/cli/init.rb
    DELETED
    
    | @@ -1,38 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require "clamp"
         | 
| 4 | 
            -
            require_relative "../../makit"
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            module Makit
         | 
| 7 | 
            -
              module Cli
         | 
| 8 | 
            -
                # Define the 'init' subcommand
         | 
| 9 | 
            -
                class InitCommand < Clamp::Command
         | 
| 10 | 
            -
                  parameter "DIRECTORY", "The directory to init as a git repository", attribute_name: :directory, required: true
         | 
| 11 | 
            -
             | 
| 12 | 
            -
                  def execute
         | 
| 13 | 
            -
                    begin
         | 
| 14 | 
            -
                      Makit::init(directory)
         | 
| 15 | 
            -
                      puts "initialized local repository: #{directory}"
         | 
| 16 | 
            -
                    rescue => e
         | 
| 17 | 
            -
                      $stderr.puts "failed to initialize repository: #{directory}"
         | 
| 18 | 
            -
                      puts e.message
         | 
| 19 | 
            -
                      puts e.backtrace
         | 
| 20 | 
            -
                      exit 1
         | 
| 21 | 
            -
                    end
         | 
| 22 | 
            -
                  end
         | 
| 23 | 
            -
             | 
| 24 | 
            -
                  #def self.init(directory)
         | 
| 25 | 
            -
                  #  if !Dir.exist?(directory)
         | 
| 26 | 
            -
                  #    FileUtils.mkdir_p(directory)
         | 
| 27 | 
            -
                  #  end
         | 
| 28 | 
            -
                  #  Dir.chdir(directory) do
         | 
| 29 | 
            -
                  #    init = Makit::RUNNER.execute "git init"
         | 
| 30 | 
            -
                  #    if init.exit_code != 0
         | 
| 31 | 
            -
                  #      raise Makit::Error.new("failed to initialize local repository: #{directory}\n#{Makit::Humanize.get_command_summary(init)}")
         | 
| 32 | 
            -
                  #    end#
         | 
| 33 | 
            -
             | 
| 34 | 
            -
                  #  end
         | 
| 35 | 
            -
                  #end
         | 
| 36 | 
            -
                end
         | 
| 37 | 
            -
              end
         | 
| 38 | 
            -
            end
         | 
    
        data/lib/makit/cli/make.rb
    DELETED
    
    | @@ -1,54 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require "clamp"
         | 
| 4 | 
            -
            #require "git"
         | 
| 5 | 
            -
            require "socket"
         | 
| 6 | 
            -
            require_relative "../humanize"
         | 
| 7 | 
            -
             | 
| 8 | 
            -
            module Makit
         | 
| 9 | 
            -
              module Cli
         | 
| 10 | 
            -
                # Define the 'make' subcommand
         | 
| 11 | 
            -
                class MakeCommand < Clamp::Command
         | 
| 12 | 
            -
                  parameter "GIT_REPOSITORY", "The git repository URL or NAME", attribute_name: :git_repository, required: true
         | 
| 13 | 
            -
                  #option ["-f", "--force"], "FORCE", "Force the command to be run, even if a result already exists", attribute_name: :force
         | 
| 14 | 
            -
             | 
| 15 | 
            -
                  def execute
         | 
| 16 | 
            -
                    begin
         | 
| 17 | 
            -
                      # make sure a local clone of the repository exists
         | 
| 18 | 
            -
                      clone_dir = Directories::get_clone_directory(git_repository)
         | 
| 19 | 
            -
                      if Dir.exist?(clone_dir)
         | 
| 20 | 
            -
                        # attempt to the pull the latest changes
         | 
| 21 | 
            -
                        begin
         | 
| 22 | 
            -
                          PullCommand::pull(git_repository)
         | 
| 23 | 
            -
                        rescue => e
         | 
| 24 | 
            -
                          puts "warning: failed to pull repository: #{git_repository}"
         | 
| 25 | 
            -
                        end
         | 
| 26 | 
            -
                      else
         | 
| 27 | 
            -
                        CloneCommand::clone(git_repository)
         | 
| 28 | 
            -
                      end
         | 
| 29 | 
            -
                    rescue => e
         | 
| 30 | 
            -
                      $stderr.puts "failed to make repository: #{git_repository}"
         | 
| 31 | 
            -
                      puts "Please check the URL and your network connection."
         | 
| 32 | 
            -
                      puts e.message
         | 
| 33 | 
            -
                      exit 1
         | 
| 34 | 
            -
                    end
         | 
| 35 | 
            -
             | 
| 36 | 
            -
                    # determine the latest commit id for the repository
         | 
| 37 | 
            -
                    g = Git.open(clone_dir)
         | 
| 38 | 
            -
                    latest_commit = g.log.first
         | 
| 39 | 
            -
                    commit = latest_commit.sha
         | 
| 40 | 
            -
             | 
| 41 | 
            -
                    begin
         | 
| 42 | 
            -
                      #make_result = MakeCommand::make(git_repository, commit)
         | 
| 43 | 
            -
                      make_result = Makit::make(git_repository, commit)
         | 
| 44 | 
            -
                      puts make_result.summary
         | 
| 45 | 
            -
                    rescue => e
         | 
| 46 | 
            -
                      $stderr.puts "failed to make repository: #{git_repository} commit: #{commit}"
         | 
| 47 | 
            -
                      puts e.message
         | 
| 48 | 
            -
                      puts Makit::Humanize::get_make_result_summary make_result
         | 
| 49 | 
            -
                      exit 1
         | 
| 50 | 
            -
                    end
         | 
| 51 | 
            -
                  end
         | 
| 52 | 
            -
                end
         | 
| 53 | 
            -
              end
         | 
| 54 | 
            -
            end
         | 
    
        data/lib/makit/cli/new.rb
    DELETED
    
    | @@ -1,37 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require "clamp"
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            module Makit
         | 
| 6 | 
            -
              module Cli
         | 
| 7 | 
            -
                # Define the 'new' subcommand
         | 
| 8 | 
            -
                class NewCommand < Clamp::Command
         | 
| 9 | 
            -
                  AVAILABLE_TYPES = %w[gem crate nuget].freeze
         | 
| 10 | 
            -
                  option "--list", :flag, "List available types"
         | 
| 11 | 
            -
                  option ["-o", "--output"], "OUTPUT_DIR", "Specify output directory", default: "."
         | 
| 12 | 
            -
                  option ["-t", "--type"], "TYPE", "Type of the new entity", default: "gem"
         | 
| 13 | 
            -
                  parameter "TYPE", "Type of the new entity", attribute_name: :type, required: false
         | 
| 14 | 
            -
                  parameter "NAME", "Name of the new entity", attribute_name: :name, required: false
         | 
| 15 | 
            -
                  parameter "DIRECTORY", "The output directory", attribute_name: :name, required: false
         | 
| 16 | 
            -
             | 
| 17 | 
            -
                  def execute
         | 
| 18 | 
            -
                    if list?
         | 
| 19 | 
            -
                      puts "Available types:"
         | 
| 20 | 
            -
                      AVAILABLE_TYPES.each { |t| puts "  - #{t}" }
         | 
| 21 | 
            -
                    else
         | 
| 22 | 
            -
                      if type.nil? || name.nil?
         | 
| 23 | 
            -
                        puts "Error: TYPE and NAME are required unless using --list"
         | 
| 24 | 
            -
                        exit(1)
         | 
| 25 | 
            -
                      end
         | 
| 26 | 
            -
             | 
| 27 | 
            -
                      unless AVAILABLE_TYPES.include?(type)
         | 
| 28 | 
            -
                        puts "Error: '#{type}' is not a valid type. Use --list to see available types."
         | 
| 29 | 
            -
                        exit(1)
         | 
| 30 | 
            -
                      end
         | 
| 31 | 
            -
             | 
| 32 | 
            -
                      puts "Creating a new #{type} named #{name}."
         | 
| 33 | 
            -
                    end
         | 
| 34 | 
            -
                  end
         | 
| 35 | 
            -
                end
         | 
| 36 | 
            -
              end
         | 
| 37 | 
            -
            end
         | 
| @@ -1,38 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require "clamp"
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            module Makit
         | 
| 6 | 
            -
              module Cli
         | 
| 7 | 
            -
                # Define the 'nuget_cache' subcommand
         | 
| 8 | 
            -
                #
         | 
| 9 | 
            -
                # nuget_cache Google.Protobuf
         | 
| 10 | 
            -
                # nuget_cache Google.Protobuf 3.27.2
         | 
| 11 | 
            -
                class NugetCacheCommand < Clamp::Command
         | 
| 12 | 
            -
                  parameter "PACKAGE", "The package id", attribute_name: :package, required: true
         | 
| 13 | 
            -
                  parameter "VERSION", "The package version", attribute_name: :version, default: nil
         | 
| 14 | 
            -
             | 
| 15 | 
            -
                  def execute
         | 
| 16 | 
            -
                    if version.nil?
         | 
| 17 | 
            -
                      # look up the latest version of the package
         | 
| 18 | 
            -
                      raise "TODO: implement latest version lookup"
         | 
| 19 | 
            -
                    end
         | 
| 20 | 
            -
             | 
| 21 | 
            -
                    # download the package
         | 
| 22 | 
            -
                    url = "https://www.nuget.org/api/v2/package/#{package}/#{version}"
         | 
| 23 | 
            -
                    if !url.nil?
         | 
| 24 | 
            -
                      # download the package
         | 
| 25 | 
            -
             | 
| 26 | 
            -
                      raise "TODO: implement package download"
         | 
| 27 | 
            -
                      puts "url: #{url}"
         | 
| 28 | 
            -
                      puts "relative directoyr: #{Makit::Environment.get_relative_directory(url)}"
         | 
| 29 | 
            -
                      puts "work directory: #{Makit::Environment.get_work_directory(url)}"
         | 
| 30 | 
            -
                    end
         | 
| 31 | 
            -
                    puts "TODO: implement work command"
         | 
| 32 | 
            -
                  end
         | 
| 33 | 
            -
                end
         | 
| 34 | 
            -
             | 
| 35 | 
            -
                def install_cache_package(package, version)
         | 
| 36 | 
            -
                end
         | 
| 37 | 
            -
              end
         | 
| 38 | 
            -
            end
         | 
    
        data/lib/makit/cli/pull.rb
    DELETED
    
    | @@ -1,31 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require "clamp"
         | 
| 4 | 
            -
            #require "git"
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            module Makit
         | 
| 7 | 
            -
              module Cli
         | 
| 8 | 
            -
                # Define the 'pull' subcommand
         | 
| 9 | 
            -
                class PullCommand < Clamp::Command
         | 
| 10 | 
            -
                  parameter "GIT_REPOSITORY", "The git repository url", attribute_name: :git_repository, required: true
         | 
| 11 | 
            -
                  option "--ignore-errors", :flag, "Ignore errors and present warnings instead of exiting"
         | 
| 12 | 
            -
             | 
| 13 | 
            -
                  def execute
         | 
| 14 | 
            -
                    puts "pulling latest changes for repository: #{git_repository}"
         | 
| 15 | 
            -
                    begin
         | 
| 16 | 
            -
                      Makit::pull(git_repository)
         | 
| 17 | 
            -
                    rescue Git::GitExecuteError => e
         | 
| 18 | 
            -
                      $stderr.puts "failed to pull repository: #{git_repository}"
         | 
| 19 | 
            -
                      puts "Please check the URL and your network connection."
         | 
| 20 | 
            -
                      exit 1
         | 
| 21 | 
            -
                    rescue => e
         | 
| 22 | 
            -
                      $stderr.puts "failed to pull repository: #{git_repository}"
         | 
| 23 | 
            -
                      puts e.message
         | 
| 24 | 
            -
                      exit 1
         | 
| 25 | 
            -
                    end
         | 
| 26 | 
            -
                    clone_dir = Directories::get_clone_directory(git_repository)
         | 
| 27 | 
            -
                    puts "size of clone directory: #{clone_dir} is #{Humanize::get_humanized_size(Directory::get_size(clone_dir))}"
         | 
| 28 | 
            -
                  end
         | 
| 29 | 
            -
                end
         | 
| 30 | 
            -
              end
         | 
| 31 | 
            -
            end
         | 
    
        data/lib/makit/cli/setup.rb
    DELETED
    
    | @@ -1,71 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require "clamp"
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            module Makit
         | 
| 6 | 
            -
              module Cli
         | 
| 7 | 
            -
                # Define the 'new' subcommand
         | 
| 8 | 
            -
                class SetupCommand < Clamp::Command
         | 
| 9 | 
            -
                  PACKAGE_TYPES = %w[gem crate nuget].freeze
         | 
| 10 | 
            -
                  option "--list", :flag, "List available package types"
         | 
| 11 | 
            -
                  option ["-t", "--type"], "TYPE", "The package type", default: "gem"
         | 
| 12 | 
            -
                  option ["-o", "--output"], "OUTPUT", "The output directory", default: "."
         | 
| 13 | 
            -
                  parameter "TYPE", "Type of the package", attribute_name: :type, required: false
         | 
| 14 | 
            -
                  parameter "NAME", "Name of the package", attribute_name: :name, required: false
         | 
| 15 | 
            -
             | 
| 16 | 
            -
                  def execute
         | 
| 17 | 
            -
                    if list?
         | 
| 18 | 
            -
                      puts "Available package types:"
         | 
| 19 | 
            -
                      PACKAGE_TYPES.each { |t| puts "  - #{t}" }
         | 
| 20 | 
            -
                    else
         | 
| 21 | 
            -
                      if type.nil? || name.nil?
         | 
| 22 | 
            -
                        puts "Error: TYPE and NAME are required unless using --list"
         | 
| 23 | 
            -
                        exit(1)
         | 
| 24 | 
            -
                      end
         | 
| 25 | 
            -
             | 
| 26 | 
            -
                      unless PACKAGE_TYPES.include?(type)
         | 
| 27 | 
            -
                        puts "Error: '#{type}' is not a valid type. Use --list to see available types."
         | 
| 28 | 
            -
                        exit(1)
         | 
| 29 | 
            -
                      end
         | 
| 30 | 
            -
             | 
| 31 | 
            -
                      if !Makit::IS_GIT_REPO
         | 
| 32 | 
            -
                        Makit::LOGGER.error("#{Dir.pwd} does not appear to be a git repository.")
         | 
| 33 | 
            -
                        exit(1)
         | 
| 34 | 
            -
                      end
         | 
| 35 | 
            -
                      if Makit::IS_READ_ONLY
         | 
| 36 | 
            -
                        Makit::LOGGER.error("The git repository is in a read-only state.")
         | 
| 37 | 
            -
                        exit(1)
         | 
| 38 | 
            -
                      end
         | 
| 39 | 
            -
             | 
| 40 | 
            -
                      # if a Rakefile already exists, then the project has already been setup
         | 
| 41 | 
            -
                      if File.exist?("Rakefile")
         | 
| 42 | 
            -
                        Makit::LOGGER.error("Rakefile detected, The project has already been setup.")
         | 
| 43 | 
            -
                        exit(1)
         | 
| 44 | 
            -
                      end
         | 
| 45 | 
            -
             | 
| 46 | 
            -
                      # verify the root directory has a .gitignore file
         | 
| 47 | 
            -
                      if !File.exist?(".gitignore")
         | 
| 48 | 
            -
                        Makit::LOGGER.info("added .gitignore file")
         | 
| 49 | 
            -
                        File.open(".gitignore", "w") do |file|
         | 
| 50 | 
            -
                          file.puts Makit::Content::GITIGNORE
         | 
| 51 | 
            -
                        end
         | 
| 52 | 
            -
                      end
         | 
| 53 | 
            -
             | 
| 54 | 
            -
                      # verify the root directory has a Rakefile
         | 
| 55 | 
            -
             | 
| 56 | 
            -
                      if (type == "gem")
         | 
| 57 | 
            -
                        if !File.exist?("Gemfile")
         | 
| 58 | 
            -
                          Makit::RUNNER.run("bundle gem . --coc --mit --exe --no-git --ci=gitlab_ci --test=minitest --changelog --linter=rubocop")
         | 
| 59 | 
            -
             | 
| 60 | 
            -
                          # overwrite the Rakefile with the one from the gem template
         | 
| 61 | 
            -
                          File.open("Rakefile", "w") do |file|
         | 
| 62 | 
            -
                            file.puts Makit::Content::GEM_RAKEFILE.gsub("GEM_NAME", name)
         | 
| 63 | 
            -
                          end
         | 
| 64 | 
            -
                        end
         | 
| 65 | 
            -
                      end
         | 
| 66 | 
            -
                      # Makit::LOGGER.info("bundle gem . --coc --mit --exe --no-git --ci=gitlab_ci --test=minitest --changelog --linter=rubocop --skip=Rakefile,README.md")
         | 
| 67 | 
            -
                    end
         | 
| 68 | 
            -
                  end
         | 
| 69 | 
            -
                end
         | 
| 70 | 
            -
              end
         | 
| 71 | 
            -
            end
         | 
    
        data/lib/makit/cli/work.rb
    DELETED
    
    | @@ -1,21 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require "clamp"
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            module Makit
         | 
| 6 | 
            -
              module Cli
         | 
| 7 | 
            -
                # Define the 'new' subcommand
         | 
| 8 | 
            -
                class WorkCommand < Clamp::Command
         | 
| 9 | 
            -
                  option ["-u", "--url"], "URL", "The git repository url"
         | 
| 10 | 
            -
             | 
| 11 | 
            -
                  def execute
         | 
| 12 | 
            -
                    if !url.nil?
         | 
| 13 | 
            -
                      puts "url: #{url}"
         | 
| 14 | 
            -
                      puts "relative directoyr: #{Makit::Environment.get_relative_directory(url)}"
         | 
| 15 | 
            -
                      puts "work directory: #{Makit::Environment.get_work_directory(url)}"
         | 
| 16 | 
            -
                    end
         | 
| 17 | 
            -
                    puts "TODO: implement work command"
         | 
| 18 | 
            -
                  end
         | 
| 19 | 
            -
                end
         | 
| 20 | 
            -
              end
         | 
| 21 | 
            -
            end
         | 
| @@ -1,222 +0,0 @@ | |
| 1 | 
            -
            # General
         | 
| 2 | 
            -
            [Aa]rtifacts/
         | 
| 3 | 
            -
            [Ii]ntermediate/
         | 
| 4 | 
            -
            [Gg]enerated/
         | 
| 5 | 
            -
            third_party/
         | 
| 6 | 
            -
             | 
| 7 | 
            -
            # Ruby
         | 
| 8 | 
            -
            *.gem
         | 
| 9 | 
            -
            *.rbc
         | 
| 10 | 
            -
            /.config
         | 
| 11 | 
            -
            /coverage/
         | 
| 12 | 
            -
            /InstalledFiles
         | 
| 13 | 
            -
            /pkg/
         | 
| 14 | 
            -
            /spec/reports/
         | 
| 15 | 
            -
            /spec/examples.txt
         | 
| 16 | 
            -
            /test/tmp/
         | 
| 17 | 
            -
            /test/version_tmp/
         | 
| 18 | 
            -
            /tmp/
         | 
| 19 | 
            -
            /.yardoc/
         | 
| 20 | 
            -
            /_yardoc/
         | 
| 21 | 
            -
            /doc/
         | 
| 22 | 
            -
            /rdoc/
         | 
| 23 | 
            -
            /.bundle/
         | 
| 24 | 
            -
            /vendor/bundle
         | 
| 25 | 
            -
            /lib/bundler/man/
         | 
| 26 | 
            -
            .rvmrc
         | 
| 27 | 
            -
             | 
| 28 | 
            -
            # Rust
         | 
| 29 | 
            -
            /target/
         | 
| 30 | 
            -
            Cargo.lock
         | 
| 31 | 
            -
            **/*.rs.bk
         | 
| 32 | 
            -
            /target
         | 
| 33 | 
            -
            /Cargo.lock
         | 
| 34 | 
            -
             | 
| 35 | 
            -
            # DotNet
         | 
| 36 | 
            -
            *.rsuser
         | 
| 37 | 
            -
            *.suo
         | 
| 38 | 
            -
            *.user
         | 
| 39 | 
            -
            *.userosscache
         | 
| 40 | 
            -
            *.sln.docstates
         | 
| 41 | 
            -
            *.txt
         | 
| 42 | 
            -
            *.userprefs
         | 
| 43 | 
            -
            BenchmarkDotNet.Artifacts/
         | 
| 44 | 
            -
            [Dd]ebug/
         | 
| 45 | 
            -
            [Dd]ebugPublic/
         | 
| 46 | 
            -
            [Rr]elease/
         | 
| 47 | 
            -
            [Rr]eleases/
         | 
| 48 | 
            -
            x64/
         | 
| 49 | 
            -
            x86/
         | 
| 50 | 
            -
            [Aa][Rr][Mm]/
         | 
| 51 | 
            -
            [Aa][Rr][Mm]64/
         | 
| 52 | 
            -
            bld/
         | 
| 53 | 
            -
            [Bb]in/
         | 
| 54 | 
            -
            [Oo]bj/
         | 
| 55 | 
            -
            [Ll]og/
         | 
| 56 | 
            -
            [Aa]rtifacts/
         | 
| 57 | 
            -
            .vs/
         | 
| 58 | 
            -
            Generated\ Files/
         | 
| 59 | 
            -
            [Tt]est[Rr]esult*/
         | 
| 60 | 
            -
            [Bb]uild[Ll]og.*
         | 
| 61 | 
            -
            *.VisualState.xml
         | 
| 62 | 
            -
            TestResult.xml
         | 
| 63 | 
            -
            [Dd]ebugPS/
         | 
| 64 | 
            -
            [Rr]eleasePS/
         | 
| 65 | 
            -
            dlldata.c
         | 
| 66 | 
            -
            BenchmarkDotNet.Artifacts/
         | 
| 67 | 
            -
             | 
| 68 | 
            -
            project.lock.json
         | 
| 69 | 
            -
            project.fragment.lock.json
         | 
| 70 | 
            -
            artifacts/
         | 
| 71 | 
            -
            StyleCopReport.xml
         | 
| 72 | 
            -
            *_i.c
         | 
| 73 | 
            -
            *_p.c
         | 
| 74 | 
            -
            *_h.h
         | 
| 75 | 
            -
            *.ilk
         | 
| 76 | 
            -
            *.meta
         | 
| 77 | 
            -
            *.obj
         | 
| 78 | 
            -
            *.iobj
         | 
| 79 | 
            -
            *.pch
         | 
| 80 | 
            -
            *.pdb
         | 
| 81 | 
            -
            *.ipdb
         | 
| 82 | 
            -
            *.pgc
         | 
| 83 | 
            -
            *.pgd
         | 
| 84 | 
            -
            *.rsp
         | 
| 85 | 
            -
            *.sbr
         | 
| 86 | 
            -
            *.tlb
         | 
| 87 | 
            -
            *.tli
         | 
| 88 | 
            -
            *.tlh
         | 
| 89 | 
            -
            *.tmp
         | 
| 90 | 
            -
            *.tmp_proj
         | 
| 91 | 
            -
            *_wpftmp.csproj
         | 
| 92 | 
            -
            *.log
         | 
| 93 | 
            -
            *.vspscc
         | 
| 94 | 
            -
            *.vssscc
         | 
| 95 | 
            -
            .builds
         | 
| 96 | 
            -
            *.pidb
         | 
| 97 | 
            -
            *.svclog
         | 
| 98 | 
            -
            *.scc
         | 
| 99 | 
            -
            _Chutzpah*
         | 
| 100 | 
            -
            ipch/
         | 
| 101 | 
            -
            *.aps
         | 
| 102 | 
            -
            *.ncb
         | 
| 103 | 
            -
            *.opendb
         | 
| 104 | 
            -
            *.opensdf
         | 
| 105 | 
            -
            *.sdf
         | 
| 106 | 
            -
            *.cachefile
         | 
| 107 | 
            -
            *.VC.db
         | 
| 108 | 
            -
            *.VC.VC.opendb
         | 
| 109 | 
            -
            *.psess
         | 
| 110 | 
            -
            *.vsp
         | 
| 111 | 
            -
            *.vspx
         | 
| 112 | 
            -
            *.sap
         | 
| 113 | 
            -
            *.e2e
         | 
| 114 | 
            -
            $tf/
         | 
| 115 | 
            -
            *.gpState
         | 
| 116 | 
            -
            _ReSharper*/
         | 
| 117 | 
            -
            *.[Rr]e[Ss]harper
         | 
| 118 | 
            -
            *.DotSettings.user
         | 
| 119 | 
            -
            .JustCode
         | 
| 120 | 
            -
            _TeamCity*
         | 
| 121 | 
            -
            *.dotCover
         | 
| 122 | 
            -
            .axoCover/*
         | 
| 123 | 
            -
            !.axoCover/settings.json
         | 
| 124 | 
            -
            *.coverage
         | 
| 125 | 
            -
            *.coveragexml
         | 
| 126 | 
            -
            _NCrunch_*
         | 
| 127 | 
            -
            .*crunch*.local.xml
         | 
| 128 | 
            -
            nCrunchTemp_*
         | 
| 129 | 
            -
            *.mm.*
         | 
| 130 | 
            -
            AutoTest.Net/
         | 
| 131 | 
            -
            .sass-cache/
         | 
| 132 | 
            -
            [Ee]xpress/
         | 
| 133 | 
            -
            DocProject/buildhelp/
         | 
| 134 | 
            -
            DocProject/Help/*.HxT
         | 
| 135 | 
            -
            DocProject/Help/*.HxC
         | 
| 136 | 
            -
            DocProject/Help/*.hhc
         | 
| 137 | 
            -
            DocProject/Help/*.hhk
         | 
| 138 | 
            -
            DocProject/Help/*.hhp
         | 
| 139 | 
            -
            DocProject/Help/Html2
         | 
| 140 | 
            -
            DocProject/Help/html
         | 
| 141 | 
            -
            publish/
         | 
| 142 | 
            -
            *.[Pp]ublish.xml
         | 
| 143 | 
            -
            *.azurePubxml
         | 
| 144 | 
            -
            *.pubxml
         | 
| 145 | 
            -
            *.publishproj
         | 
| 146 | 
            -
            PublishScripts/
         | 
| 147 | 
            -
            *.nupkg
         | 
| 148 | 
            -
            **/[Pp]ackages/*
         | 
| 149 | 
            -
            !**/[Pp]ackages/build/
         | 
| 150 | 
            -
            *.nuget.props
         | 
| 151 | 
            -
            *.nuget.targets
         | 
| 152 | 
            -
            csx/
         | 
| 153 | 
            -
            *.build.csdef
         | 
| 154 | 
            -
            ecf/
         | 
| 155 | 
            -
            rcf/
         | 
| 156 | 
            -
            AppPackages/
         | 
| 157 | 
            -
            BundleArtifacts/
         | 
| 158 | 
            -
            Package.StoreAssociation.xml
         | 
| 159 | 
            -
            _pkginfo.txt
         | 
| 160 | 
            -
            *.appx
         | 
| 161 | 
            -
            *.[Cc]ache
         | 
| 162 | 
            -
            # but keep track of directories ending in .cache
         | 
| 163 | 
            -
            !*.[Cc]ache/
         | 
| 164 | 
            -
            ClientBin/
         | 
| 165 | 
            -
            ~$*
         | 
| 166 | 
            -
            *~
         | 
| 167 | 
            -
            *.dbmdl
         | 
| 168 | 
            -
            *.dbproj.schemaview
         | 
| 169 | 
            -
            *.jfm
         | 
| 170 | 
            -
            *.pfx
         | 
| 171 | 
            -
            *.publishsettings
         | 
| 172 | 
            -
            orleans.codegen.cs
         | 
| 173 | 
            -
            **/wwwroot/lib/
         | 
| 174 | 
            -
            Generated_Code/
         | 
| 175 | 
            -
            _UpgradeReport_Files/
         | 
| 176 | 
            -
            Backup*/
         | 
| 177 | 
            -
            UpgradeLog*.XML
         | 
| 178 | 
            -
            UpgradeLog*.htm
         | 
| 179 | 
            -
            ServiceFabricBackup/
         | 
| 180 | 
            -
            *.rptproj.bak
         | 
| 181 | 
            -
            *.mdf
         | 
| 182 | 
            -
            *.ldf
         | 
| 183 | 
            -
            *.ndf
         | 
| 184 | 
            -
            *.rdl.data
         | 
| 185 | 
            -
            *.bim.layout
         | 
| 186 | 
            -
            *.bim_*.settings
         | 
| 187 | 
            -
            *.rptproj.rsuser
         | 
| 188 | 
            -
            FakesAssemblies/
         | 
| 189 | 
            -
            *.GhostDoc.xml
         | 
| 190 | 
            -
            .ntvs_analysis.dat
         | 
| 191 | 
            -
            node_modules/
         | 
| 192 | 
            -
            *.plg
         | 
| 193 | 
            -
            *.opt
         | 
| 194 | 
            -
            *.vbw
         | 
| 195 | 
            -
            **/*.HTMLClient/GeneratedArtifacts
         | 
| 196 | 
            -
            **/*.DesktopClient/GeneratedArtifacts
         | 
| 197 | 
            -
            **/*.DesktopClient/ModelManifest.xml
         | 
| 198 | 
            -
            **/*.Server/GeneratedArtifacts
         | 
| 199 | 
            -
            **/*.Server/ModelManifest.xml
         | 
| 200 | 
            -
            _Pvt_Extensions
         | 
| 201 | 
            -
            .paket/paket.exe
         | 
| 202 | 
            -
            paket-files/
         | 
| 203 | 
            -
            .fake/
         | 
| 204 | 
            -
            .idea/
         | 
| 205 | 
            -
            *.sln.iml
         | 
| 206 | 
            -
            .cr/personal
         | 
| 207 | 
            -
            __pycache__/
         | 
| 208 | 
            -
            *.pyc
         | 
| 209 | 
            -
            tools/**
         | 
| 210 | 
            -
            !tools/packages.config
         | 
| 211 | 
            -
            *.tss
         | 
| 212 | 
            -
            *.jmconfig
         | 
| 213 | 
            -
            *.btp.cs
         | 
| 214 | 
            -
            *.btm.cs
         | 
| 215 | 
            -
            *.odx.cs
         | 
| 216 | 
            -
            *.xsd.cs
         | 
| 217 | 
            -
            OpenCover/
         | 
| 218 | 
            -
            ASALocalRun/
         | 
| 219 | 
            -
            *.binlog
         | 
| 220 | 
            -
            *.nvuser
         | 
| 221 | 
            -
            .mfractor/
         | 
| 222 | 
            -
            .localhistory/
         |