makit 0.0.68 → 0.0.70

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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/lib/makit/apache.rb +32 -32
  3. data/lib/makit/cli/clean.rb +14 -14
  4. data/lib/makit/cli/clone.rb +59 -59
  5. data/lib/makit/cli/init.rb +38 -38
  6. data/lib/makit/cli/main.rb +33 -33
  7. data/lib/makit/cli/make.rb +54 -54
  8. data/lib/makit/cli/new.rb +37 -37
  9. data/lib/makit/cli/nuget_cache.rb +38 -38
  10. data/lib/makit/cli/pull.rb +31 -31
  11. data/lib/makit/cli/setup.rb +71 -71
  12. data/lib/makit/cli/work.rb +21 -21
  13. data/lib/makit/command_runner.rb +404 -404
  14. data/lib/makit/commands.rb +21 -21
  15. data/lib/makit/content/default_gitignore.rb +5 -5
  16. data/lib/makit/content/default_rakefile.rb +11 -11
  17. data/lib/makit/content/gem_rakefile.rb +14 -14
  18. data/lib/makit/data.rb +50 -50
  19. data/lib/makit/directories.rb +143 -143
  20. data/lib/makit/directory.rb +264 -264
  21. data/lib/makit/docs/files.rb +94 -0
  22. data/lib/makit/docs/rake.rb +101 -0
  23. data/lib/makit/dotnet.rb +182 -182
  24. data/lib/makit/environment.rb +127 -127
  25. data/lib/makit/fileinfo.rb +26 -16
  26. data/lib/makit/files.rb +47 -47
  27. data/lib/makit/git.rb +145 -96
  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 +106 -106
  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_mp.rb +13 -0
  35. data/lib/makit/mp/command_request.mp.rb +16 -16
  36. data/lib/makit/mp/project_mp.rb +210 -210
  37. data/lib/makit/mp/string_mp.rb +137 -137
  38. data/lib/makit/nuget.rb +62 -62
  39. data/lib/makit/process.rb +26 -26
  40. data/lib/makit/protoc.rb +104 -104
  41. data/lib/makit/secrets.rb +51 -51
  42. data/lib/makit/serializer.rb +115 -115
  43. data/lib/makit/show.rb +110 -110
  44. data/lib/makit/storage.rb +131 -131
  45. data/lib/makit/symbols.rb +149 -149
  46. data/lib/makit/task_info.rb +79 -0
  47. data/lib/makit/tasks.rb +123 -68
  48. data/lib/makit/tree.rb +37 -37
  49. data/lib/makit/v1/makit.v1_pb.rb +34 -34
  50. data/lib/makit/v1/makit.v1_services_pb.rb +25 -25
  51. data/lib/makit/version.rb +65 -65
  52. data/lib/makit/wix.rb +95 -95
  53. data/lib/makit/yaml.rb +17 -17
  54. data/lib/makit/zip.rb +17 -17
  55. data/lib/makit.rb +267 -267
  56. metadata +7 -5
  57. data/lib/generated/makit/v1/makit.v1_pb.rb +0 -35
  58. data/lib/generated/makit/v1/web/link_pb.rb +0 -20
data/lib/makit/tasks.rb CHANGED
@@ -1,68 +1,123 @@
1
- # frozen_string_literal: true
2
- require "digest"
3
- require "rake/clean"
4
- #require "sqlite3"
5
-
6
- # This module provides classes for the Makit gem.
7
- module Makit
8
- # This class provide methods for managing persistent data for the makit gem
9
- class Tasks
10
- def self.run_default_commands(task_name)
11
- Makit::LOGGER.debug("Running default commands for task: #{task_name}")
12
- end
13
- end
14
- end
15
-
16
- desc "Remove any temporary products."
17
- task :clean do
18
- Makit::SHOW.task(:clean)
19
- Makit::RUNNER.run(Makit::RUNNER.parse_command_request("git clean -dXf"))
20
- end
21
-
22
- desc "Integrate changes into the git repository."
23
- task :integrate do
24
- Makit::SHOW.task(:integrate)
25
- Makit::Git.integrate
26
- end
27
-
28
- desc "Sync changes with the git repository."
29
- task :sync do
30
- Makit::SHOW.task(:sync)
31
- Makit::Git.sync
32
- end
33
-
34
- task :pull do
35
- Makit::SHOW.task(:pull)
36
- Makit::Git.pull
37
- end
38
-
39
- desc "pull changes from the remote branch, preferring incoming changes for conflicts"
40
- task :pull_incoming do
41
- Makit::SHOW.task(:pull_incoming)
42
- puts " git branch is #{Makit::Git.branch}"
43
- "git pull origin #{Makit::Git.branch} -X theirs".try
44
- end
45
-
46
- desc "Format source code."
47
- task :format do
48
- Makit::SHOW.task(:format)
49
- Makit::RUNNER.try("rufo .") if File.exist?("Gemfile") || File.exist?("Rakefile")
50
- end
51
-
52
- desc "Update dependencies."
53
- task :update do
54
- Makit::SHOW.task(:update)
55
- yesterday = Time.now - 24 * 60 * 60
56
- system("bundle update") if File.exist?("Gemfile")
57
- # glob all *.csproj files
58
- Dir.glob("**/*.csproj").each do |file|
59
- "dotnet format #{file}".cache_try(yesterday)
60
- end
61
- end
62
-
63
- # Register the at_exit hook for cleanup
64
- at_exit do
65
- #puts "at_exit in tasks.rb...."
66
- duration = Time.now - Makit::STARTTIME
67
- puts " completed in ".colorize(:grey) + Makit::Humanize.get_humanized_duration(duration).colorize(:green)
68
- end
1
+ # frozen_string_literal: true
2
+ require "digest"
3
+ require "rake/clean"
4
+ #require "sqlite3"
5
+
6
+ # This module provides classes for the Makit gem.
7
+ module Makit
8
+ # This class provide methods for managing persistent data for the makit gem
9
+ class Tasks
10
+ def self.run_default_commands(task_name)
11
+ Makit::LOGGER.debug("Running default commands for task: #{task_name}")
12
+ end
13
+ end
14
+ end
15
+
16
+ desc "Remove any temporary products."
17
+ task :clean do
18
+ Makit::SHOW.task(:clean)
19
+ Makit::RUNNER.run(Makit::RUNNER.parse_command_request("git clean -dXf"))
20
+ end
21
+
22
+ desc "Integrate changes into the git repository."
23
+ task :integrate do
24
+ Makit::TaskInfo.track(:integrate) do
25
+ unstaged_files = Makit::Git.unstaged_files
26
+ untracked_files = Makit::Git.untracked_files
27
+ if unstaged_files.length > 0 || untracked_files.length > 0
28
+ Makit::Git.integrate
29
+ else
30
+ puts " No unstaged or untracked files found".colorize(:grey)
31
+ end
32
+ end
33
+ end
34
+
35
+ #
36
+ # Tag task
37
+ #
38
+ desc "tag the current version"
39
+ task :tag do
40
+ Makit::TaskInfo.track(:tag) do
41
+ Makit::Git.tag(Makit::VERSION)
42
+ end
43
+ end
44
+
45
+ desc "Sync changes with the git repository."
46
+ task :sync do
47
+ Makit::SHOW.task(:sync)
48
+ Makit::Git.sync
49
+ end
50
+
51
+ task :pull do
52
+ Makit::SHOW.task(:pull)
53
+ Makit::Git.pull
54
+ end
55
+
56
+ desc "pull changes from the remote branch, preferring incoming changes for conflicts"
57
+ task :pull_incoming do
58
+ Makit::TaskInfo.track(:pull_incoming) do
59
+ #Makit::SHOW.task(:pull_incoming)
60
+ puts " git branch is ".colorize(:grey) + "#{Makit::Git.branch}".colorize(:green)
61
+ "git pull origin #{Makit::Git.branch} -X theirs".try
62
+ end
63
+ end
64
+
65
+ desc "Format source code."
66
+ task :format do
67
+ Makit::SHOW.task(:format)
68
+ Makit::RUNNER.try("rufo .") if File.exist?("Gemfile") || File.exist?("Rakefile")
69
+ end
70
+
71
+ #
72
+ # Update docs task
73
+ #
74
+ desc "update the docs for the project"
75
+ task :update_docs do
76
+ Makit::TaskInfo.track(:update_docs) do
77
+ Makit::Docs::Rake.generate
78
+ Makit::Docs::Files.generate
79
+ end
80
+ end
81
+
82
+ desc "Update dependencies."
83
+ task :update do
84
+ Makit::SHOW.task(:update)
85
+ yesterday = Time.now - 24 * 60 * 60
86
+ system("bundle update") if File.exist?("Gemfile")
87
+ # glob all *.csproj files
88
+ Dir.glob("**/*.csproj").each do |file|
89
+ "dotnet format #{file}".cache_try(yesterday)
90
+ end
91
+ end
92
+
93
+ # Register the at_exit hook for cleanup
94
+ at_exit do
95
+ #puts "at_exit in tasks.rb...."
96
+
97
+ puts " "
98
+
99
+ # let define some properties
100
+ properties = {
101
+ "version" => (defined?(Makit::VERSION) ? Makit::VERSION : ""),
102
+ "branch" => Makit::Git.branch,
103
+ "user" => ENV["USER"],
104
+ "machine" => ENV["COMPUTERNAME"],
105
+ "os" => ENV["OS"],
106
+ "largest src" => Makit::Git.get_file_infos.max_by(&:size).name,
107
+ "largest src size" => Makit::Humanize.get_humanized_size(Makit::Git.get_file_infos.max_by(&:size).size),
108
+ "largest artifact" => Makit::Git.get_untracked_file_infos.max_by(&:size).name,
109
+ "largest artifact size" => Makit::Humanize.get_humanized_size(Makit::Git.get_untracked_file_infos.max_by(&:size).size),
110
+ }
111
+
112
+ # display the properties as a table, right justify the key to 20 characters
113
+ properties.each do |key, value|
114
+ puts " #{key.ljust(25)} ".colorize(:grey) + "#{value}".colorize(:green)
115
+ end
116
+ puts " "
117
+
118
+ # display the duration
119
+
120
+
121
+ duration = Time.now - Makit::STARTTIME
122
+ puts " rake #{Makit::Docs::Rake.get_top_task_name}".colorize(:green) + " on branch ".colorize(:grey) + "#{Makit::Git.branch}".colorize(:green) + " completed in ".colorize(:grey) + Makit::Humanize.get_humanized_duration(duration).colorize(:green)
123
+ end
data/lib/makit/tree.rb CHANGED
@@ -1,37 +1,37 @@
1
- # frozen_string_literal: true
2
-
3
- # This module provides classes for the Makit gem.
4
- module Makit
5
- class Tree
6
- def get_source_tree
7
- files = `git ls-files`.split("\n")
8
- tree = {}
9
-
10
- # Build a nested hash representing the file structure
11
- files.each do |file|
12
- parts = file.split("/")
13
- current = tree
14
-
15
- parts.each_with_index do |part, index|
16
- current[part] ||= (index == parts.length - 1 ? nil : {})
17
- current = current[part] unless current[part].nil?
18
- end
19
- end
20
-
21
- generate_tree_string(tree)
22
- end
23
-
24
- def generate_tree_string(tree, indent = "")
25
- result = ""
26
- tree.each do |key, value|
27
- if value.is_a?(Hash)
28
- result << "#{indent}#{key}/\n"
29
- result << generate_tree_string(value, "#{indent} ")
30
- else
31
- result << "#{indent}#{key}\n"
32
- end
33
- end
34
- result
35
- end
36
- end
37
- end
1
+ # frozen_string_literal: true
2
+
3
+ # This module provides classes for the Makit gem.
4
+ module Makit
5
+ class Tree
6
+ def get_source_tree
7
+ files = `git ls-files`.split("\n")
8
+ tree = {}
9
+
10
+ # Build a nested hash representing the file structure
11
+ files.each do |file|
12
+ parts = file.split("/")
13
+ current = tree
14
+
15
+ parts.each_with_index do |part, index|
16
+ current[part] ||= (index == parts.length - 1 ? nil : {})
17
+ current = current[part] unless current[part].nil?
18
+ end
19
+ end
20
+
21
+ generate_tree_string(tree)
22
+ end
23
+
24
+ def generate_tree_string(tree, indent = "")
25
+ result = ""
26
+ tree.each do |key, value|
27
+ if value.is_a?(Hash)
28
+ result << "#{indent}#{key}/\n"
29
+ result << generate_tree_string(value, "#{indent} ")
30
+ else
31
+ result << "#{indent}#{key}\n"
32
+ end
33
+ end
34
+ result
35
+ end
36
+ end
37
+ end
@@ -1,34 +1,34 @@
1
- # frozen_string_literal: true
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # source: lib/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
- descriptor_data = "\n\x1blib/makit/v1/makit.v1.proto\x12\x08makit.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\"/\n\x0b\x45nvironment\x12\n\n\x02os\x18\x01 \x01(\t\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\t\"\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"
11
-
12
- pool = Google::Protobuf::DescriptorPool.generated_pool
13
- pool.add_serialized_file(descriptor_data)
14
-
15
- module Makit
16
- module V1
17
- Environment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.Environment").msgclass
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
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: lib/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
+ descriptor_data = "\n\x1blib/makit/v1/makit.v1.proto\x12\x08makit.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\"/\n\x0b\x45nvironment\x12\n\n\x02os\x18\x01 \x01(\t\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\t\"\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"
11
+
12
+ pool = Google::Protobuf::DescriptorPool.generated_pool
13
+ pool.add_serialized_file(descriptor_data)
14
+
15
+ module Makit
16
+ module V1
17
+ Environment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("makit.v1.Environment").msgclass
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
@@ -1,25 +1,25 @@
1
- # Generated by the protocol buffer compiler. DO NOT EDIT!
2
- # Source: lib/makit/v1/makit.v1.proto for package 'makit.v1'
3
-
4
- require "grpc"
5
- require_relative "makit.v1_pb"
6
-
7
- module Makit
8
- module V1
9
- module CommandService
10
- # Service to execute commands on devices.
11
- class Service
12
- include ::GRPC::GenericService
13
-
14
- self.marshal_class_method = :encode
15
- self.unmarshal_class_method = :decode
16
- self.service_name = "makit.v1.CommandService"
17
-
18
- # Execute a command on a device.
19
- rpc :Execute, ::Makit::V1::CommandRequest, ::Makit::V1::Command
20
- end
21
-
22
- Stub = Service.rpc_stub_class
23
- end
24
- end
25
- end
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: lib/makit/v1/makit.v1.proto for package 'makit.v1'
3
+
4
+ require "grpc"
5
+ require_relative "makit.v1_pb"
6
+
7
+ module Makit
8
+ module V1
9
+ module CommandService
10
+ # Service to execute commands on devices.
11
+ class Service
12
+ include ::GRPC::GenericService
13
+
14
+ self.marshal_class_method = :encode
15
+ self.unmarshal_class_method = :decode
16
+ self.service_name = "makit.v1.CommandService"
17
+
18
+ # Execute a command on a device.
19
+ rpc :Execute, ::Makit::V1::CommandRequest, ::Makit::V1::Command
20
+ end
21
+
22
+ Stub = Service.rpc_stub_class
23
+ end
24
+ end
25
+ end
data/lib/makit/version.rb CHANGED
@@ -1,65 +1,65 @@
1
- # frozen_string_literal: true
2
-
3
- module Makit
4
- VERSION = "0.0.68"
5
-
6
- class Version
7
- # given an array of version strings, return the highest version
8
- def self.get_highest_version(versions)
9
- versions.sort { |a, b| Gem::Version.new(a) <=> Gem::Version.new(b) }.last
10
- end
11
-
12
- # example content from .gitlab-ci.yml
13
- #variables:
14
- # VERSION: "0.0.26" # Define the version here
15
-
16
- def self.get_version_from_file(path)
17
- if (!File.exist?(path))
18
- raise "file #{path}does not exist"
19
- end
20
-
21
- extension = File.extname(path)
22
- #switch = extension.downcase
23
- #case switch
24
- #if extension == ".csproj"
25
- switch = extension.downcase
26
- case switch
27
- when ".csproj"
28
- Makit::Version.detect_from_file(path, /<Version>([-\w\d.]+)</)
29
- when ".wxs"
30
- Makit::Version.detect_from_file(path, / Version="([\d\.]+)"/)
31
- when ".yml"
32
- Makit::Version.detect_from_file(path, /VERSION:\s*["']?([\d\.]+)["']?/)
33
- else
34
- raise "unrecognized file type"
35
- end
36
- end
37
-
38
- def self.detect_from_file(filename, regex)
39
- if File.exist?(filename)
40
- match = IO.read(filename).match(regex)
41
- match.captures[0] if !match.nil? && match.captures.length.positive?
42
- else
43
- raise "unable to find version in #{filename}"
44
- end
45
- end
46
-
47
- def self.set_version_in_file(filename, version)
48
- text = IO.read(filename)
49
- new_text = text
50
- new_text = text.gsub(/VERSION:\s?['|"]([.\d]+)['|"]/, "VERSION: \"#{version}\"") if filename.include?(".yml")
51
- new_text = text.gsub(/version\s?=\s?['|"]([.\d]+)['|"]/, "version='#{version}'") if filename.include?(".gemspec")
52
- new_text = text.gsub(/<Version>([-\w\d.]+)</, "<Version>#{version}<") if filename.include?(".csproj")
53
- new_text = text.gsub(/<version>([-\w\d.]+)</, "<version>#{version}<") if filename.include?(".nuspec")
54
- new_text = text.gsub(/ Version="([\d\.]+)"/, " Version=\"#{version}\"") if filename.include?(".wxs")
55
- new_text = text.gsub(/version\s+=\s+['"]([\w.]+)['"]/, "version=\"#{version}\"") if filename.include?(".toml")
56
- File.open(filename, "w") { |f| f.write(new_text) } if new_text != text
57
- end
58
-
59
- def self.set_version_in_files(glob_pattern, version)
60
- Dir.glob(glob_pattern).each do |filename|
61
- set_version_in_file(filename, version)
62
- end
63
- end
64
- end
65
- end
1
+ # frozen_string_literal: true
2
+
3
+ module Makit
4
+ VERSION = "0.0.70"
5
+
6
+ class Version
7
+ # given an array of version strings, return the highest version
8
+ def self.get_highest_version(versions)
9
+ versions.sort { |a, b| Gem::Version.new(a) <=> Gem::Version.new(b) }.last
10
+ end
11
+
12
+ # example content from .gitlab-ci.yml
13
+ #variables:
14
+ # VERSION: "0.0.26" # Define the version here
15
+
16
+ def self.get_version_from_file(path)
17
+ if (!File.exist?(path))
18
+ raise "file #{path}does not exist"
19
+ end
20
+
21
+ extension = File.extname(path)
22
+ #switch = extension.downcase
23
+ #case switch
24
+ #if extension == ".csproj"
25
+ switch = extension.downcase
26
+ case switch
27
+ when ".csproj"
28
+ Makit::Version.detect_from_file(path, /<Version>([-\w\d.]+)</)
29
+ when ".wxs"
30
+ Makit::Version.detect_from_file(path, / Version="([\d\.]+)"/)
31
+ when ".yml"
32
+ Makit::Version.detect_from_file(path, /VERSION:\s*["']?([\d\.]+)["']?/)
33
+ else
34
+ raise "unrecognized file type"
35
+ end
36
+ end
37
+
38
+ def self.detect_from_file(filename, regex)
39
+ if File.exist?(filename)
40
+ match = IO.read(filename).match(regex)
41
+ match.captures[0] if !match.nil? && match.captures.length.positive?
42
+ else
43
+ raise "unable to find version in #{filename}"
44
+ end
45
+ end
46
+
47
+ def self.set_version_in_file(filename, version)
48
+ text = IO.read(filename)
49
+ new_text = text
50
+ new_text = text.gsub(/VERSION:\s?['|"]([.\d]+)['|"]/, "VERSION: \"#{version}\"") if filename.include?(".yml")
51
+ new_text = text.gsub(/version\s?=\s?['|"]([.\d]+)['|"]/, "version='#{version}'") if filename.include?(".gemspec")
52
+ new_text = text.gsub(/<Version>([-\w\d.]+)</, "<Version>#{version}<") if filename.include?(".csproj")
53
+ new_text = text.gsub(/<version>([-\w\d.]+)</, "<version>#{version}<") if filename.include?(".nuspec")
54
+ new_text = text.gsub(/ Version="([\d\.]+)"/, " Version=\"#{version}\"") if filename.include?(".wxs")
55
+ new_text = text.gsub(/version\s+=\s+['"]([\w.]+)['"]/, "version=\"#{version}\"") if filename.include?(".toml")
56
+ File.open(filename, "w") { |f| f.write(new_text) } if new_text != text
57
+ end
58
+
59
+ def self.set_version_in_files(glob_pattern, version)
60
+ Dir.glob(glob_pattern).each do |filename|
61
+ set_version_in_file(filename, version)
62
+ end
63
+ end
64
+ end
65
+ end