makit 0.0.139 → 0.0.140
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/README.md +41 -41
- data/exe/makit +5 -5
- data/lib/makit/apache.rb +28 -28
- data/lib/makit/auto.rb +48 -48
- data/lib/makit/cli/build_commands.rb +500 -500
- data/lib/makit/cli/generators/base_generator.rb +74 -74
- data/lib/makit/cli/generators/dotnet_generator.rb +50 -50
- data/lib/makit/cli/generators/generator_factory.rb +49 -49
- data/lib/makit/cli/generators/node_generator.rb +50 -50
- data/lib/makit/cli/generators/ruby_generator.rb +77 -77
- data/lib/makit/cli/generators/rust_generator.rb +50 -50
- data/lib/makit/cli/generators/templates/dotnet_templates.rb +167 -167
- data/lib/makit/cli/generators/templates/node_templates.rb +161 -161
- data/lib/makit/cli/generators/templates/ruby/gemfile.rb +26 -26
- data/lib/makit/cli/generators/templates/ruby/gemspec.rb +40 -40
- data/lib/makit/cli/generators/templates/ruby/main_lib.rb +33 -33
- data/lib/makit/cli/generators/templates/ruby/rakefile.rb +35 -35
- data/lib/makit/cli/generators/templates/ruby/readme.rb +63 -63
- data/lib/makit/cli/generators/templates/ruby/test.rb +39 -39
- data/lib/makit/cli/generators/templates/ruby/test_helper.rb +29 -29
- data/lib/makit/cli/generators/templates/ruby/version.rb +29 -29
- data/lib/makit/cli/generators/templates/rust_templates.rb +128 -128
- data/lib/makit/cli/main.rb +69 -67
- data/lib/makit/cli/project_commands.rb +868 -868
- data/lib/makit/cli/repository_commands.rb +661 -661
- data/lib/makit/cli/strategy_commands.rb +51 -0
- data/lib/makit/cli/utility_commands.rb +521 -521
- data/lib/makit/commands/factory.rb +359 -359
- data/lib/makit/commands/middleware/base.rb +73 -73
- data/lib/makit/commands/middleware/cache.rb +248 -248
- data/lib/makit/commands/middleware/command_logger.rb +312 -312
- data/lib/makit/commands/middleware/validator.rb +269 -269
- data/lib/makit/commands/request.rb +316 -316
- data/lib/makit/commands/result.rb +323 -323
- data/lib/makit/commands/runner.rb +385 -385
- data/lib/makit/commands/strategies/base.rb +171 -171
- data/lib/makit/commands/strategies/child_process.rb +1 -1
- data/lib/makit/commands/strategies/synchronous.rb +139 -139
- data/lib/makit/commands.rb +50 -50
- data/lib/makit/configuration/dotnet_project.rb +12 -12
- data/lib/makit/configuration/gitlab_helper.rb +58 -58
- data/lib/makit/configuration/project.rb +168 -168
- data/lib/makit/configuration/rakefile_helper.rb +43 -43
- data/lib/makit/configuration/step.rb +34 -34
- data/lib/makit/configuration/timeout.rb +74 -0
- data/lib/makit/configuration.rb +15 -14
- data/lib/makit/content/default_gitignore.rb +7 -7
- data/lib/makit/content/default_gitignore.txt +225 -225
- data/lib/makit/content/default_rakefile.rb +13 -13
- data/lib/makit/content/gem_rakefile.rb +16 -16
- data/lib/makit/context.rb +1 -1
- data/lib/makit/data.rb +49 -49
- data/lib/makit/directories.rb +140 -140
- data/lib/makit/directory.rb +262 -262
- data/lib/makit/docs/files.rb +89 -89
- data/lib/makit/docs/rake.rb +102 -102
- data/lib/makit/dotnet/cli.rb +69 -69
- data/lib/makit/dotnet/project.rb +217 -217
- data/lib/makit/dotnet/solution.rb +38 -38
- data/lib/makit/dotnet/solution_classlib.rb +239 -239
- data/lib/makit/dotnet/solution_console.rb +264 -264
- data/lib/makit/dotnet/solution_maui.rb +354 -354
- data/lib/makit/dotnet/solution_wasm.rb +275 -275
- data/lib/makit/dotnet/solution_wpf.rb +304 -304
- data/lib/makit/dotnet.rb +102 -102
- data/lib/makit/email.rb +90 -90
- data/lib/makit/environment.rb +142 -142
- data/lib/makit/examples/runner.rb +370 -370
- data/lib/makit/exceptions.rb +45 -45
- data/lib/makit/fileinfo.rb +24 -24
- data/lib/makit/files.rb +43 -43
- data/lib/makit/gems.rb +40 -40
- data/lib/makit/git/cli.rb +54 -54
- data/lib/makit/git/repository.rb +90 -90
- data/lib/makit/git.rb +98 -98
- data/lib/makit/gitlab_runner.rb +59 -59
- data/lib/makit/humanize.rb +137 -137
- data/lib/makit/indexer.rb +47 -47
- data/lib/makit/logging/configuration.rb +308 -308
- data/lib/makit/logging/format_registry.rb +84 -84
- data/lib/makit/logging/formatters/base.rb +39 -39
- data/lib/makit/logging/formatters/console_formatter.rb +140 -140
- data/lib/makit/logging/formatters/json_formatter.rb +65 -65
- data/lib/makit/logging/formatters/plain_text_formatter.rb +71 -71
- data/lib/makit/logging/formatters/text_formatter.rb +64 -64
- data/lib/makit/logging/log_request.rb +119 -119
- data/lib/makit/logging/logger.rb +199 -199
- data/lib/makit/logging/sinks/base.rb +91 -91
- data/lib/makit/logging/sinks/console.rb +72 -72
- data/lib/makit/logging/sinks/file_sink.rb +92 -92
- data/lib/makit/logging/sinks/structured.rb +123 -123
- data/lib/makit/logging/sinks/unified_file_sink.rb +296 -296
- data/lib/makit/logging.rb +565 -565
- data/lib/makit/markdown.rb +75 -75
- data/lib/makit/mp/basic_object_mp.rb +17 -17
- data/lib/makit/mp/command_mp.rb +13 -13
- data/lib/makit/mp/command_request.mp.rb +17 -17
- data/lib/makit/mp/project_mp.rb +199 -199
- data/lib/makit/mp/string_mp.rb +191 -191
- data/lib/makit/nuget.rb +74 -74
- data/lib/makit/port.rb +32 -32
- data/lib/makit/process.rb +163 -163
- data/lib/makit/protoc.rb +107 -107
- data/lib/makit/rake/cli.rb +196 -196
- data/lib/makit/rake.rb +80 -80
- data/lib/makit/ruby/cli.rb +185 -185
- data/lib/makit/ruby.rb +25 -25
- data/lib/makit/secrets.rb +51 -51
- data/lib/makit/serializer.rb +130 -130
- data/lib/makit/services/builder.rb +186 -186
- data/lib/makit/services/error_handler.rb +226 -226
- data/lib/makit/services/repository_manager.rb +231 -231
- data/lib/makit/services/validator.rb +112 -112
- data/lib/makit/setup/classlib.rb +101 -101
- data/lib/makit/setup/gem.rb +268 -268
- data/lib/makit/setup/razorclasslib.rb +101 -101
- data/lib/makit/setup/runner.rb +54 -54
- data/lib/makit/setup.rb +5 -5
- data/lib/makit/show.rb +110 -110
- data/lib/makit/storage.rb +126 -126
- data/lib/makit/symbols.rb +170 -170
- data/lib/makit/task_info.rb +130 -130
- data/lib/makit/tasks/at_exit.rb +15 -15
- data/lib/makit/tasks/build.rb +22 -22
- data/lib/makit/tasks/clean.rb +13 -13
- data/lib/makit/tasks/configure.rb +10 -10
- data/lib/makit/tasks/format.rb +10 -10
- data/lib/makit/tasks/hook_manager.rb +443 -443
- data/lib/makit/tasks/init.rb +49 -49
- data/lib/makit/tasks/integrate.rb +29 -29
- data/lib/makit/tasks/pull_incoming.rb +13 -13
- data/lib/makit/tasks/setup.rb +13 -13
- data/lib/makit/tasks/sync.rb +17 -17
- data/lib/makit/tasks/tag.rb +16 -16
- data/lib/makit/tasks/task_monkey_patch.rb +81 -81
- data/lib/makit/tasks/test.rb +22 -22
- data/lib/makit/tasks/update.rb +18 -18
- data/lib/makit/tasks.rb +20 -20
- data/lib/makit/test_cache.rb +239 -239
- data/lib/makit/tree.rb +37 -37
- data/lib/makit/v1/makit.v1_pb.rb +35 -35
- data/lib/makit/v1/makit.v1_services_pb.rb +27 -27
- data/lib/makit/version.rb +99 -99
- data/lib/makit/version_util.rb +21 -21
- data/lib/makit/wix.rb +95 -95
- data/lib/makit/yaml.rb +29 -29
- data/lib/makit/zip.rb +17 -17
- data/lib/makit copy.rb +44 -44
- data/lib/makit.rb +42 -42
- metadata +2 -1
@@ -1,101 +1,101 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "../configuration/project"
|
4
|
-
|
5
|
-
module Makit
|
6
|
-
module Setup
|
7
|
-
class RazorClassLib
|
8
|
-
def self.run
|
9
|
-
# puts "Setting up Nuget project..."
|
10
|
-
project = Makit::Configuration::Project.default
|
11
|
-
|
12
|
-
project_filename = "source/#{project.name}/#{project.name}.csproj"
|
13
|
-
if (!File.exist?(project_filename))
|
14
|
-
Makit::DotNet::Project.new_project("razorclasslib", project.name, "source/#{project.name}",
|
15
|
-
"--framework net8.0")
|
16
|
-
dotnet_project = Makit::DotNet::Project.new("source/#{project.name}/#{project.name}.csproj")
|
17
|
-
# set the version to project.version
|
18
|
-
dotnet_project.set_version(project.version)
|
19
|
-
# set the frameworks = ["net8.0","net8.0-browser"]
|
20
|
-
dotnet_project.set_target_frameworks(["net8.0", "net8.0-browser"])
|
21
|
-
# set the nuget metadata
|
22
|
-
dotnet_project.set_nuget_metadata(project.name, project.authors, project.description,
|
23
|
-
project.license_expression)
|
24
|
-
end
|
25
|
-
|
26
|
-
test_project_filename = "tests/#{project.name}.Tests/#{project.name}.Tests.csproj"
|
27
|
-
if (File.exist?(test_project_filename))
|
28
|
-
Makit::DotNet::Project.new_project("TUnit", "#{project.name}.Tests", "tests/#{project.name}")
|
29
|
-
dotnet_project = Makit::DotNet::Project.new("tests/#{project.name}/#{project.name}.Tests.csproj")
|
30
|
-
# set the version to project.version
|
31
|
-
dotnet_project.set_version(project.version)
|
32
|
-
# set the frameworks = ["net8.0","net8.0-browser"]
|
33
|
-
dotnet_project.set_target_frameworks(["net8.0", "net8.0-browser"])
|
34
|
-
# set the nuget metadata
|
35
|
-
dotnet_project.set_nuget_metadata("#{project.name}.Tests", project.authors, project.description,
|
36
|
-
project.license_expression)
|
37
|
-
Makit::DotNet::Project.add_reference("tests/#{project.name}/#{project.name}.Tests.csproj",
|
38
|
-
"source/#{project.name}/#{project.name}.csproj")
|
39
|
-
end
|
40
|
-
update_build_step(project)
|
41
|
-
update_test_step(project)
|
42
|
-
|
43
|
-
project.save
|
44
|
-
|
45
|
-
# Setup the sln, then slnx
|
46
|
-
if (!File.exist?("#{project.name}.slnx"))
|
47
|
-
Makit::DotNet.new_solution(project.name)
|
48
|
-
Makit::DotNet.sln_add_projects(project.name)
|
49
|
-
# migrate the sln to slnx
|
50
|
-
"dotnet sln migrate #{project.name}.sln".run
|
51
|
-
FileUtils.rm_f("#{project.name}.sln") if File.exist?("#{project.name}.slnx")
|
52
|
-
end
|
53
|
-
Makit::Logging.default_logger.debug("Project setup completed")
|
54
|
-
end
|
55
|
-
|
56
|
-
def self.update_build_step(project)
|
57
|
-
build_commands = []
|
58
|
-
build_commands << "dotnet restore #{project.name}.slnx" if File.exist?("#{project.name}.slnx")
|
59
|
-
build_commands << "dotnet build source/#{project.name}/#{project.name}.csproj --configuration Release"
|
60
|
-
build_commands << "dotnet build tests/#{project.name}/#{project.name}.Tests.csproj --configuration Release"
|
61
|
-
build_commands << "dotnet pack source/#{project.name}/#{project.name}.csproj --configuration Release --output artifacts/Packages"
|
62
|
-
build_commands << "dotnet pack tests/#{project.name}/#{project.name}.Tests.csproj --configuration Release --output artifacts/Packages"
|
63
|
-
if File.exist?("source/#{project.name}.Pages/#{project.name}.Pages.csproj")
|
64
|
-
build_commands << "dotnet build source/#{project.name}.Pages/#{project.name}.Pages.csproj --configuration Release"
|
65
|
-
end
|
66
|
-
if File.exist?("source/#{project.name}.Pages/#{project.name}.Pages.csproj")
|
67
|
-
build_commands << "dotnet publish source/#{project.name}.Pages/#{project.name}.Pages.csproj --configuration Release --output artifacts/Pages"
|
68
|
-
end
|
69
|
-
steps = project.steps
|
70
|
-
if steps.any? { |step| step.name == "build" }
|
71
|
-
build_step = steps.find { |step| step.name == "build" }
|
72
|
-
build_step.commands = build_commands
|
73
|
-
else
|
74
|
-
build_step = Makit::Configuration::Step.new(name: "build", description: "Build the project artifacts",
|
75
|
-
commands: build_commands)
|
76
|
-
build_step.commands = build_commands
|
77
|
-
project.add_step(build_step)
|
78
|
-
end
|
79
|
-
build_step.commands = build_commands
|
80
|
-
|
81
|
-
project.save
|
82
|
-
end
|
83
|
-
|
84
|
-
def self.update_test_step(project)
|
85
|
-
test_commands = []
|
86
|
-
test_commands << "dotnet test tests/#{project.name}/#{project.name}.Tests.csproj"
|
87
|
-
steps = project.steps
|
88
|
-
if steps.any? { |step| step.name == "test" }
|
89
|
-
test_step = steps.find { |step| step.name == "test" }
|
90
|
-
test_step.commands = test_commands
|
91
|
-
else
|
92
|
-
test_step = Makit::Configuration::Step.new(name: "test", description: "Run the project tests",
|
93
|
-
commands: test_commands)
|
94
|
-
test_step.commands = test_commands
|
95
|
-
project.add_step(test_step)
|
96
|
-
end
|
97
|
-
project.save
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
101
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../configuration/project"
|
4
|
+
|
5
|
+
module Makit
|
6
|
+
module Setup
|
7
|
+
class RazorClassLib
|
8
|
+
def self.run
|
9
|
+
# puts "Setting up Nuget project..."
|
10
|
+
project = Makit::Configuration::Project.default
|
11
|
+
|
12
|
+
project_filename = "source/#{project.name}/#{project.name}.csproj"
|
13
|
+
if (!File.exist?(project_filename))
|
14
|
+
Makit::DotNet::Project.new_project("razorclasslib", project.name, "source/#{project.name}",
|
15
|
+
"--framework net8.0")
|
16
|
+
dotnet_project = Makit::DotNet::Project.new("source/#{project.name}/#{project.name}.csproj")
|
17
|
+
# set the version to project.version
|
18
|
+
dotnet_project.set_version(project.version)
|
19
|
+
# set the frameworks = ["net8.0","net8.0-browser"]
|
20
|
+
dotnet_project.set_target_frameworks(["net8.0", "net8.0-browser"])
|
21
|
+
# set the nuget metadata
|
22
|
+
dotnet_project.set_nuget_metadata(project.name, project.authors, project.description,
|
23
|
+
project.license_expression)
|
24
|
+
end
|
25
|
+
|
26
|
+
test_project_filename = "tests/#{project.name}.Tests/#{project.name}.Tests.csproj"
|
27
|
+
if (File.exist?(test_project_filename))
|
28
|
+
Makit::DotNet::Project.new_project("TUnit", "#{project.name}.Tests", "tests/#{project.name}")
|
29
|
+
dotnet_project = Makit::DotNet::Project.new("tests/#{project.name}/#{project.name}.Tests.csproj")
|
30
|
+
# set the version to project.version
|
31
|
+
dotnet_project.set_version(project.version)
|
32
|
+
# set the frameworks = ["net8.0","net8.0-browser"]
|
33
|
+
dotnet_project.set_target_frameworks(["net8.0", "net8.0-browser"])
|
34
|
+
# set the nuget metadata
|
35
|
+
dotnet_project.set_nuget_metadata("#{project.name}.Tests", project.authors, project.description,
|
36
|
+
project.license_expression)
|
37
|
+
Makit::DotNet::Project.add_reference("tests/#{project.name}/#{project.name}.Tests.csproj",
|
38
|
+
"source/#{project.name}/#{project.name}.csproj")
|
39
|
+
end
|
40
|
+
update_build_step(project)
|
41
|
+
update_test_step(project)
|
42
|
+
|
43
|
+
project.save
|
44
|
+
|
45
|
+
# Setup the sln, then slnx
|
46
|
+
if (!File.exist?("#{project.name}.slnx"))
|
47
|
+
Makit::DotNet.new_solution(project.name)
|
48
|
+
Makit::DotNet.sln_add_projects(project.name)
|
49
|
+
# migrate the sln to slnx
|
50
|
+
"dotnet sln migrate #{project.name}.sln".run
|
51
|
+
FileUtils.rm_f("#{project.name}.sln") if File.exist?("#{project.name}.slnx")
|
52
|
+
end
|
53
|
+
Makit::Logging.default_logger.debug("Project setup completed")
|
54
|
+
end
|
55
|
+
|
56
|
+
def self.update_build_step(project)
|
57
|
+
build_commands = []
|
58
|
+
build_commands << "dotnet restore #{project.name}.slnx" if File.exist?("#{project.name}.slnx")
|
59
|
+
build_commands << "dotnet build source/#{project.name}/#{project.name}.csproj --configuration Release"
|
60
|
+
build_commands << "dotnet build tests/#{project.name}/#{project.name}.Tests.csproj --configuration Release"
|
61
|
+
build_commands << "dotnet pack source/#{project.name}/#{project.name}.csproj --configuration Release --output artifacts/Packages"
|
62
|
+
build_commands << "dotnet pack tests/#{project.name}/#{project.name}.Tests.csproj --configuration Release --output artifacts/Packages"
|
63
|
+
if File.exist?("source/#{project.name}.Pages/#{project.name}.Pages.csproj")
|
64
|
+
build_commands << "dotnet build source/#{project.name}.Pages/#{project.name}.Pages.csproj --configuration Release"
|
65
|
+
end
|
66
|
+
if File.exist?("source/#{project.name}.Pages/#{project.name}.Pages.csproj")
|
67
|
+
build_commands << "dotnet publish source/#{project.name}.Pages/#{project.name}.Pages.csproj --configuration Release --output artifacts/Pages"
|
68
|
+
end
|
69
|
+
steps = project.steps
|
70
|
+
if steps.any? { |step| step.name == "build" }
|
71
|
+
build_step = steps.find { |step| step.name == "build" }
|
72
|
+
build_step.commands = build_commands
|
73
|
+
else
|
74
|
+
build_step = Makit::Configuration::Step.new(name: "build", description: "Build the project artifacts",
|
75
|
+
commands: build_commands)
|
76
|
+
build_step.commands = build_commands
|
77
|
+
project.add_step(build_step)
|
78
|
+
end
|
79
|
+
build_step.commands = build_commands
|
80
|
+
|
81
|
+
project.save
|
82
|
+
end
|
83
|
+
|
84
|
+
def self.update_test_step(project)
|
85
|
+
test_commands = []
|
86
|
+
test_commands << "dotnet test tests/#{project.name}.Tests/#{project.name}.Tests.csproj"
|
87
|
+
steps = project.steps
|
88
|
+
if steps.any? { |step| step.name == "test" }
|
89
|
+
test_step = steps.find { |step| step.name == "test" }
|
90
|
+
test_step.commands = test_commands
|
91
|
+
else
|
92
|
+
test_step = Makit::Configuration::Step.new(name: "test", description: "Run the project tests",
|
93
|
+
commands: test_commands)
|
94
|
+
test_step.commands = test_commands
|
95
|
+
project.add_step(test_step)
|
96
|
+
end
|
97
|
+
project.save
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
data/lib/makit/setup/runner.rb
CHANGED
@@ -1,54 +1,54 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "classlib"
|
4
|
-
require_relative "gem"
|
5
|
-
require_relative "razorclasslib"
|
6
|
-
require_relative "../content/default_gitignore"
|
7
|
-
|
8
|
-
module Makit
|
9
|
-
module Setup
|
10
|
-
class Runner
|
11
|
-
def self.run
|
12
|
-
|
13
|
-
# if a .git directory exists, then make sure we have a .gitignore
|
14
|
-
if File.exist?(".git")
|
15
|
-
if !File.exist?(".gitignore")
|
16
|
-
File.write(".gitignore", Makit::Content::GITIGNORE)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
# open .makit.json and get project type, to determine which setup to run
|
20
|
-
return unless File.exist?(".makit.json")
|
21
|
-
|
22
|
-
begin
|
23
|
-
project = Makit::Serializer.open(".makit.json", Makit::Configuration::Project)
|
24
|
-
|
25
|
-
# Update version to match VERSION constant only if project version is truly empty
|
26
|
-
if defined?(Makit::VERSION) && (project.version.nil? || project.version.empty?)
|
27
|
-
project.version = Makit::VERSION
|
28
|
-
end
|
29
|
-
|
30
|
-
# Check if the file contains compact JSON and resave as pretty JSON
|
31
|
-
current_content = File.read(".makit.json")
|
32
|
-
pretty_content = project.to_json_pretty
|
33
|
-
|
34
|
-
# Only rewrite if the content is different (i.e., if it was compact or version changed)
|
35
|
-
File.write(".makit.json", pretty_content) if current_content.strip != pretty_content.strip
|
36
|
-
rescue StandardError
|
37
|
-
raise "Error opening .makit.json"
|
38
|
-
end
|
39
|
-
project_type = project.project_type
|
40
|
-
case project_type
|
41
|
-
when "classlib"
|
42
|
-
Makit::Setup::ClassLib.run
|
43
|
-
when "razorclasslib"
|
44
|
-
Makit::Setup::RazorClassLib.run
|
45
|
-
when "gem"
|
46
|
-
Makit::Setup::Gem.run
|
47
|
-
else
|
48
|
-
Makit::Logging.default_logger.warn("Unsupported project type: #{project_type}")
|
49
|
-
# puts "Unsupported project type: #{project_type}"
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "classlib"
|
4
|
+
require_relative "gem"
|
5
|
+
require_relative "razorclasslib"
|
6
|
+
require_relative "../content/default_gitignore"
|
7
|
+
|
8
|
+
module Makit
|
9
|
+
module Setup
|
10
|
+
class Runner
|
11
|
+
def self.run
|
12
|
+
|
13
|
+
# if a .git directory exists, then make sure we have a .gitignore
|
14
|
+
if File.exist?(".git")
|
15
|
+
if !File.exist?(".gitignore")
|
16
|
+
File.write(".gitignore", Makit::Content::GITIGNORE)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
# open .makit.json and get project type, to determine which setup to run
|
20
|
+
return unless File.exist?(".makit.json")
|
21
|
+
|
22
|
+
begin
|
23
|
+
project = Makit::Serializer.open(".makit.json", Makit::Configuration::Project)
|
24
|
+
|
25
|
+
# Update version to match VERSION constant only if project version is truly empty
|
26
|
+
if defined?(Makit::VERSION) && (project.version.nil? || project.version.empty?)
|
27
|
+
project.version = Makit::VERSION
|
28
|
+
end
|
29
|
+
|
30
|
+
# Check if the file contains compact JSON and resave as pretty JSON
|
31
|
+
current_content = File.read(".makit.json")
|
32
|
+
pretty_content = project.to_json_pretty
|
33
|
+
|
34
|
+
# Only rewrite if the content is different (i.e., if it was compact or version changed)
|
35
|
+
File.write(".makit.json", pretty_content) if current_content.strip != pretty_content.strip
|
36
|
+
rescue StandardError
|
37
|
+
raise "Error opening .makit.json"
|
38
|
+
end
|
39
|
+
project_type = project.project_type
|
40
|
+
case project_type
|
41
|
+
when "classlib"
|
42
|
+
Makit::Setup::ClassLib.run
|
43
|
+
when "razorclasslib"
|
44
|
+
Makit::Setup::RazorClassLib.run
|
45
|
+
when "gem"
|
46
|
+
Makit::Setup::Gem.run
|
47
|
+
else
|
48
|
+
Makit::Logging.default_logger.warn("Unsupported project type: #{project_type}")
|
49
|
+
# puts "Unsupported project type: #{project_type}"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
data/lib/makit/setup.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "setup/runner"
|
4
|
-
require_relative "setup/classlib"
|
5
|
-
require_relative "setup/gem"
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "setup/runner"
|
4
|
+
require_relative "setup/classlib"
|
5
|
+
require_relative "setup/gem"
|
data/lib/makit/show.rb
CHANGED
@@ -1,110 +1,110 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "find"
|
4
|
-
require "pathname"
|
5
|
-
|
6
|
-
# This module provides classes for the Makit gem.
|
7
|
-
module Makit
|
8
|
-
class Show
|
9
|
-
def modified(path)
|
10
|
-
if File.file?(path)
|
11
|
-
puts "#{path} modified ".colorize(:grey) + Makit::Humanize.get_humanized_timestamp(File.mtime(path)).to_s.colorize(:cyan)
|
12
|
-
elsif File.directory?(path)
|
13
|
-
puts "#{path} modified ".colorize(:grey) + Makit::Humanize.get_humanized_timestamp(Makit::Directory.modified(path)).to_s.colorize(:cyan)
|
14
|
-
else
|
15
|
-
puts "#{path} does not exist"
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def age(path)
|
20
|
-
if File.file?(path)
|
21
|
-
modified = File.mtime(path)
|
22
|
-
age = (Time.now - modified).to_f
|
23
|
-
puts "#{path} age is ".colorize(:grey) + Makit::Humanize.get_humanized_duration(age).to_s.colorize(:cyan)
|
24
|
-
elsif File.directory?(path)
|
25
|
-
modified = Makit::Directory.modified(path)
|
26
|
-
age = Time.now(-modified).to_f
|
27
|
-
puts "#{path} age is ".colorize(:grey) + Makit::Humanize.get_humanized_duration(age).to_s.colorize(:cyan)
|
28
|
-
else
|
29
|
-
puts "#{path} does not exist"
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
def file(path)
|
34
|
-
if File.file?(path)
|
35
|
-
modified = File.mtime(path)
|
36
|
-
(Time.now - modified).to_f
|
37
|
-
humanized_size = Makit::Humanize.get_humanized_size(File.size(path))
|
38
|
-
# puts "#{file_symbol} ".colorize(:grey) + "#{humanized_size.rjust(10)} ".colorize(:cyan) + " #{path} ".colorize(:grey)
|
39
|
-
puts "#{file_symbol} ".colorize(:grey) + "#{File.basename(path)} ".colorize(:green) + "#{humanized_size.rjust(10)} ".colorize(:cyan) + " #{path} ".colorize(:grey) # + "modified #{Makit::Humanize.get_humanized_timestamp(modified)}".colorize(:grey) + " age #{Makit::Humanize.get_humanized_duration(age)}".colorize(:grey)
|
40
|
-
else
|
41
|
-
puts "#{path} does not exist"
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def files(path_array)
|
46
|
-
path_array.each do |path|
|
47
|
-
file(path)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
def file_symbol
|
52
|
-
# 📄 (U+1F4C4) – "Page with Curl"
|
53
|
-
# "\u{1F4C4}"
|
54
|
-
"@"
|
55
|
-
end
|
56
|
-
|
57
|
-
def directory_symbol
|
58
|
-
# 📁 (U+1F4C1) – "File Folder"
|
59
|
-
"\u{1F4C1}"
|
60
|
-
end
|
61
|
-
|
62
|
-
def task_symbol
|
63
|
-
# 🛠️ (U+1F6E0) Hammer and Wrench – Represents tools, suitable for tasks and automation.
|
64
|
-
"\u{1F6E0}"
|
65
|
-
end
|
66
|
-
|
67
|
-
def git_branch_symbol
|
68
|
-
# 🌱 (U+1F331) – "Seedling"
|
69
|
-
"\u{1F331}"
|
70
|
-
end
|
71
|
-
|
72
|
-
def size(path)
|
73
|
-
if File.file?(path)
|
74
|
-
puts "#{path} size is ".colorize(:grey) + Makit::Humanize.get_humanized_size(File.size(path)).to_s.colorize(:cyan)
|
75
|
-
elsif File.directory?(path)
|
76
|
-
puts "#{path} size is ".colorize(:grey) + Makit::Humanize.get_humanized_size(Makit::Directory.get_size(path)).to_s.colorize(:cyan)
|
77
|
-
else
|
78
|
-
puts "#{path} does not exist"
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
def task(task)
|
83
|
-
puts ("=" * 80).colorize(:grey)
|
84
|
-
puts " ".colorize(:grey) + task.to_s.colorize(:green)
|
85
|
-
# puts ("=" * 100).colorize(:grey)
|
86
|
-
end
|
87
|
-
|
88
|
-
def info(text)
|
89
|
-
puts " ".colorize(:grey) + text.to_s.colorize(:cyan)
|
90
|
-
end
|
91
|
-
|
92
|
-
def success(text)
|
93
|
-
puts " ".colorize(:grey) + text.to_s.colorize(:green)
|
94
|
-
end
|
95
|
-
|
96
|
-
def version(path)
|
97
|
-
puts " #{Makit::Version.get_version_from_file(path)}".colorize(:green) + " found in #{path}".colorize(:grey)
|
98
|
-
end
|
99
|
-
|
100
|
-
def versions(glob_pattern)
|
101
|
-
Dir.glob(glob_pattern).each do |filename|
|
102
|
-
puts " #{Makit::Version.get_version_from_file(filename)}".colorize(:green) + " found in #{filename}".colorize(:grey)
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
def git_branch
|
107
|
-
puts "#{git_branch_symbol} ".colorize(:grey) + Makit::Git::Repository.branch.to_s.colorize(:green) + " branch".colorize(:grey)
|
108
|
-
end
|
109
|
-
end
|
110
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "find"
|
4
|
+
require "pathname"
|
5
|
+
|
6
|
+
# This module provides classes for the Makit gem.
|
7
|
+
module Makit
|
8
|
+
class Show
|
9
|
+
def modified(path)
|
10
|
+
if File.file?(path)
|
11
|
+
puts "#{path} modified ".colorize(:grey) + Makit::Humanize.get_humanized_timestamp(File.mtime(path)).to_s.colorize(:cyan)
|
12
|
+
elsif File.directory?(path)
|
13
|
+
puts "#{path} modified ".colorize(:grey) + Makit::Humanize.get_humanized_timestamp(Makit::Directory.modified(path)).to_s.colorize(:cyan)
|
14
|
+
else
|
15
|
+
puts "#{path} does not exist"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def age(path)
|
20
|
+
if File.file?(path)
|
21
|
+
modified = File.mtime(path)
|
22
|
+
age = (Time.now - modified).to_f
|
23
|
+
puts "#{path} age is ".colorize(:grey) + Makit::Humanize.get_humanized_duration(age).to_s.colorize(:cyan)
|
24
|
+
elsif File.directory?(path)
|
25
|
+
modified = Makit::Directory.modified(path)
|
26
|
+
age = Time.now(-modified).to_f
|
27
|
+
puts "#{path} age is ".colorize(:grey) + Makit::Humanize.get_humanized_duration(age).to_s.colorize(:cyan)
|
28
|
+
else
|
29
|
+
puts "#{path} does not exist"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def file(path)
|
34
|
+
if File.file?(path)
|
35
|
+
modified = File.mtime(path)
|
36
|
+
(Time.now - modified).to_f
|
37
|
+
humanized_size = Makit::Humanize.get_humanized_size(File.size(path))
|
38
|
+
# puts "#{file_symbol} ".colorize(:grey) + "#{humanized_size.rjust(10)} ".colorize(:cyan) + " #{path} ".colorize(:grey)
|
39
|
+
puts "#{file_symbol} ".colorize(:grey) + "#{File.basename(path)} ".colorize(:green) + "#{humanized_size.rjust(10)} ".colorize(:cyan) + " #{path} ".colorize(:grey) # + "modified #{Makit::Humanize.get_humanized_timestamp(modified)}".colorize(:grey) + " age #{Makit::Humanize.get_humanized_duration(age)}".colorize(:grey)
|
40
|
+
else
|
41
|
+
puts "#{path} does not exist"
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def files(path_array)
|
46
|
+
path_array.each do |path|
|
47
|
+
file(path)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def file_symbol
|
52
|
+
# 📄 (U+1F4C4) – "Page with Curl"
|
53
|
+
# "\u{1F4C4}"
|
54
|
+
"@"
|
55
|
+
end
|
56
|
+
|
57
|
+
def directory_symbol
|
58
|
+
# 📁 (U+1F4C1) – "File Folder"
|
59
|
+
"\u{1F4C1}"
|
60
|
+
end
|
61
|
+
|
62
|
+
def task_symbol
|
63
|
+
# 🛠️ (U+1F6E0) Hammer and Wrench – Represents tools, suitable for tasks and automation.
|
64
|
+
"\u{1F6E0}"
|
65
|
+
end
|
66
|
+
|
67
|
+
def git_branch_symbol
|
68
|
+
# 🌱 (U+1F331) – "Seedling"
|
69
|
+
"\u{1F331}"
|
70
|
+
end
|
71
|
+
|
72
|
+
def size(path)
|
73
|
+
if File.file?(path)
|
74
|
+
puts "#{path} size is ".colorize(:grey) + Makit::Humanize.get_humanized_size(File.size(path)).to_s.colorize(:cyan)
|
75
|
+
elsif File.directory?(path)
|
76
|
+
puts "#{path} size is ".colorize(:grey) + Makit::Humanize.get_humanized_size(Makit::Directory.get_size(path)).to_s.colorize(:cyan)
|
77
|
+
else
|
78
|
+
puts "#{path} does not exist"
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
def task(task)
|
83
|
+
puts ("=" * 80).colorize(:grey)
|
84
|
+
puts " ".colorize(:grey) + task.to_s.colorize(:green)
|
85
|
+
# puts ("=" * 100).colorize(:grey)
|
86
|
+
end
|
87
|
+
|
88
|
+
def info(text)
|
89
|
+
puts " ".colorize(:grey) + text.to_s.colorize(:cyan)
|
90
|
+
end
|
91
|
+
|
92
|
+
def success(text)
|
93
|
+
puts " ".colorize(:grey) + text.to_s.colorize(:green)
|
94
|
+
end
|
95
|
+
|
96
|
+
def version(path)
|
97
|
+
puts " #{Makit::Version.get_version_from_file(path)}".colorize(:green) + " found in #{path}".colorize(:grey)
|
98
|
+
end
|
99
|
+
|
100
|
+
def versions(glob_pattern)
|
101
|
+
Dir.glob(glob_pattern).each do |filename|
|
102
|
+
puts " #{Makit::Version.get_version_from_file(filename)}".colorize(:green) + " found in #{filename}".colorize(:grey)
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
def git_branch
|
107
|
+
puts "#{git_branch_symbol} ".colorize(:grey) + Makit::Git::Repository.branch.to_s.colorize(:green) + " branch".colorize(:grey)
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|