makit 0.0.111 → 0.0.126
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/cli/repository_commands.rb +1 -1
- data/lib/makit/commands/middleware/cache.rb +3 -3
- data/lib/makit/commands/middleware/command_logger.rb +33 -45
- data/lib/makit/commands/request.rb +63 -1
- data/lib/makit/commands/runner.rb +56 -5
- data/lib/makit/commands/strategies/base.rb +13 -2
- data/lib/makit/commands/strategies/synchronous.rb +11 -6
- data/lib/makit/commands.rb +8 -0
- data/lib/makit/configuration/gitlab_helper.rb +0 -2
- data/lib/makit/configuration/project.rb +48 -8
- data/lib/makit/configuration/step.rb +3 -3
- data/lib/makit/content/default_gitignore.txt +226 -0
- data/lib/makit/directories.rb +3 -4
- data/lib/makit/docs/files.rb +1 -1
- data/lib/makit/docs/rake.rb +1 -1
- data/lib/makit/dotnet/cli.rb +69 -65
- data/lib/makit/dotnet/project.rb +71 -7
- data/lib/makit/examples/runner.rb +2 -2
- data/lib/makit/logging/configuration.rb +9 -6
- data/lib/makit/logging/format_registry.rb +84 -84
- data/lib/makit/logging/formatters/console_formatter.rb +22 -9
- data/lib/makit/logging/log_request.rb +6 -2
- data/lib/makit/logging/logger.rb +45 -5
- data/lib/makit/logging/sinks/base.rb +91 -91
- data/lib/makit/logging/sinks/structured.rb +123 -129
- data/lib/makit/logging/sinks/unified_file_sink.rb +39 -46
- data/lib/makit/logging.rb +45 -1
- data/lib/makit/mp/project_mp.rb +6 -6
- data/lib/makit/mp/string_mp.rb +108 -265
- data/lib/makit/serializer.rb +14 -1
- data/lib/makit/services/builder.rb +5 -5
- data/lib/makit/services/repository_manager.rb +8 -6
- data/lib/makit/setup/classlib.rb +44 -7
- data/lib/makit/setup/gem.rb +268 -250
- data/lib/makit/setup/razorclasslib.rb +91 -0
- data/lib/makit/setup/runner.rb +36 -22
- data/lib/makit/setup.rb +5 -0
- data/lib/makit/symbols.rb +10 -1
- data/lib/makit/tasks/at_exit.rb +3 -1
- data/lib/makit/tasks/build.rb +16 -12
- data/lib/makit/tasks/clean.rb +2 -0
- data/lib/makit/tasks/configure.rb +10 -0
- data/lib/makit/tasks/format.rb +10 -0
- data/lib/makit/tasks/hook_manager.rb +160 -8
- data/lib/makit/tasks/init.rb +2 -0
- data/lib/makit/tasks/integrate.rb +17 -3
- data/lib/makit/tasks/pull_incoming.rb +6 -5
- data/lib/makit/tasks/setup.rb +10 -3
- data/lib/makit/tasks/sync.rb +13 -7
- data/lib/makit/tasks/tag.rb +16 -0
- data/lib/makit/tasks/task_monkey_patch.rb +58 -56
- data/lib/makit/tasks/test.rb +22 -0
- data/lib/makit/tasks/update.rb +18 -0
- data/lib/makit/tasks.rb +20 -5
- data/lib/makit/v1/makit.v1_pb.rb +1 -0
- data/lib/makit/version.rb +1 -1
- data/lib/makit/version_util.rb +21 -0
- data/lib/makit copy.rb +44 -0
- data/lib/makit.rb +31 -0
- metadata +118 -13
- data/lib/makit/command_runner.rb +0 -463
- data/lib/makit/commands/compatibility.rb +0 -365
- data/lib/makit/commands/middleware/unified_logger.rb +0 -243
- data/lib/makit/task_hooks.rb +0 -125
@@ -0,0 +1,226 @@
|
|
1
|
+
# General
|
2
|
+
[Aa]rtifacts/
|
3
|
+
artifacts.zip
|
4
|
+
[Gg]enerated/
|
5
|
+
[Tt]hirdparty/
|
6
|
+
|
7
|
+
# Jekyll
|
8
|
+
_site/
|
9
|
+
|
10
|
+
|
11
|
+
# Ruby
|
12
|
+
*.gem
|
13
|
+
*.rbc
|
14
|
+
/.config
|
15
|
+
/coverage/
|
16
|
+
/InstalledFiles
|
17
|
+
/pkg/
|
18
|
+
/spec/reports/
|
19
|
+
/spec/examples.txt
|
20
|
+
/test/tmp/
|
21
|
+
/test/version_tmp/
|
22
|
+
/tmp/
|
23
|
+
/.yardoc/
|
24
|
+
/_yardoc/
|
25
|
+
/doc/
|
26
|
+
/rdoc/
|
27
|
+
/.bundle/
|
28
|
+
/vendor/bundle
|
29
|
+
/lib/bundler/man/
|
30
|
+
.rvmrc
|
31
|
+
|
32
|
+
# Rust
|
33
|
+
/target/
|
34
|
+
Cargo.lock
|
35
|
+
**/*.rs.bk
|
36
|
+
/target
|
37
|
+
/Cargo.lock
|
38
|
+
|
39
|
+
# DotNet
|
40
|
+
*.rsuser
|
41
|
+
*.suo
|
42
|
+
*.user
|
43
|
+
*.userosscache
|
44
|
+
*.sln.docstates
|
45
|
+
*.txt
|
46
|
+
*.userprefs
|
47
|
+
BenchmarkDotNet.Artifacts/
|
48
|
+
[Dd]ebug/
|
49
|
+
[Dd]ebugPublic/
|
50
|
+
[Rr]elease/
|
51
|
+
[Rr]eleases/
|
52
|
+
x64/
|
53
|
+
x86/
|
54
|
+
[Aa][Rr][Mm]/
|
55
|
+
[Aa][Rr][Mm]64/
|
56
|
+
bld/
|
57
|
+
[Bb]in/
|
58
|
+
[Oo]bj/
|
59
|
+
[Ll]og/
|
60
|
+
[Aa]rtifacts/
|
61
|
+
.vs/
|
62
|
+
Generated\ Files/
|
63
|
+
[Tt]est[Rr]esult*/
|
64
|
+
[Bb]uild[Ll]og.*
|
65
|
+
*.VisualState.xml
|
66
|
+
TestResult.xml
|
67
|
+
[Dd]ebugPS/
|
68
|
+
[Rr]eleasePS/
|
69
|
+
dlldata.c
|
70
|
+
BenchmarkDotNet.Artifacts/
|
71
|
+
|
72
|
+
project.lock.json
|
73
|
+
project.fragment.lock.json
|
74
|
+
artifacts/
|
75
|
+
StyleCopReport.xml
|
76
|
+
*_i.c
|
77
|
+
*_p.c
|
78
|
+
*_h.h
|
79
|
+
*.ilk
|
80
|
+
*.meta
|
81
|
+
*.obj
|
82
|
+
*.iobj
|
83
|
+
*.pch
|
84
|
+
*.pdb
|
85
|
+
*.ipdb
|
86
|
+
*.pgc
|
87
|
+
*.pgd
|
88
|
+
*.rsp
|
89
|
+
*.sbr
|
90
|
+
*.tlb
|
91
|
+
*.tli
|
92
|
+
*.tlh
|
93
|
+
*.tmp
|
94
|
+
*.tmp_proj
|
95
|
+
*_wpftmp.csproj
|
96
|
+
*.log
|
97
|
+
*.vspscc
|
98
|
+
*.vssscc
|
99
|
+
.builds
|
100
|
+
*.pidb
|
101
|
+
*.svclog
|
102
|
+
*.scc
|
103
|
+
_Chutzpah*
|
104
|
+
ipch/
|
105
|
+
*.aps
|
106
|
+
*.ncb
|
107
|
+
*.opendb
|
108
|
+
*.opensdf
|
109
|
+
*.sdf
|
110
|
+
*.cachefile
|
111
|
+
*.VC.db
|
112
|
+
*.VC.VC.opendb
|
113
|
+
*.psess
|
114
|
+
*.vsp
|
115
|
+
*.vspx
|
116
|
+
*.sap
|
117
|
+
*.e2e
|
118
|
+
$tf/
|
119
|
+
*.gpState
|
120
|
+
_ReSharper*/
|
121
|
+
*.[Rr]e[Ss]harper
|
122
|
+
*.DotSettings.user
|
123
|
+
.JustCode
|
124
|
+
_TeamCity*
|
125
|
+
*.dotCover
|
126
|
+
.axoCover/*
|
127
|
+
!.axoCover/settings.json
|
128
|
+
*.coverage
|
129
|
+
*.coveragexml
|
130
|
+
_NCrunch_*
|
131
|
+
.*crunch*.local.xml
|
132
|
+
nCrunchTemp_*
|
133
|
+
*.mm.*
|
134
|
+
AutoTest.Net/
|
135
|
+
.sass-cache/
|
136
|
+
[Ee]xpress/
|
137
|
+
DocProject/buildhelp/
|
138
|
+
DocProject/Help/*.HxT
|
139
|
+
DocProject/Help/*.HxC
|
140
|
+
DocProject/Help/*.hhc
|
141
|
+
DocProject/Help/*.hhk
|
142
|
+
DocProject/Help/*.hhp
|
143
|
+
DocProject/Help/Html2
|
144
|
+
DocProject/Help/html
|
145
|
+
publish/
|
146
|
+
*.[Pp]ublish.xml
|
147
|
+
*.azurePubxml
|
148
|
+
*.pubxml
|
149
|
+
*.publishproj
|
150
|
+
PublishScripts/
|
151
|
+
*.nupkg
|
152
|
+
**/[Pp]ackages/*
|
153
|
+
!**/[Pp]ackages/build/
|
154
|
+
*.nuget.props
|
155
|
+
*.nuget.targets
|
156
|
+
csx/
|
157
|
+
*.build.csdef
|
158
|
+
ecf/
|
159
|
+
rcf/
|
160
|
+
AppPackages/
|
161
|
+
BundleArtifacts/
|
162
|
+
Package.StoreAssociation.xml
|
163
|
+
_pkginfo.txt
|
164
|
+
*.appx
|
165
|
+
*.[Cc]ache
|
166
|
+
# but keep track of directories ending in .cache
|
167
|
+
!*.[Cc]ache/
|
168
|
+
ClientBin/
|
169
|
+
~$*
|
170
|
+
*~
|
171
|
+
*.dbmdl
|
172
|
+
*.dbproj.schemaview
|
173
|
+
*.jfm
|
174
|
+
*.pfx
|
175
|
+
*.publishsettings
|
176
|
+
orleans.codegen.cs
|
177
|
+
**/wwwroot/lib/
|
178
|
+
Generated_Code/
|
179
|
+
_UpgradeReport_Files/
|
180
|
+
Backup*/
|
181
|
+
UpgradeLog*.XML
|
182
|
+
UpgradeLog*.htm
|
183
|
+
ServiceFabricBackup/
|
184
|
+
*.rptproj.bak
|
185
|
+
*.mdf
|
186
|
+
*.ldf
|
187
|
+
*.ndf
|
188
|
+
*.rdl.data
|
189
|
+
*.bim.layout
|
190
|
+
*.bim_*.settings
|
191
|
+
*.rptproj.rsuser
|
192
|
+
FakesAssemblies/
|
193
|
+
*.GhostDoc.xml
|
194
|
+
.ntvs_analysis.dat
|
195
|
+
node_modules/
|
196
|
+
*.plg
|
197
|
+
*.opt
|
198
|
+
*.vbw
|
199
|
+
**/*.HTMLClient/GeneratedArtifacts
|
200
|
+
**/*.DesktopClient/GeneratedArtifacts
|
201
|
+
**/*.DesktopClient/ModelManifest.xml
|
202
|
+
**/*.Server/GeneratedArtifacts
|
203
|
+
**/*.Server/ModelManifest.xml
|
204
|
+
_Pvt_Extensions
|
205
|
+
.paket/paket.exe
|
206
|
+
paket-files/
|
207
|
+
.fake/
|
208
|
+
.idea/
|
209
|
+
*.sln.iml
|
210
|
+
.cr/personal
|
211
|
+
__pycache__/
|
212
|
+
*.pyc
|
213
|
+
tools/**
|
214
|
+
!tools/packages.config
|
215
|
+
*.tss
|
216
|
+
*.jmconfig
|
217
|
+
*.btp.cs
|
218
|
+
*.btm.cs
|
219
|
+
*.odx.cs
|
220
|
+
*.xsd.cs
|
221
|
+
OpenCover/
|
222
|
+
ASALocalRun/
|
223
|
+
*.binlog
|
224
|
+
*.nvuser
|
225
|
+
.mfractor/
|
226
|
+
.localhistory/
|
data/lib/makit/directories.rb
CHANGED
@@ -69,10 +69,9 @@ module Makit
|
|
69
69
|
FileUtils.mkdir_p(REPOS)
|
70
70
|
FileUtils.mkdir_p(TEMP)
|
71
71
|
FileUtils.mkdir_p(INSTALL)
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
end
|
72
|
+
|
73
|
+
FileUtils.mkdir_p(LOCAL_NUGET_SOURCE)
|
74
|
+
# NOTE: Nuget source setup moved to lazy initialization to avoid blocking module loading
|
76
75
|
|
77
76
|
def self.get_project_path(relative_path)
|
78
77
|
File.join(PROJECT_ROOT, relative_path)
|
data/lib/makit/docs/files.rb
CHANGED
@@ -80,7 +80,7 @@ module Makit
|
|
80
80
|
# Git Repository Size
|
81
81
|
#
|
82
82
|
## report on the git repository size
|
83
|
-
file.write(Makit::
|
83
|
+
file.write(Makit::Commands::Runner.default.execute("git count-objects -vH").to_markdown)
|
84
84
|
file.write("\n\n")
|
85
85
|
end
|
86
86
|
end
|
data/lib/makit/docs/rake.rb
CHANGED
@@ -81,7 +81,7 @@ module Makit
|
|
81
81
|
content += "\n\n"
|
82
82
|
|
83
83
|
## report on the available rake tasks
|
84
|
-
content += Makit::
|
84
|
+
content += Makit::Commands::Runner.default.execute("rake -T").to_markdown
|
85
85
|
content += "\n\n"
|
86
86
|
|
87
87
|
filename = "docs/Rake.md"
|
data/lib/makit/dotnet/cli.rb
CHANGED
@@ -1,65 +1,69 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Makit
|
4
|
-
class DotNet
|
5
|
-
class CLI
|
6
|
-
def self.
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Makit
|
4
|
+
class DotNet
|
5
|
+
class CLI
|
6
|
+
def self.is_installed?
|
7
|
+
File.exist?(Makit::Environment.which("dotnet"))
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.new_solution(name)
|
11
|
+
if File.exist? "#{name}.sln"
|
12
|
+
# puts "Solution #{name}.sln already exists".colorize(:yellow)
|
13
|
+
else
|
14
|
+
"dotnet new sln --name #{name}".run
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.sln_add_projects(sln_name)
|
19
|
+
raise "Solution #{sln_name}.sln does not exist" unless File.exist? "#{sln_name}.sln"
|
20
|
+
|
21
|
+
sln_path = "#{sln_name}.sln"
|
22
|
+
sln_content = File.read(sln_path)
|
23
|
+
Dir.glob("**/*.csproj").each do |project_path|
|
24
|
+
project_name = File.basename(project_path, ".csproj")
|
25
|
+
if sln_content.include?("\"#{project_name}\"")
|
26
|
+
# puts " #{project_name}".colorize(:green) + " is in ".colorize(:grey) + "#{sln_path}".colorize(:green)
|
27
|
+
else
|
28
|
+
"dotnet sln #{sln_path} add #{project_path}".run
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
#
|
34
|
+
# generate docs/DotNet.md
|
35
|
+
#
|
36
|
+
def self.generate_docs
|
37
|
+
content = "# DotNet\n\n"
|
38
|
+
content += "## Projects\n\n"
|
39
|
+
# scan for .csproj files in src directory
|
40
|
+
src_projects = Dir.glob("src/**/*.csproj")
|
41
|
+
src_projects.each do |project_path|
|
42
|
+
File.basename(project_path, ".csproj")
|
43
|
+
# "dotnet tool update --global dotnet-aspnet-codegenerator".run
|
44
|
+
# "dotnet aspnet-codegenerator controller --name #{project_name}Controller --output ~/Projects/makit/src/makit/Controllers --controllerName #{project_name}Controller --useAsyncActions --relativeFolderPath Controllers".run
|
45
|
+
end
|
46
|
+
content += "## Packages\n\n"
|
47
|
+
# scan for packages.config files in src directory
|
48
|
+
src_packages = Dir.glob("src/**/packages.config")
|
49
|
+
src_packages.each do |packages_path|
|
50
|
+
File.basename(packages_path, ".packages.config")
|
51
|
+
end
|
52
|
+
content += "## References\n\n"
|
53
|
+
# scan for project.json files in src directory
|
54
|
+
src_references = Dir.glob("src/**/project.json")
|
55
|
+
src_references.each do |references_path|
|
56
|
+
File.basename(references_path, ".project.json")
|
57
|
+
end
|
58
|
+
|
59
|
+
# write content to docs/DotNet.md file
|
60
|
+
if File.exist?("docs/DotNet.md")
|
61
|
+
existing_content = File.read("docs/DotNet.md")
|
62
|
+
File.write("docs/DotNet.md", content) if existing_content != content
|
63
|
+
else
|
64
|
+
File.write("docs/DotNet.md", content)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
data/lib/makit/dotnet/project.rb
CHANGED
@@ -3,10 +3,74 @@
|
|
3
3
|
module Makit
|
4
4
|
class DotNet
|
5
5
|
class Project
|
6
|
-
|
7
|
-
|
6
|
+
attr_accessor :filename
|
7
|
+
|
8
|
+
def initialize(filename)
|
9
|
+
@filename = filename
|
10
|
+
end
|
11
|
+
|
12
|
+
def set_version(version)
|
13
|
+
# set the <Version> tag to the version
|
14
|
+
project_content = File.read(filename)
|
15
|
+
if project_content.include?("<Version>")
|
16
|
+
project_content.gsub!(%r{<Version>.*</Version>},
|
17
|
+
"<Version>#{version}</Version>")
|
18
|
+
else
|
19
|
+
# add the <Version> tag to the next line after the <PropertyGroup> tag
|
20
|
+
project_content.gsub!("<PropertyGroup>",
|
21
|
+
"<PropertyGroup>\n <Version>#{version}</Version>")
|
22
|
+
end
|
23
|
+
File.write(filename, project_content)
|
24
|
+
end
|
25
|
+
|
26
|
+
def get_version
|
27
|
+
# get the <Version> tag
|
28
|
+
project_content = File.read(filename)
|
29
|
+
raise "Version not found in #{filename}".colorize(:red) unless project_content.include?("<Version>")
|
30
|
+
|
31
|
+
project_content.match(%r{<Version>(.*)</Version>})[1]
|
32
|
+
end
|
33
|
+
|
34
|
+
# <TargetFramework>net8.0</TargetFramework>
|
35
|
+
# <TargetFrameworks>net8.0;net8.0-browser</TargetFrameworks>
|
36
|
+
def set_target_frameworks(target_frameworks)
|
37
|
+
project_content = File.read(filename)
|
38
|
+
target_frameworks = target_frameworks.join(";") if target_frameworks.is_a?(Array)
|
39
|
+
if target_frameworks.include?(";")
|
40
|
+
# use <TargetFrameworks> tag
|
41
|
+
if project_content.include?("<TargetFrameworks>")
|
42
|
+
project_content.gsub!(%r{<TargetFrameworks>.*</TargetFrameworks>},
|
43
|
+
"<TargetFrameworks>#{target_frameworks}</TargetFrameworks>")
|
44
|
+
else
|
45
|
+
project_content.gsub!(%r{<TargetFramework>.*</TargetFramework>},
|
46
|
+
"<TargetFrameworks>#{target_frameworks}</TargetFrameworks>")
|
47
|
+
end
|
48
|
+
elsif project_content.include?("<TargetFramework>")
|
49
|
+
# use <TargetFramework> tag
|
50
|
+
project_content.gsub!(%r{<TargetFramework>.*</TargetFramework>},
|
51
|
+
"<TargetFramework>#{target_frameworks}</TargetFramework>")
|
52
|
+
else
|
53
|
+
project_content.gsub!(%r{<TargetFrameworks>.*</TargetFrameworks>},
|
54
|
+
"<TargetFramework>#{target_frameworks}</TargetFramework>")
|
55
|
+
end
|
56
|
+
File.write(filename, project_content)
|
57
|
+
end
|
58
|
+
|
59
|
+
def set_nuget_metadata(package_id, authors, description, license_expression)
|
60
|
+
project_content = File.read(filename)
|
61
|
+
if project_content.include?("<PropertyGroup Label=\"NuGet Metadata\">")
|
62
|
+
project_content.gsub!(%r{<PropertyGroup Label="NuGet Metadata">.*</PropertyGroup>},
|
63
|
+
" <PropertyGroup Label=\"NuGet Metadata\">\n <IsPackable>true</IsPackable>\n <PackageId>#{package_id}</PackageId>\n <Authors>#{authors}</Authors>\n <Description>#{description}</Description>\n <PackageLicenseExpression>#{license_expression}</PackageLicenseExpression>\n\n</PropertyGroup>")
|
64
|
+
else
|
65
|
+
# add the <PropertyGroup Label=\"NuGet Metadata\"> tag before the </Project> closing tag
|
66
|
+
project_content.gsub!(%r{</Project>},
|
67
|
+
" <PropertyGroup Label=\"NuGet Metadata\">\n <IsPackable>true</IsPackable>\n <PackageId>#{package_id}</PackageId>\n <Authors>#{authors}</Authors>\n <Description>#{description}</Description>\n <PackageLicenseExpression>#{license_expression}</PackageLicenseExpression>\n </PropertyGroup>\n\n</Project>")
|
68
|
+
end
|
69
|
+
|
70
|
+
File.write(filename, project_content)
|
8
71
|
end
|
9
72
|
|
73
|
+
# consider move some of the methods to the CLI class
|
10
74
|
def self.installed?
|
11
75
|
is_installed?
|
12
76
|
end
|
@@ -22,7 +86,7 @@ module Makit
|
|
22
86
|
def self.new_project(template, name, output, args = "")
|
23
87
|
if Dir.exist? output
|
24
88
|
Makit::Logging.default_logger.info("#{output}/#{name}.csproj")
|
25
|
-
#puts " .csproj ".colorize(:grey) + name.to_s.colorize(:green)
|
89
|
+
# puts " .csproj ".colorize(:grey) + name.to_s.colorize(:green)
|
26
90
|
else
|
27
91
|
"dotnet new #{template} --name #{name} --output #{output} #{args}".run
|
28
92
|
end
|
@@ -89,7 +153,7 @@ module Makit
|
|
89
153
|
|
90
154
|
project_content = File.read(project_path)
|
91
155
|
if project_content.include?(File.basename(reference_path))
|
92
|
-
#puts " reference ".colorize(:grey) + reference_path.to_s.colorize(:green)
|
156
|
+
# puts " reference ".colorize(:grey) + reference_path.to_s.colorize(:green)
|
93
157
|
else
|
94
158
|
"dotnet add #{project_path} reference #{reference_path}".run
|
95
159
|
end
|
@@ -104,7 +168,7 @@ module Makit
|
|
104
168
|
def self.build(project_path, configuration = "Release", output = "artifacts")
|
105
169
|
project_dir = File.dirname(project_path)
|
106
170
|
newest_file = Makit::Directory.get_newest_file(project_dir)
|
107
|
-
command_request = Makit::
|
171
|
+
command_request = Makit::Commands::Runner.default.parse_command_request("dotnet build #{project_path} --configuration #{configuration} --output #{output}")
|
108
172
|
newest_file_date = if newest_file.nil?
|
109
173
|
Time.now
|
110
174
|
else
|
@@ -116,7 +180,7 @@ module Makit
|
|
116
180
|
def self.publish(project_path, configuration = "Release", output = "artifacts")
|
117
181
|
project_dir = File.dirname(project_path)
|
118
182
|
newest_file = Makit::Directory.get_newest_file(project_dir)
|
119
|
-
command_request = Makit::
|
183
|
+
command_request = Makit::Commands::Runner.default.parse_command_request("dotnet publish #{project_path} --configuration #{configuration} --output #{output}")
|
120
184
|
newest_file_date = if newest_file.nil?
|
121
185
|
Time.now
|
122
186
|
else
|
@@ -128,7 +192,7 @@ module Makit
|
|
128
192
|
def self.test(project_path, configuration = "Release", output = "artifacts")
|
129
193
|
project_dir = File.dirname(project_path)
|
130
194
|
newest_file = Makit::Directory.get_newest_file(project_dir)
|
131
|
-
command_request = Makit::
|
195
|
+
command_request = Makit::Commands::Runner.default.parse_command_request("dotnet test #{project_path} --configuration #{configuration} --output #{output}")
|
132
196
|
newest_file_date = if newest_file.nil?
|
133
197
|
Time.now
|
134
198
|
else
|
@@ -172,7 +172,7 @@ module Makit
|
|
172
172
|
def execute_single_example(example)
|
173
173
|
# Display separator and example path
|
174
174
|
puts "=" * 80
|
175
|
-
#puts example[:name]
|
175
|
+
# puts example[:name]
|
176
176
|
puts example[:rakefile]
|
177
177
|
|
178
178
|
log " Testing example: #{example[:name]}" if @verbose
|
@@ -184,7 +184,7 @@ module Makit
|
|
184
184
|
Dir.chdir(example[:path]) do
|
185
185
|
# Use the default runner with middleware for consistent behavior
|
186
186
|
runner = Makit::DEFAULT_COMMANDS_RUNNER
|
187
|
-
|
187
|
+
Makit::Logging::Logger.new(
|
188
188
|
Makit::Logging::Sinks::Console.new,
|
189
189
|
Makit::Logging::Sinks::FileSink.new(log_file: "artifacts/command_examples.log")
|
190
190
|
)
|
@@ -251,9 +251,12 @@ module Makit
|
|
251
251
|
def validate_single_configuration(config, index)
|
252
252
|
raise ArgumentError, "configuration #{index} must be a hash" unless config.is_a?(Hash)
|
253
253
|
|
254
|
-
required_keys = [
|
254
|
+
required_keys = %i[file format]
|
255
255
|
missing_keys = required_keys - config.keys
|
256
|
-
|
256
|
+
unless missing_keys.empty?
|
257
|
+
raise ArgumentError,
|
258
|
+
"configuration #{index} missing required keys: #{missing_keys.join(", ")}"
|
259
|
+
end
|
257
260
|
|
258
261
|
# Validate file
|
259
262
|
file = config[:file]
|
@@ -277,9 +280,9 @@ module Makit
|
|
277
280
|
end
|
278
281
|
|
279
282
|
# Validate rotation if specified
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
+
return unless config[:rotation] && !valid_rotation_config?(config[:rotation])
|
284
|
+
|
285
|
+
raise ArgumentError, "configuration #{index} rotation must be a valid rotation configuration"
|
283
286
|
end
|
284
287
|
|
285
288
|
# Check if log level is valid
|
@@ -297,7 +300,7 @@ module Makit
|
|
297
300
|
def valid_rotation_config?(rotation)
|
298
301
|
return false unless rotation.is_a?(Hash)
|
299
302
|
|
300
|
-
valid_keys = [
|
303
|
+
valid_keys = %i[max_size max_files compress pattern]
|
301
304
|
rotation.keys.all? { |key| valid_keys.include?(key) }
|
302
305
|
end
|
303
306
|
end
|