makit 0.0.48 → 0.0.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generated/makit/v1/makit.v1_pb.rb +34 -0
  3. data/lib/generated/makit/v1/web/link_pb.rb +20 -0
  4. data/lib/makit/apache.rb +32 -32
  5. data/lib/makit/cli/clean.rb +14 -14
  6. data/lib/makit/cli/clone.rb +59 -59
  7. data/lib/makit/cli/init.rb +38 -38
  8. data/lib/makit/cli/main.rb +33 -33
  9. data/lib/makit/cli/make.rb +54 -54
  10. data/lib/makit/cli/new.rb +37 -37
  11. data/lib/makit/cli/nuget_cache.rb +38 -38
  12. data/lib/makit/cli/pull.rb +31 -31
  13. data/lib/makit/cli/setup.rb +71 -71
  14. data/lib/makit/cli/work.rb +21 -21
  15. data/lib/makit/command_runner.rb +399 -391
  16. data/lib/makit/commands.rb +21 -21
  17. data/lib/makit/content/default_gitignore.rb +5 -5
  18. data/lib/makit/content/default_rakefile.rb +11 -11
  19. data/lib/makit/content/gem_rakefile.rb +14 -14
  20. data/lib/makit/data.rb +50 -50
  21. data/lib/makit/directories.rb +140 -140
  22. data/lib/makit/directory.rb +200 -200
  23. data/lib/makit/dotnet.rb +170 -162
  24. data/lib/makit/environment.rb +127 -127
  25. data/lib/makit/fileinfo.rb +16 -16
  26. data/lib/makit/files.rb +47 -47
  27. data/lib/makit/git.rb +87 -87
  28. data/lib/makit/gitlab_runner.rb +60 -60
  29. data/lib/makit/humanize.rb +129 -129
  30. data/lib/makit/indexer.rb +56 -56
  31. data/lib/makit/logging.rb +96 -96
  32. data/lib/makit/markdown.rb +75 -75
  33. data/lib/makit/mp/basic_object_mp.rb +16 -16
  34. data/lib/makit/mp/command_request.mp.rb +16 -16
  35. data/lib/makit/mp/project_mp.rb +210 -210
  36. data/lib/makit/mp/string_mp.rb +137 -122
  37. data/lib/makit/nuget.rb +57 -57
  38. data/lib/makit/protoc.rb +104 -104
  39. data/lib/makit/serializer.rb +115 -115
  40. data/lib/makit/show.rb +106 -108
  41. data/lib/makit/storage.rb +131 -131
  42. data/lib/makit/symbols.rb +149 -149
  43. data/lib/makit/tasks.rb +61 -60
  44. data/lib/makit/tree.rb +37 -37
  45. data/lib/makit/v1/makit.v1_pb.rb +33 -34
  46. data/lib/makit/v1/makit.v1_services_pb.rb +25 -25
  47. data/lib/makit/version.rb +52 -52
  48. data/lib/makit/wix.rb +95 -95
  49. data/lib/makit/zip.rb +17 -17
  50. data/lib/makit.rb +267 -267
  51. metadata +4 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4bf65e89b94d1ab206b34466510d3d2cf3ca7192326abed228e5064b0ff67f86
4
- data.tar.gz: 5479929cff7896d8aaa41e5e235b7a32a4536be05d96b7c89382acbfc1cffcda
3
+ metadata.gz: c1126dba0ea27b77b9b5d9fb32689f47878419506aee8eb9a4b177b632148832
4
+ data.tar.gz: e388dc96e51162a816d97ea373241edf0ff9b7eaecd640763a3a4196ddd038ef
5
5
  SHA512:
6
- metadata.gz: d60bde714f2f92db408b4a6d208576723c41ad553c1779a2fa98588fd53d2a358a5578553cead5cdfbb9d0490812809cd3f92dd388ac9e6b420829a607a173a0
7
- data.tar.gz: 4161de31ba79d3e9f2d389fd288babc9f4c8db46df7eff4147a99b32e2a7d1bbe1cceb8e31cba0833498a832294b3b2c5d6629e044572fa40475d7f414998425
6
+ metadata.gz: bae18f395ed21a74a5c75dc5b039ca92e495083a15f469bda845dd35873f8f481a0768532984719091baeb16be5f458b4733df48b2beff58cdb5733ff0c6fb5a
7
+ data.tar.gz: d535921e763f176a56c0432ce7dc22240b43eacf4a032e08da1de3b14b17b6030dfbad6851f8e83be0b92c0652a61b91c4a120c9a73fb5c26960c57b2a6389b4
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: makit/v1/makit.v1.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/protobuf/timestamp_pb'
8
+ require 'google/protobuf/duration_pb'
9
+
10
+
11
+ descriptor_data = "\n\x17makit/v1/makit.v1.proto\x12\x08makit.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\"\x92\x02\n\rDotNetProject\x12\x10\n\x08template\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06output\x18\x03 \x01(\t\x12\x10\n\x08packages\x18\x04 \x03(\t\x12\x12\n\nreferences\x18\x05 \x03(\t\x12\n\n\x02os\x18\x06 \x01(\t\x12\x10\n\x08\x63ommands\x18\x07 \x03(\t\x12-\n\nbuild_args\x18\x08 \x03(\x0b\x32\x19.makit.v1.DotNetBuildArgs\x12\x31\n\x0cpublish_args\x18\t \x03(\x0b\x32\x1b.makit.v1.DotNetPublishArgs\x12+\n\ttest_args\x18\n \x03(\x0b\x32\x18.makit.v1.DotNetTestArgs\"8\n\x0f\x44otNetBuildArgs\x12\x15\n\rconfiguration\x18\x01 \x01(\t\x12\x0e\n\x06output\x18\x02 \x01(\t\":\n\x11\x44otNetPublishArgs\x12\x15\n\rconfiguration\x18\x01 \x01(\t\x12\x0e\n\x06output\x18\x02 \x01(\t\"7\n\x0e\x44otNetTestArgs\x12\x15\n\rconfiguration\x18\x01 \x01(\t\x12\x0e\n\x06output\x18\x02 \x01(\t\"\xa8\x01\n\x07Project\x12\x16\n\x0egit_remote_url\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\tartifacts\x18\x03 \x03(\t\x12\x32\n\x10\x63ommand_requests\x18\x04 \x03(\x0b\x32\x18.makit.v1.CommandRequest\x12\x30\n\x0f\x64otnet_projects\x18\x05 \x03(\x0b\x32\x17.makit.v1.DotNetProject\"\xa5\x01\n\x0e\x43ommandRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\targuments\x18\x02 \x03(\t\x12+\n\x07timeout\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x11\n\tdirectory\x18\x04 \x01(\t\x12\x0c\n\x04task\x18\x05 \x01(\t\x12\r\n\x05input\x18\x06 \x01(\x0c\x12\x15\n\rexit_on_error\x18\x07 \x01(\x08\"\x91\x02\n\x07\x43ommand\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\targuments\x18\x03 \x03(\t\x12\x11\n\texit_code\x18\x04 \x01(\x05\x12\r\n\x05input\x18\x05 \x01(\x0c\x12\x0e\n\x06output\x18\x06 \x01(\x0c\x12\r\n\x05\x65rror\x18\x07 \x01(\x0c\x12.\n\nstarted_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x08\x64uration\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x0c\n\x04user\x18\n \x01(\t\x12\x0e\n\x06\x64\x65vice\x18\x0b \x01(\t\x12\n\n\x02os\x18\x0c \x01(\t\x12\x11\n\tdirectory\x18\r \x01(\t\"I\n\rConfiguration\x12\x0c\n\x04name\x18\x01 \x01(\t\x12*\n\x08\x63ommands\x18\x02 \x03(\x0b\x32\x18.makit.v1.CommandRequest\"3\n\rGitRepository\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x15\n\rrelative_path\x18\x02 \x01(\t\"h\n\x0bGitLogEntry\x12\x0e\n\x06\x63ommit\x18\x01 \x01(\t\x12\x0e\n\x06\x61uthor\x18\x02 \x01(\t\x12(\n\x04\x64\x61te\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07message\x18\x04 \x01(\t\"\xc8\x01\n\nMakeResult\x12\x12\n\nrepository\x18\x01 \x01(\t\x12\x0e\n\x06\x63ommit\x18\x02 \x01(\t\x12\x0e\n\x06\x62ranch\x18\x03 \x01(\t\x12\x0b\n\x03tag\x18\x04 \x01(\t\x12\x0e\n\x06\x64\x65vice\x18\x05 \x01(\t\x12\x1a\n\x12runtime_identifier\x18\x06 \x01(\t\x12#\n\x08\x63ommands\x18\x07 \x03(\x0b\x32\x11.makit.v1.Command\x12\x14\n\x0cinitial_size\x18\x08 \x01(\x05\x12\x12\n\nfinal_size\x18\t \x01(\x05\"?\n\rDotNetNewArgs\x12\x10\n\x08template\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06output\x18\x03 \x01(\t\"^\n\rManifestEntry\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x31\n\rlast_modified\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04size\x18\x03 \x01(\x03**\n\x08Language\x12\x08\n\x04RUBY\x10\x00\x12\n\n\x06\x43SHARP\x10\x01\x12\x08\n\x04RUST\x10\x02*,\n\x0bPackageType\x12\x07\n\x03GEM\x10\x00\x12\t\n\x05NUGET\x10\x01\x12\t\n\x05\x43RATE\x10\x03\x32H\n\x0e\x43ommandService\x12\x36\n\x07\x45xecute\x12\x18.makit.v1.CommandRequest\x1a\x11.makit.v1.Commandb\x06proto3"
12
+
13
+ pool = Google::Protobuf::DescriptorPool.generated_pool
14
+ pool.add_serialized_file(descriptor_data)
15
+
16
+ module Makit
17
+ module V1
18
+ DotNetProject = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.DotNetProject").msgclass
19
+ DotNetBuildArgs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.DotNetBuildArgs").msgclass
20
+ DotNetPublishArgs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.DotNetPublishArgs").msgclass
21
+ DotNetTestArgs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.DotNetTestArgs").msgclass
22
+ Project = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.Project").msgclass
23
+ CommandRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.CommandRequest").msgclass
24
+ Command = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.Command").msgclass
25
+ Configuration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.Configuration").msgclass
26
+ GitRepository = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.GitRepository").msgclass
27
+ GitLogEntry = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.GitLogEntry").msgclass
28
+ MakeResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.MakeResult").msgclass
29
+ DotNetNewArgs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.DotNetNewArgs").msgclass
30
+ ManifestEntry = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.ManifestEntry").msgclass
31
+ Language = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.Language").enummodule
32
+ PackageType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.PackageType").enummodule
33
+ end
34
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: makit/v1/web/link.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/protobuf/timestamp_pb'
8
+ require 'google/protobuf/duration_pb'
9
+
10
+
11
+ descriptor_data = "\n\x17makit/v1/web/link.proto\x12\x08makit.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\"6\n\x04Link\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\tb\x06proto3"
12
+
13
+ pool = Google::Protobuf::DescriptorPool.generated_pool
14
+ pool.add_serialized_file(descriptor_data)
15
+
16
+ module Makit
17
+ module V1
18
+ Link = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.Link").msgclass
19
+ end
20
+ end
data/lib/makit/apache.rb CHANGED
@@ -1,32 +1,32 @@
1
- # frozen_string_literal: true
2
-
3
- # This module provides classes for the Makit gem.
4
- module Makit
5
- # This class provide methods for working with the system Environment.
6
- #
7
- class Apache
8
- def self.server_root
9
- os = Makit::Environment::get_os
10
- if os == "windows"
11
- "C:\\Apache24"
12
- elsif os == "linux"
13
- "/etc/apache2"
14
- elsif os == "mac"
15
- "/private/etc/apache2"
16
- else
17
- nil
18
- end
19
- # default on windows: C:\Apache24
20
- # default on linux: /etc/apache2
21
- # default on mac: /private/etc/apache2
22
- #nil
23
- end
24
-
25
- def self.document_root
26
- # default on windows: C:\Apache24\htdocs
27
- # default on linux: /var/www/html
28
- # default on mac: /Library/WebServer/Documents
29
- nil
30
- end
31
- end
32
- end
1
+ # frozen_string_literal: true
2
+
3
+ # This module provides classes for the Makit gem.
4
+ module Makit
5
+ # This class provide methods for working with the system Environment.
6
+ #
7
+ class Apache
8
+ def self.server_root
9
+ os = Makit::Environment::get_os
10
+ if os == "windows"
11
+ "C:\\Apache24"
12
+ elsif os == "linux"
13
+ "/etc/apache2"
14
+ elsif os == "mac"
15
+ "/private/etc/apache2"
16
+ else
17
+ nil
18
+ end
19
+ # default on windows: C:\Apache24
20
+ # default on linux: /etc/apache2
21
+ # default on mac: /private/etc/apache2
22
+ #nil
23
+ end
24
+
25
+ def self.document_root
26
+ # default on windows: C:\Apache24\htdocs
27
+ # default on linux: /var/www/html
28
+ # default on mac: /Library/WebServer/Documents
29
+ nil
30
+ end
31
+ end
32
+ end
@@ -1,14 +1,14 @@
1
- # frozen_string_literal: true
2
-
3
- require "clamp"
4
-
5
- module Makit
6
- module Cli
7
- # Define the 'new' subcommand
8
- class CleanCommand < Clamp::Command
9
- def execute
10
- puts "TODO: implement clean command"
11
- end
12
- end
13
- end
14
- end
1
+ # frozen_string_literal: true
2
+
3
+ require "clamp"
4
+
5
+ module Makit
6
+ module Cli
7
+ # Define the 'new' subcommand
8
+ class CleanCommand < Clamp::Command
9
+ def execute
10
+ puts "TODO: implement clean command"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -1,59 +1,59 @@
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
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
@@ -1,38 +1,38 @@
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
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
@@ -1,33 +1,33 @@
1
- # frozen_string_literal: true
2
-
3
- require "clamp"
4
- require_relative "new"
5
- require_relative "setup"
6
- require_relative "make"
7
- require_relative "work"
8
- require_relative "clean"
9
- require_relative "clone"
10
- require_relative "pull"
11
- require_relative "init"
12
- require_relative "nuget_cache"
13
-
14
- module Makit
15
- module Cli
16
- # Define the main command which includes the subcommands
17
- class MainCommand < Clamp::Command
18
- option ["-v", "--version"], :flag, "Show version" do
19
- puts "makit version #{Makit::VERSION}"
20
- exit(0)
21
- end
22
- subcommand "new", "Create a new entity", NewCommand
23
- subcommand "setup", "Setup a project directory", SetupCommand
24
- subcommand "work", "Work on a project", WorkCommand
25
- subcommand "make", "Make a project", MakeCommand
26
- subcommand "clean", "Clean a project", CleanCommand
27
- subcommand "clone", "Clone a git repository", CloneCommand
28
- subcommand "pull", "Pull latest changes from a git repository", PullCommand
29
- subcommand "init", "Initialize a directory as a git repository", InitCommand
30
- subcommand "nuget_cache", "Manage the NuGet cache", NugetCacheCommand
31
- end
32
- end
33
- end
1
+ # frozen_string_literal: true
2
+
3
+ require "clamp"
4
+ require_relative "new"
5
+ require_relative "setup"
6
+ require_relative "make"
7
+ require_relative "work"
8
+ require_relative "clean"
9
+ require_relative "clone"
10
+ require_relative "pull"
11
+ require_relative "init"
12
+ require_relative "nuget_cache"
13
+
14
+ module Makit
15
+ module Cli
16
+ # Define the main command which includes the subcommands
17
+ class MainCommand < Clamp::Command
18
+ option ["-v", "--version"], :flag, "Show version" do
19
+ puts "makit version #{Makit::VERSION}"
20
+ exit(0)
21
+ end
22
+ subcommand "new", "Create a new entity", NewCommand
23
+ subcommand "setup", "Setup a project directory", SetupCommand
24
+ subcommand "work", "Work on a project", WorkCommand
25
+ subcommand "make", "Make a project", MakeCommand
26
+ subcommand "clean", "Clean a project", CleanCommand
27
+ subcommand "clone", "Clone a git repository", CloneCommand
28
+ subcommand "pull", "Pull latest changes from a git repository", PullCommand
29
+ subcommand "init", "Initialize a directory as a git repository", InitCommand
30
+ subcommand "nuget_cache", "Manage the NuGet cache", NugetCacheCommand
31
+ end
32
+ end
33
+ end
@@ -1,54 +1,54 @@
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
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 CHANGED
@@ -1,37 +1,37 @@
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
+ # 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