makit 0.0.57 → 0.0.58
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 -399
- 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 +140 -140
- data/lib/makit/directory.rb +200 -200
- data/lib/makit/dotnet.rb +182 -182
- data/lib/makit/environment.rb +127 -127
- data/lib/makit/fileinfo.rb +16 -16
- data/lib/makit/files.rb +47 -47
- data/lib/makit/git.rb +96 -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 +96 -96
- data/lib/makit/markdown.rb +75 -75
- data/lib/makit/mp/basic_object_mp.rb +16 -16
- 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 +57 -57
- data/lib/makit/protoc.rb +104 -104
- data/lib/makit/serializer.rb +115 -115
- data/lib/makit/show.rb +111 -111
- data/lib/makit/storage.rb +131 -131
- data/lib/makit/symbols.rb +149 -149
- data/lib/makit/tasks.rb +61 -61
- data/lib/makit/tree.rb +37 -37
- data/lib/makit/v1/makit.v1_services_pb.rb +25 -25
- data/lib/makit/version.rb +68 -68
- data/lib/makit/wix.rb +95 -95
- data/lib/makit/yaml.rb +19 -19
- data/lib/makit/zip.rb +17 -17
- data/lib/makit.rb +267 -267
- metadata +3 -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/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,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,68 +1,68 @@
|
|
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
|
-
|
13
|
-
# example content from .gitlab-ci.yml
|
14
|
-
#variables:
|
15
|
-
# VERSION: "0.0.26" # Define the version here
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
def self.get_version_from_file(path)
|
20
|
-
if (!File.exist?(path))
|
21
|
-
raise "file #{path}does not exist"
|
22
|
-
end
|
23
|
-
|
24
|
-
extension = File.extname(path)
|
25
|
-
#switch = extension.downcase
|
26
|
-
#case switch
|
27
|
-
#if extension == ".csproj"
|
28
|
-
switch = extension.downcase
|
29
|
-
case switch
|
30
|
-
when ".csproj"
|
31
|
-
Makit::Version.detect_from_file(path, /<Version>([-\w\d.]+)</)
|
32
|
-
when ".wxs"
|
33
|
-
Makit::Version.detect_from_file(path, / Version="([\d\.]+)"/)
|
34
|
-
when ".yml"
|
35
|
-
Makit::Version.detect_from_file(path, /VERSION:\s*["']?([\d\.]+)["']?/)
|
36
|
-
else
|
37
|
-
raise "unrecognized file type"
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
def self.detect_from_file(filename, regex)
|
42
|
-
if File.exist?(filename)
|
43
|
-
match = IO.read(filename).match(regex)
|
44
|
-
match.captures[0] if !match.nil? && match.captures.length.positive?
|
45
|
-
else
|
46
|
-
raise "unable to find version in #{filename}"
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
def self.set_version_in_file(filename, version)
|
51
|
-
text = IO.read(filename)
|
52
|
-
new_text = text
|
53
|
-
new_text = text.gsub(/VERSION:\s?['|"]([.\d]+)['|"]/, "VERSION: \"#{version}\"") if filename.include?(".yml")
|
54
|
-
new_text = text.gsub(/version\s?=\s?['|"]([.\d]+)['|"]/, "version='#{version}'") if filename.include?(".gemspec")
|
55
|
-
new_text = text.gsub(/<Version>([-\w\d.]+)</, "<Version>#{version}<") if filename.include?(".csproj")
|
56
|
-
new_text = text.gsub(/<version>([-\w\d.]+)</, "<version>#{version}<") if filename.include?(".nuspec")
|
57
|
-
new_text = text.gsub(/ Version="([\d\.]+)"/, " Version=\"#{version}\"") if filename.include?(".wxs")
|
58
|
-
new_text = text.gsub(/version\s+=\s+['"]([\w.]+)['"]/, "version=\"#{version}\"") if filename.include?(".toml")
|
59
|
-
File.open(filename, "w") { |f| f.write(new_text) } if new_text != text
|
60
|
-
end
|
61
|
-
|
62
|
-
def self.set_version_in_files(glob_pattern, version)
|
63
|
-
Dir.glob(glob_pattern).each do |filename|
|
64
|
-
set_version_in_file(filename, version)
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Makit
|
4
|
+
VERSION = "0.0.58"
|
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
|
+
|
13
|
+
# example content from .gitlab-ci.yml
|
14
|
+
#variables:
|
15
|
+
# VERSION: "0.0.26" # Define the version here
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
def self.get_version_from_file(path)
|
20
|
+
if (!File.exist?(path))
|
21
|
+
raise "file #{path}does not exist"
|
22
|
+
end
|
23
|
+
|
24
|
+
extension = File.extname(path)
|
25
|
+
#switch = extension.downcase
|
26
|
+
#case switch
|
27
|
+
#if extension == ".csproj"
|
28
|
+
switch = extension.downcase
|
29
|
+
case switch
|
30
|
+
when ".csproj"
|
31
|
+
Makit::Version.detect_from_file(path, /<Version>([-\w\d.]+)</)
|
32
|
+
when ".wxs"
|
33
|
+
Makit::Version.detect_from_file(path, / Version="([\d\.]+)"/)
|
34
|
+
when ".yml"
|
35
|
+
Makit::Version.detect_from_file(path, /VERSION:\s*["']?([\d\.]+)["']?/)
|
36
|
+
else
|
37
|
+
raise "unrecognized file type"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.detect_from_file(filename, regex)
|
42
|
+
if File.exist?(filename)
|
43
|
+
match = IO.read(filename).match(regex)
|
44
|
+
match.captures[0] if !match.nil? && match.captures.length.positive?
|
45
|
+
else
|
46
|
+
raise "unable to find version in #{filename}"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def self.set_version_in_file(filename, version)
|
51
|
+
text = IO.read(filename)
|
52
|
+
new_text = text
|
53
|
+
new_text = text.gsub(/VERSION:\s?['|"]([.\d]+)['|"]/, "VERSION: \"#{version}\"") if filename.include?(".yml")
|
54
|
+
new_text = text.gsub(/version\s?=\s?['|"]([.\d]+)['|"]/, "version='#{version}'") if filename.include?(".gemspec")
|
55
|
+
new_text = text.gsub(/<Version>([-\w\d.]+)</, "<Version>#{version}<") if filename.include?(".csproj")
|
56
|
+
new_text = text.gsub(/<version>([-\w\d.]+)</, "<version>#{version}<") if filename.include?(".nuspec")
|
57
|
+
new_text = text.gsub(/ Version="([\d\.]+)"/, " Version=\"#{version}\"") if filename.include?(".wxs")
|
58
|
+
new_text = text.gsub(/version\s+=\s+['"]([\w.]+)['"]/, "version=\"#{version}\"") if filename.include?(".toml")
|
59
|
+
File.open(filename, "w") { |f| f.write(new_text) } if new_text != text
|
60
|
+
end
|
61
|
+
|
62
|
+
def self.set_version_in_files(glob_pattern, version)
|
63
|
+
Dir.glob(glob_pattern).each do |filename|
|
64
|
+
set_version_in_file(filename, version)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
data/lib/makit/wix.rb
CHANGED
@@ -1,95 +1,95 @@
|
|
1
|
-
require "securerandom"
|
2
|
-
|
3
|
-
module Makit
|
4
|
-
# This class provide methods for working with the Nuget package cache
|
5
|
-
#
|
6
|
-
# Example:
|
7
|
-
#
|
8
|
-
# Makit::Directory.cache("Google.Protobuf", "3.27.2")
|
9
|
-
#
|
10
|
-
# dotnet nuget locals all --list
|
11
|
-
# dotnet nuget locals all --clear
|
12
|
-
#
|
13
|
-
class Wix
|
14
|
-
def self.setup
|
15
|
-
if (Makit::Environment.is_windows?)
|
16
|
-
# test if dotnet is installed
|
17
|
-
if !Makit::DotNet::is_installed? # !File.exist?(Makit::Environment.which("dotnet"))
|
18
|
-
puts "dotnet does not appear to be installed"
|
19
|
-
else
|
20
|
-
# test if wix is already installed
|
21
|
-
if !`dotnet tool list --global`.include?("wix")
|
22
|
-
"dotnet tool install --global wix".run
|
23
|
-
end
|
24
|
-
puts " Wix version " + "#{Wix::version}".colorize(:green)
|
25
|
-
# display the link to https://wixtoolset.org/
|
26
|
-
puts " https://wixtoolset.org/".colorize(:green)
|
27
|
-
# display the link to https://marketplace.visualstudio.com/items?itemName=FireGiant.FireGiantHeatWaveDev17
|
28
|
-
puts " https://marketplace.visualstudio.com/items?itemName=FireGiant.FireGiantHeatWaveDev17".colorize(:green)
|
29
|
-
end
|
30
|
-
else
|
31
|
-
puts "Wix is not supported on non-Windows platforms"
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
def self.version
|
36
|
-
`wix --version`.strip.split("+").first
|
37
|
-
end
|
38
|
-
|
39
|
-
def self.setup_package(name, path, files)
|
40
|
-
# create the path if it does not exist
|
41
|
-
FileUtils.mkdir_p(path) unless File.directory?(path)
|
42
|
-
# create the #{name}.wixproj file
|
43
|
-
File.open("#{path}/#{name}.wixproj", "w") do |f|
|
44
|
-
f.puts "<Project Sdk=\"WixToolset.Sdk/#{Wix::version}\">"
|
45
|
-
f.puts "</Project>"
|
46
|
-
end
|
47
|
-
# create the Package.wxs file
|
48
|
-
File.open("#{path}/Package.wxs", "w") do |f|
|
49
|
-
f.puts "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">"
|
50
|
-
f.puts " <Package Name=\"#{name}\" Manufacturer=\"Acme\" Version=\"0.0.0.0\" UpgradeCode=\"#{SecureRandom.uuid}\">"
|
51
|
-
#f.puts " <MajorUpgrade DowngradeErrorMessage=\"!(loc.DowngradeError)\" />"
|
52
|
-
f.puts " <Files Include=\"#{files}\" />"
|
53
|
-
#f.puts " <Feature Id=\"Main\">"
|
54
|
-
#f.puts " <ComponentGroupRef Id=\"Components\" />"
|
55
|
-
#f.puts " </Feature>"
|
56
|
-
f.puts " </Package>"
|
57
|
-
f.puts "</Wix>"
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end # class Wix
|
61
|
-
end # module Makit
|
62
|
-
|
63
|
-
# Package.wxs with File harvesting
|
64
|
-
#<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
|
65
|
-
# <Package Name="MyProduct" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="B0B15C00-1DC4-0374-A1D1-E902240936D5">
|
66
|
-
# <Files Include="path\to\files\**" />
|
67
|
-
# </Package>
|
68
|
-
#</Wix>
|
69
|
-
|
70
|
-
#<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
|
71
|
-
# <Package Name="Msi.Demo" Manufacturer="Acme" Version="1.0.0.0" UpgradeCode="a87571ec-8be3-447e-ae23-b3a94a85b727">
|
72
|
-
# <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
|
73
|
-
|
74
|
-
# <Feature Id="Main">
|
75
|
-
# <ComponentGroupRef Id="Components" />
|
76
|
-
# </Feature>
|
77
|
-
# </Package>
|
78
|
-
#</Wix>
|
79
|
-
|
80
|
-
#<Project Sdk="WixToolset.Sdk/5.0.1">
|
81
|
-
#</Project>
|
82
|
-
|
83
|
-
# Components.wxs
|
84
|
-
#<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
|
85
|
-
# <Fragment>
|
86
|
-
# <ComponentGroup Id="Components" Directory="INSTALLFOLDER">
|
87
|
-
# <Component Guid="b8085fb3-3718-46df-8bf6-ecf9f968dd3d">
|
88
|
-
# <File Source="../../artifacts/Msi.Demo.exe" />
|
89
|
-
# <File Source="../../artifacts/Msi.Demo.dll" />
|
90
|
-
# <File Source="../../artifacts/Msi.Demo.deps.json" />
|
91
|
-
# <File Source="../../artifacts/Msi.Demo.runtimeconfig.json" />
|
92
|
-
# </Component>
|
93
|
-
# </ComponentGroup>
|
94
|
-
# </Fragment>
|
95
|
-
#</Wix>
|
1
|
+
require "securerandom"
|
2
|
+
|
3
|
+
module Makit
|
4
|
+
# This class provide methods for working with the Nuget package cache
|
5
|
+
#
|
6
|
+
# Example:
|
7
|
+
#
|
8
|
+
# Makit::Directory.cache("Google.Protobuf", "3.27.2")
|
9
|
+
#
|
10
|
+
# dotnet nuget locals all --list
|
11
|
+
# dotnet nuget locals all --clear
|
12
|
+
#
|
13
|
+
class Wix
|
14
|
+
def self.setup
|
15
|
+
if (Makit::Environment.is_windows?)
|
16
|
+
# test if dotnet is installed
|
17
|
+
if !Makit::DotNet::is_installed? # !File.exist?(Makit::Environment.which("dotnet"))
|
18
|
+
puts "dotnet does not appear to be installed"
|
19
|
+
else
|
20
|
+
# test if wix is already installed
|
21
|
+
if !`dotnet tool list --global`.include?("wix")
|
22
|
+
"dotnet tool install --global wix".run
|
23
|
+
end
|
24
|
+
puts " Wix version " + "#{Wix::version}".colorize(:green)
|
25
|
+
# display the link to https://wixtoolset.org/
|
26
|
+
puts " https://wixtoolset.org/".colorize(:green)
|
27
|
+
# display the link to https://marketplace.visualstudio.com/items?itemName=FireGiant.FireGiantHeatWaveDev17
|
28
|
+
puts " https://marketplace.visualstudio.com/items?itemName=FireGiant.FireGiantHeatWaveDev17".colorize(:green)
|
29
|
+
end
|
30
|
+
else
|
31
|
+
puts "Wix is not supported on non-Windows platforms"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.version
|
36
|
+
`wix --version`.strip.split("+").first
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.setup_package(name, path, files)
|
40
|
+
# create the path if it does not exist
|
41
|
+
FileUtils.mkdir_p(path) unless File.directory?(path)
|
42
|
+
# create the #{name}.wixproj file
|
43
|
+
File.open("#{path}/#{name}.wixproj", "w") do |f|
|
44
|
+
f.puts "<Project Sdk=\"WixToolset.Sdk/#{Wix::version}\">"
|
45
|
+
f.puts "</Project>"
|
46
|
+
end
|
47
|
+
# create the Package.wxs file
|
48
|
+
File.open("#{path}/Package.wxs", "w") do |f|
|
49
|
+
f.puts "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">"
|
50
|
+
f.puts " <Package Name=\"#{name}\" Manufacturer=\"Acme\" Version=\"0.0.0.0\" UpgradeCode=\"#{SecureRandom.uuid}\">"
|
51
|
+
#f.puts " <MajorUpgrade DowngradeErrorMessage=\"!(loc.DowngradeError)\" />"
|
52
|
+
f.puts " <Files Include=\"#{files}\" />"
|
53
|
+
#f.puts " <Feature Id=\"Main\">"
|
54
|
+
#f.puts " <ComponentGroupRef Id=\"Components\" />"
|
55
|
+
#f.puts " </Feature>"
|
56
|
+
f.puts " </Package>"
|
57
|
+
f.puts "</Wix>"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end # class Wix
|
61
|
+
end # module Makit
|
62
|
+
|
63
|
+
# Package.wxs with File harvesting
|
64
|
+
#<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
|
65
|
+
# <Package Name="MyProduct" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="B0B15C00-1DC4-0374-A1D1-E902240936D5">
|
66
|
+
# <Files Include="path\to\files\**" />
|
67
|
+
# </Package>
|
68
|
+
#</Wix>
|
69
|
+
|
70
|
+
#<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
|
71
|
+
# <Package Name="Msi.Demo" Manufacturer="Acme" Version="1.0.0.0" UpgradeCode="a87571ec-8be3-447e-ae23-b3a94a85b727">
|
72
|
+
# <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
|
73
|
+
|
74
|
+
# <Feature Id="Main">
|
75
|
+
# <ComponentGroupRef Id="Components" />
|
76
|
+
# </Feature>
|
77
|
+
# </Package>
|
78
|
+
#</Wix>
|
79
|
+
|
80
|
+
#<Project Sdk="WixToolset.Sdk/5.0.1">
|
81
|
+
#</Project>
|
82
|
+
|
83
|
+
# Components.wxs
|
84
|
+
#<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
|
85
|
+
# <Fragment>
|
86
|
+
# <ComponentGroup Id="Components" Directory="INSTALLFOLDER">
|
87
|
+
# <Component Guid="b8085fb3-3718-46df-8bf6-ecf9f968dd3d">
|
88
|
+
# <File Source="../../artifacts/Msi.Demo.exe" />
|
89
|
+
# <File Source="../../artifacts/Msi.Demo.dll" />
|
90
|
+
# <File Source="../../artifacts/Msi.Demo.deps.json" />
|
91
|
+
# <File Source="../../artifacts/Msi.Demo.runtimeconfig.json" />
|
92
|
+
# </Component>
|
93
|
+
# </ComponentGroup>
|
94
|
+
# </Fragment>
|
95
|
+
#</Wix>
|
data/lib/makit/yaml.rb
CHANGED
@@ -1,19 +1,19 @@
|
|
1
|
-
require 'yaml'
|
2
|
-
|
3
|
-
# frozen_string_literal: true
|
4
|
-
|
5
|
-
# This module provides classes for the Makit gem.
|
6
|
-
module Makit
|
7
|
-
class Yaml
|
8
|
-
def self.validate_yaml(file_path)
|
9
|
-
begin
|
10
|
-
YAML.load_file(file_path)
|
11
|
-
puts "#{file_path} is a valid YAML file."
|
12
|
-
rescue Psych::SyntaxError => e
|
13
|
-
raise"YAML validation failed for #{file_path}: #{e}"
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
|
1
|
+
require 'yaml'
|
2
|
+
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
5
|
+
# This module provides classes for the Makit gem.
|
6
|
+
module Makit
|
7
|
+
class Yaml
|
8
|
+
def self.validate_yaml(file_path)
|
9
|
+
begin
|
10
|
+
YAML.load_file(file_path)
|
11
|
+
puts "#{file_path} is a valid YAML file."
|
12
|
+
rescue Psych::SyntaxError => e
|
13
|
+
raise"YAML validation failed for #{file_path}: #{e}"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
|
data/lib/makit/zip.rb
CHANGED
@@ -1,17 +1,17 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "zip"
|
4
|
-
require "fileutils"
|
5
|
-
|
6
|
-
module Makit
|
7
|
-
# Zip a directory
|
8
|
-
class Zip
|
9
|
-
def self.zip_directory(directory, zip_file)
|
10
|
-
::Zip::File.open(zip_file, ::Zip::File::CREATE) do |zipfile|
|
11
|
-
Dir[File.join(directory, "**", "**")].each do |file|
|
12
|
-
zipfile.add(file.sub("#{directory}/", ""), file)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "zip"
|
4
|
+
require "fileutils"
|
5
|
+
|
6
|
+
module Makit
|
7
|
+
# Zip a directory
|
8
|
+
class Zip
|
9
|
+
def self.zip_directory(directory, zip_file)
|
10
|
+
::Zip::File.open(zip_file, ::Zip::File::CREATE) do |zipfile|
|
11
|
+
Dir[File.join(directory, "**", "**")].each do |file|
|
12
|
+
zipfile.add(file.sub("#{directory}/", ""), file)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|