makit 0.0.27 → 0.0.28

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2e0558227c98ae70bbcb9f96561aa27ab4ebad67847c1b587146cf6d080b428b
4
- data.tar.gz: a3ac7e680571b70db90582d61b188d3da6e1c4091bd217406e720ad14930b28b
3
+ metadata.gz: 59e3040750721c32917be211bd138bb66fe39606b7104c461db28afd7db3b0e6
4
+ data.tar.gz: ef979b03839b0237baf973a2bbd74842c9d62c04a49a218915054727ee5f44b3
5
5
  SHA512:
6
- metadata.gz: adba8a093efe78e64ce407d77b7d4f475ab0cd87c7d0d92138712e29b3305c2a316f4a7e8321210ef8b3c8742323bda0b33ed149de674fd069373b3cc2986998
7
- data.tar.gz: 908c8e3c8014dc75a0cda1fde331d56291908bef292133ddc472f491156e7409e7cc0958ea3656a736ba10234ff0307b53448856c3676b5c9e7fe7cd2233ed15
6
+ metadata.gz: aa2a0a557088dbe73ef772a2d2f8a7e8314ec472241a9f6340aadd09589c34cc968202cc64d93878491106530d4e9b29748e45801a81547182001aaa42257149
7
+ data.tar.gz: 4d6e68cee15e15d53b72453806af12924c0553b1b096183bbcb7c2081669568c3ce5696b1098ab2632ac8f30d198646473b913275b47cbb4edde558a542fc29b
@@ -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
@@ -11,13 +11,14 @@ module Makit
11
11
  #
12
12
  class CommandRunner
13
13
  attr_accessor :show_output_on_success, :log_to_artifacts, :commands
14
- attr_accessor :debug
14
+ attr_accessor :debug, :default_modified
15
15
 
16
16
  def initialize
17
17
  @show_output_on_success = false
18
18
  @log_to_artifacts = false
19
19
  @commands = []
20
20
  @debug = false
21
+ @default_modified = Makit::Git::get_file_infos.first.mtime # Makit::GIT_FILE_INFOS.first.mtime
21
22
  end
22
23
 
23
24
  def get_cache_filename(command)
@@ -30,6 +31,10 @@ module Makit
30
31
  cache_filename
31
32
  end
32
33
 
34
+ def cache_run(command_request)
35
+ cache_run(command_request, @default_modified)
36
+ end
37
+
33
38
  # if there is a matching cached command result, that then the specified timestamp,
34
39
  # then return the cached result
35
40
  # otherwise run the command and save the result to a cache file
@@ -38,6 +43,11 @@ module Makit
38
43
  raise "Invalid command_request" unless command_request.is_a? Makit::V1::CommandRequest
39
44
  cache_filename = get_cache_filename(command_request)
40
45
 
46
+ # Check if timestamp is a valid Time object
47
+ unless timestamp.is_a?(Time)
48
+ raise ArgumentError, "timestamp must be a Time object, got #{timestamp.class}"
49
+ end
50
+
41
51
  if debug
42
52
  puts " timestamp: #{Makit::Humanize.get_humanized_timestamp(timestamp)}"
43
53
  puts " command.name: #{command_request.name}"
@@ -35,6 +35,11 @@ class String
35
35
  end
36
36
  end
37
37
 
38
+ def cache_run()
39
+ command = self
40
+ Makit::RUNNER.cache_run(Makit::RUNNER::parse_command_request(command))
41
+ end
42
+
38
43
  def cache_run(timestamp = nil)
39
44
  if timestamp.nil?
40
45
  timestamp = Makit::GIT_FILE_INFOS.first.mtime #GIT_FILE_INFOS. Makit::Directory.get_newest_git_file_timestamp(Makit::Directories::PROJECT_ROOT)
data/lib/makit/protoc.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+ require "pathname"
2
3
 
3
4
  # This module provides classes for the Makit gem.
4
5
  module Makit
@@ -74,14 +75,30 @@ module Makit
74
75
  end
75
76
 
76
77
  # language: charp, ruby, go, etc.
77
- def self.generate_source_files(proto_source_dir, language, csharp_output_dir)
78
- proto_files = get_proto_files_from_path(proto_source_dir)
79
- proto_files.each { |proto|
80
- namespace_dir = File.dirname(proto)
81
- puts "Generating #{proto} in #{namespace_dir}"
82
- FileUtils.mkdir_p("#{csharp_output_dir}/#{namespace_dir}") unless Dir.exist?("#{csharp_output_dir}/#{namespace_dir}")
83
- "protoc --#{language}_out=#{csharp_output_dir}/#{namespace_dir} protos/#{proto}".run
84
- }
78
+ def self.generate_source_files(proto_source_dir, language, output_dir)
79
+ debug = false
80
+ puts "Generating source files for #{language} in #{proto_source_dir} to #{output_dir}" if debug
81
+ FileUtils.mkdir_p(output_dir) unless Dir.exist?(output_dir)
82
+
83
+ path_a = Pathname.new(proto_source_dir)
84
+ path_b = Pathname.new(output_dir)
85
+ output_relative_path = path_b.relative_path_from(path_a)
86
+ puts "output_relative_path: #{output_relative_path}" if debug
87
+
88
+ Dir.chdir(proto_source_dir) do
89
+ Dir.glob("**/*.proto").each do |proto|
90
+ puts "Generating #{proto}" if debug
91
+ if (language == "csharp")
92
+ namespace_dir = File.dirname(proto)
93
+ output_dir = "#{output_relative_path}/#{namespace_dir}"
94
+ puts "Generating #{proto} in #{output_dir}" if debug
95
+ FileUtils.mkdir_p("#{output_dir}") unless Dir.exist?("#{output_dir}")
96
+ "protoc --csharp_out=#{output_dir} #{proto}".run
97
+ else
98
+ "protoc --#{language}_out=#{output_relative_path} #{proto}".run
99
+ end
100
+ end
101
+ end
85
102
  end
86
103
  end
87
104
  end
data/lib/makit/show.rb CHANGED
@@ -12,7 +12,7 @@ module Makit
12
12
  elsif File.directory?(path)
13
13
  puts "#{path} modified ".colorize(:grey) + "#{Makit::Humanize.get_humanized_timestamp(Makit::Directory.modified(path))}".colorize(:cyan)
14
14
  else
15
- put "#{path} does not exist"
15
+ puts "#{path} does not exist"
16
16
  end
17
17
  end
18
18
 
@@ -26,14 +26,18 @@ module Makit
26
26
  age = (Time.now -modified).to_f
27
27
  puts "#{path} age is ".colorize(:grey) + "#{Makit::Humanize.get_humanized_duration(age)}".colorize(:cyan)
28
28
  else
29
- put "#{path} does not exist"
29
+ puts "#{path} does not exist"
30
30
  end
31
31
  end
32
32
 
33
33
  def file(path)
34
- modified = File.mtime(path)
35
- age = (Time.now - modified).to_f
36
- puts "#{file_symbol} #{path} ".colorize(:grey) + "#{Makit::Humanize.get_humanized_size(File.size(path))} ".colorize(:cyan) + "#{Makit::Humanize.get_humanized_duration(age)}".colorize(:cyan)
34
+ if File.file?(path)
35
+ modified = File.mtime(path)
36
+ age = (Time.now - modified).to_f
37
+ puts "#{file_symbol} #{path} ".colorize(:grey) + "#{Makit::Humanize.get_humanized_size(File.size(path))} ".colorize(:cyan) + "#{Makit::Humanize.get_humanized_duration(age)}".colorize(:cyan)
38
+ else
39
+ puts "#{path} does not exist"
40
+ end
37
41
  end
38
42
 
39
43
  def file_symbol
@@ -52,7 +56,7 @@ module Makit
52
56
  elsif File.directory?(path)
53
57
  puts "#{path} size is ".colorize(:grey) + "#{Makit::Humanize.get_humanized_size(Makit::Directory.get_size(path))}".colorize(:cyan)
54
58
  else
55
- put "#{path} does not exist"
59
+ puts "#{path} does not exist"
56
60
  end
57
61
  end
58
62
 
data/lib/makit/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Makit
4
- VERSION = "0.0.27"
4
+ VERSION = "0.0.28"
5
5
 
6
6
  class Version
7
7
  # given an array of version strings, return the highest version
data/lib/makit.rb CHANGED
@@ -4,8 +4,21 @@ require "rake/clean"
4
4
  require "logger"
5
5
  require "json"
6
6
  require "yaml"
7
+ require "google/protobuf"
7
8
 
8
- %w[makit makit/v1 makit/cli makit/content makit/mp].each do |dir|
9
+ #%w[generated/makit].each do |dir|
10
+ # Dir[File.join(__dir__, dir, "*.rb")].each do |file|
11
+ # require_relative file
12
+ # end
13
+ #end
14
+ if (File.exist?("protos/makit/makit.v1.proto.rb"))
15
+ require_relative "generated/makit/makit.v1_pb"
16
+ else
17
+ require_relative "makit/v1/makit.v1_pb"
18
+ end
19
+
20
+ #%w[makit makit/v1 makit/cli makit/content makit/mp].each do |dir|
21
+ %w[makit makit/cli makit/content makit/mp].each do |dir|
9
22
  Dir[File.join(__dir__, dir, "*.rb")].each do |file|
10
23
  require_relative file
11
24
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: makit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.27
4
+ version: 0.0.28
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lou Parslow
@@ -143,6 +143,8 @@ executables: []
143
143
  extensions: []
144
144
  extra_rdoc_files: []
145
145
  files:
146
+ - lib/generated/makit/v1/makit.v1_pb.rb
147
+ - lib/generated/makit/v1/web/link_pb.rb
146
148
  - lib/makit.rb
147
149
  - lib/makit/apache.rb
148
150
  - lib/makit/cli/clean.rb