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.
- checksums.yaml +4 -4
- data/lib/makit/apache.rb +32 -32
- data/lib/makit/cli/clean.rb +14 -14
- data/lib/makit/cli/clone.rb +59 -59
- data/lib/makit/cli/init.rb +38 -38
- data/lib/makit/cli/main.rb +33 -33
- data/lib/makit/cli/make.rb +54 -54
- data/lib/makit/cli/new.rb +37 -37
- data/lib/makit/cli/nuget_cache.rb +38 -38
- data/lib/makit/cli/pull.rb +31 -31
- data/lib/makit/cli/setup.rb +71 -71
- data/lib/makit/cli/work.rb +21 -21
- data/lib/makit/command_runner.rb +404 -404
- data/lib/makit/commands.rb +21 -21
- data/lib/makit/content/default_gitignore.rb +5 -5
- data/lib/makit/content/default_rakefile.rb +11 -11
- data/lib/makit/content/gem_rakefile.rb +14 -14
- data/lib/makit/data.rb +50 -50
- data/lib/makit/directories.rb +143 -143
- data/lib/makit/directory.rb +264 -264
- data/lib/makit/docs/files.rb +94 -0
- data/lib/makit/docs/rake.rb +101 -0
- data/lib/makit/dotnet.rb +182 -182
- data/lib/makit/environment.rb +127 -127
- data/lib/makit/fileinfo.rb +26 -16
- data/lib/makit/files.rb +47 -47
- data/lib/makit/git.rb +145 -96
- data/lib/makit/gitlab_runner.rb +60 -60
- data/lib/makit/humanize.rb +129 -129
- data/lib/makit/indexer.rb +56 -56
- data/lib/makit/logging.rb +106 -106
- data/lib/makit/markdown.rb +75 -75
- data/lib/makit/mp/basic_object_mp.rb +16 -16
- data/lib/makit/mp/command_mp.rb +13 -0
- data/lib/makit/mp/command_request.mp.rb +16 -16
- data/lib/makit/mp/project_mp.rb +210 -210
- data/lib/makit/mp/string_mp.rb +137 -137
- data/lib/makit/nuget.rb +62 -62
- data/lib/makit/process.rb +26 -26
- data/lib/makit/protoc.rb +104 -104
- data/lib/makit/secrets.rb +51 -51
- data/lib/makit/serializer.rb +115 -115
- data/lib/makit/show.rb +110 -110
- data/lib/makit/storage.rb +131 -131
- data/lib/makit/symbols.rb +149 -149
- data/lib/makit/task_info.rb +79 -0
- data/lib/makit/tasks.rb +123 -68
- data/lib/makit/tree.rb +37 -37
- data/lib/makit/v1/makit.v1_pb.rb +34 -34
- data/lib/makit/v1/makit.v1_services_pb.rb +25 -25
- data/lib/makit/version.rb +65 -65
- data/lib/makit/wix.rb +95 -95
- data/lib/makit/yaml.rb +17 -17
- data/lib/makit/zip.rb +17 -17
- data/lib/makit.rb +267 -267
- metadata +7 -5
- data/lib/generated/makit/v1/makit.v1_pb.rb +0 -35
- 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::
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
end
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
task
|
48
|
-
Makit::
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
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
|
data/lib/makit/v1/makit.v1_pb.rb
CHANGED
@@ -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.
|
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
|