ScriptCollection 4.2.77__py3-none-any.whl → 4.2.78__py3-none-any.whl

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.
@@ -38,7 +38,7 @@ from .ProgramRunnerBase import ProgramRunnerBase
38
38
  from .ProgramRunnerPopen import ProgramRunnerPopen
39
39
  from .SCLog import SCLog, LogLevel
40
40
 
41
- version = "4.2.77"
41
+ version = "4.2.78"
42
42
  __version__ = version
43
43
 
44
44
  class VSCodeWorkspaceShellTask:
@@ -2635,15 +2635,8 @@ TXDX
2635
2635
  trim_texts(child)
2636
2636
  trim_texts(element)
2637
2637
  ET.indent(element)
2638
- GeneralUtilities.write_text_to_file(
2639
- file,
2640
- ET.tostring(
2641
- element,
2642
- xml_declaration=add_xml_declaration,
2643
- encoding="unicode"
2644
- ),
2645
- encoding
2646
- )
2638
+ content = ET.tostring(element, xml_declaration=add_xml_declaration, encoding="unicode")
2639
+ GeneralUtilities.write_text_to_file(file, content.rstrip("\n") + "\n", encoding)
2647
2640
 
2648
2641
  @GeneralUtilities.check_arguments
2649
2642
  def format_html_file(self, file: str, add_html_declaration: bool = False) -> None:
@@ -2715,8 +2708,16 @@ TXDX
2715
2708
  def handle_pi(self, data):
2716
2709
  self._top().children.append(_Node(raw=f"<?{data}>"))
2717
2710
 
2711
+ _angular_exprs: list[str] = []
2712
+
2713
+ def _protect_angular(m: re.Match) -> str:
2714
+ idx = len(_angular_exprs)
2715
+ _angular_exprs.append(m.group(0))
2716
+ return f"__ANGEXPR{idx}__"
2717
+
2718
+ protected = re.sub(r'\{\{[\s\S]*?\}\}', _protect_angular, content)
2718
2719
  builder = _Builder()
2719
- builder.feed(content)
2720
+ builder.feed(protected)
2720
2721
  ind = " "
2721
2722
 
2722
2723
  def _serialize(node: _Node, depth: int) -> list:
@@ -2747,7 +2748,9 @@ TXDX
2747
2748
  lines.append(f"{prefix}</{node.tag}>")
2748
2749
  return lines
2749
2750
 
2750
- result = "\n".join(_serialize(builder.root, 0))
2751
+ result = "\n".join(line for line in _serialize(builder.root, 0) if line.strip())
2752
+ for i, expr in enumerate(_angular_exprs):
2753
+ result = result.replace(f"__ANGEXPR{i}__", expr)
2751
2754
  if add_html_declaration and not result.lstrip().startswith("<!DOCTYPE"):
2752
2755
  result = "<!DOCTYPE html>\n" + result
2753
2756
  return result
@@ -43,7 +43,9 @@ class TFCPS_CodeUnitSpecific_Docker_Functions(TFCPS_CodeUnitSpecific_Base):
43
43
  args.append("--output")
44
44
  args.append(f"type=docker,dest={target_file}")
45
45
  args.append(".")
46
+ time.sleep(5)
46
47
  self._protected_sc.run_program_argsasarray("docker", args, codeunit_folder, print_errors_as_information=True,print_live_output=self.get_verbosity()==LogLevel.Debug)
48
+ time.sleep(2)
47
49
  self._protected_sc.run_program_argsasarray("docker", ["load", "-i", target_file], codeunit_folder, print_errors_as_information=True,print_live_output=self.get_verbosity()==LogLevel.Debug)
48
50
 
49
51
  self.__generate_sbom_for_docker_image()
@@ -191,9 +191,51 @@ class TFCPS_CodeUnitSpecific_DotNet_Functions(TFCPS_CodeUnitSpecific_Base):
191
191
  os.rename(f"{codeunit_folder}\\{bomfile_folder}\\bom.xml", target)
192
192
  self._protected_sc.format_xml_file(target)
193
193
 
194
+ @GeneralUtilities.check_arguments
195
+ def get_dotnet_build_diagnostics(self) -> list[tuple[LogLevel, str, str | None, int | None]]:
196
+ codeunit_name = self.get_codeunit_name()
197
+ codeunit_folder = self.get_codeunit_folder()
198
+ sln_file = os.path.join(codeunit_folder, codeunit_name + ".sln")
199
+ temp_output_folder = os.path.join(tempfile.gettempdir(), str(uuid.uuid4()))
200
+ GeneralUtilities.ensure_directory_exists(temp_output_folder)
201
+ try:
202
+ run_result = self._protected_sc.run_program("dotnet", f"build \"{sln_file}\" -nologo -v minimal -o \"{temp_output_folder}\"", codeunit_folder, throw_exception_if_exitcode_is_not_zero=False)
203
+ finally:
204
+ GeneralUtilities.ensure_directory_does_not_exist(temp_output_folder)
205
+ diagnostics: list[tuple[LogLevel, str, str | None, int | None]] = []
206
+ pattern = re.compile(r"^\s*(?:(.+?)\((\d+),\d+\): )?(error|warning|message|info) [^:]+: (.+?)(?:\s*\[.+\])?\s*$", re.IGNORECASE)
207
+ for line in GeneralUtilities.string_to_lines(run_result[1] + "\n" + run_result[2]):
208
+ m = pattern.match(line)
209
+ if m:
210
+ file_path = m.group(1)
211
+ line_number = int(m.group(2)) if m.group(2) else None
212
+ level_str = m.group(3).lower()
213
+ message = m.group(4)
214
+ if level_str == "error":
215
+ level = LogLevel.Error
216
+ elif level_str == "warning":
217
+ level = LogLevel.Warning
218
+ else:
219
+ level = LogLevel.Information
220
+ diagnostics.append((level, message, file_path, line_number))
221
+ return diagnostics
222
+
194
223
  @GeneralUtilities.check_arguments
195
224
  def linting(self) -> None:
196
- pass#TODO
225
+ codeunit_name = self.get_codeunit_name()
226
+ codeunit_folder = self.get_codeunit_folder()
227
+ self._protected_sc.format_xml_file(os.path.join(codeunit_folder, codeunit_name, codeunit_name + ".csproj"), add_xml_declaration=False)
228
+ self._protected_sc.format_xml_file(os.path.join(codeunit_folder, codeunit_name + "Tests", codeunit_name + "Tests.csproj"), add_xml_declaration=False)
229
+ self.standardized_task_verify_standard_format_csproj_files()
230
+ diagnostics = self.get_dotnet_build_diagnostics()
231
+ has_errors = False
232
+ for (level, message, file, line) in diagnostics:
233
+ location = f" ({file}:{line})" if file else ""
234
+ self._protected_sc.log.log(f"{message}{location}", level)
235
+ if level == LogLevel.Error:#should not occurr on scbuildcodeunits because then the build would have failed already.
236
+ has_errors = True
237
+ if has_errors:
238
+ raise ValueError("Linting-issues occurred.")
197
239
 
198
240
  @GeneralUtilities.check_arguments
199
241
  def do_common_tasks(self,current_codeunit_version:str,certificateGeneratorInformation:CertificateGeneratorInformationBase)-> None:
@@ -207,7 +249,6 @@ class TFCPS_CodeUnitSpecific_DotNet_Functions(TFCPS_CodeUnitSpecific_Base):
207
249
  self._protected_sc.replace_version_in_nuspec_file(GeneralUtilities.resolve_relative_path(f"./Build/{codeunit_name}.nuspec", folder_of_current_file), codeunit_version)
208
250
  if certificateGeneratorInformation.generate_certificate():
209
251
  self.tfcps_Tools_General.set_constants_for_certificate_private_information(self.get_codeunit_folder())
210
- self.standardized_task_verify_standard_format_csproj_files()
211
252
 
212
253
  @GeneralUtilities.check_arguments
213
254
  def standardized_task_verify_standard_format_csproj_files(self) -> bool:
@@ -237,64 +278,64 @@ class TFCPS_CodeUnitSpecific_DotNet_Functions(TFCPS_CodeUnitSpecific_Base):
237
278
  codeunit_version_regex = re.escape(codeunit_version)
238
279
  codeunit_description_regex = re.escape(codeunit_description)
239
280
  regex = f"""^<Project Sdk=\\"Microsoft\\.NET\\.Sdk\\">
240
- <PropertyGroup>
241
- <TargetFramework>([^<]+)<\\/TargetFramework>
242
- <Authors>([^<]+)<\\/Authors>
243
- <Version>{codeunit_version_regex}<\\/Version>
244
- <AssemblyVersion>{codeunit_version_regex}<\\/AssemblyVersion>
245
- <FileVersion>{codeunit_version_regex}<\\/FileVersion>
246
- <SelfContained>false<\\/SelfContained>
247
- <IsPackable>false<\\/IsPackable>
248
- <PreserveCompilationContext>false<\\/PreserveCompilationContext>
249
- <GenerateRuntimeConfigurationFiles>true<\\/GenerateRuntimeConfigurationFiles>
250
- <Copyright>([^<]+)<\\/Copyright>
251
- <Description>{codeunit_description_regex}<\\/Description>
252
- <PackageProjectUrl>https:\\/\\/([^<]+)<\\/PackageProjectUrl>
253
- <RepositoryUrl>https:\\/\\/([^<]+)\\.git<\\/RepositoryUrl>
254
- <RootNamespace>([^<]+)\\.Core<\\/RootNamespace>
255
- <ProduceReferenceAssembly>false<\\/ProduceReferenceAssembly>
256
- <Nullable>(disable|enable|warnings|annotations)<\\/Nullable>
257
- <Configurations>Development;QualityCheck;Productive<\\/Configurations>
258
- <IsTestProject>false<\\/IsTestProject>
259
- <LangVersion>([^<]+)<\\/LangVersion>
260
- <PackageRequireLicenseAcceptance>true<\\/PackageRequireLicenseAcceptance>
261
- <GenerateSerializationAssemblies>Off<\\/GenerateSerializationAssemblies>
262
- <AppendTargetFrameworkToOutputPath>false<\\/AppendTargetFrameworkToOutputPath>
263
- <OutputPath>\\.\\.\\\\Other\\\\Artifacts\\\\BuildResult_DotNet_win\\-x64<\\/OutputPath>
264
- <PlatformTarget>([^<]+)<\\/PlatformTarget>
265
- <WarningLevel>\\d<\\/WarningLevel>
266
- <Prefer32Bit>false<\\/Prefer32Bit>
267
- <SignAssembly>true<\\/SignAssembly>
268
- <AssemblyOriginatorKeyFile>\\.\\.\\\\\\.\\.\\\\Other\\\\Resources\\\\PublicKeys\\\\StronglyNamedKey\\\\([^<]+)PublicKey\\.snk<\\/AssemblyOriginatorKeyFile>
269
- <DelaySign>true<\\/DelaySign>
270
- <NoWarn>([^<]+)<\\/NoWarn>
271
- <WarningsAsErrors>([^<]+)<\\/WarningsAsErrors>
272
- <ErrorLog>\\.\\.\\\\Other\\\\Resources\\\\CodeAnalysisResult\\\\{codeunit_name_regex}\\.sarif<\\/ErrorLog>
273
- <OutputType>([^<]+)<\\/OutputType>
274
- <DocumentationFile>\\.\\.\\\\Other\\\\Artifacts\\\\MetaInformation\\\\{codeunit_name_regex}\\.xml<\\/DocumentationFile>(\\n|.)*
275
- <\\/PropertyGroup>
276
- <PropertyGroup Condition=\\\"'\\$\\(Configuration\\)'=='Development'\\\">
277
- <DebugType>full<\\/DebugType>
278
- <DebugSymbols>true<\\/DebugSymbols>
279
- <Optimize>false<\\/Optimize>
280
- <DefineConstants>TRACE;DEBUG;Development<\\/DefineConstants>
281
- <ErrorReport>prompt<\\/ErrorReport>
282
- <\\/PropertyGroup>
283
- <PropertyGroup Condition=\\\"'\\$\\(Configuration\\)'=='QualityCheck'\\\">
284
- <DebugType>portable<\\/DebugType>
285
- <DebugSymbols>true<\\/DebugSymbols>
286
- <Optimize>false<\\/Optimize>
287
- <DefineConstants>TRACE;QualityCheck<\\/DefineConstants>
288
- <ErrorReport>none<\\/ErrorReport>
289
- <\\/PropertyGroup>
290
- <PropertyGroup Condition=\\\"'\\$\\(Configuration\\)'=='Productive'\\\">
291
- <DebugType>portable<\\/DebugType>
292
- <DebugSymbols>true<\\/DebugSymbols>
293
- <Optimize>false<\\/Optimize>
294
- <DefineConstants>Productive<\\/DefineConstants>
295
- <ErrorReport>none<\\/ErrorReport>
296
- <\\/PropertyGroup>(\\n|.)*
297
- <\\/Project>$"""
281
+ <PropertyGroup>
282
+ <TargetFramework>([^<]+)<\\/TargetFramework>
283
+ <Authors>([^<]+)<\\/Authors>
284
+ <Version>{codeunit_version_regex}<\\/Version>
285
+ <AssemblyVersion>{codeunit_version_regex}<\\/AssemblyVersion>
286
+ <FileVersion>{codeunit_version_regex}<\\/FileVersion>
287
+ <SelfContained>false<\\/SelfContained>
288
+ <IsPackable>false<\\/IsPackable>
289
+ <PreserveCompilationContext>false<\\/PreserveCompilationContext>
290
+ <GenerateRuntimeConfigurationFiles>true<\\/GenerateRuntimeConfigurationFiles>
291
+ <Copyright>([^<]+)<\\/Copyright>
292
+ <Description>{codeunit_description_regex}<\\/Description>
293
+ <PackageProjectUrl>https:\\/\\/([^<]+)<\\/PackageProjectUrl>
294
+ <RepositoryUrl>https:\\/\\/([^<]+)\\.git<\\/RepositoryUrl>
295
+ <RootNamespace>([^<]+)\\.Core<\\/RootNamespace>
296
+ <ProduceReferenceAssembly>false<\\/ProduceReferenceAssembly>
297
+ <Nullable>(disable|enable|warnings|annotations)<\\/Nullable>
298
+ <Configurations>Development;QualityCheck;Productive<\\/Configurations>
299
+ <IsTestProject>false<\\/IsTestProject>
300
+ <LangVersion>([^<]+)<\\/LangVersion>
301
+ <PackageRequireLicenseAcceptance>true<\\/PackageRequireLicenseAcceptance>
302
+ <GenerateSerializationAssemblies>Off<\\/GenerateSerializationAssemblies>
303
+ <AppendTargetFrameworkToOutputPath>false<\\/AppendTargetFrameworkToOutputPath>
304
+ <OutputPath>\\.\\.\\\\Other\\\\Artifacts\\\\BuildResult_DotNet_win\\-x64<\\/OutputPath>
305
+ <PlatformTarget>([^<]+)<\\/PlatformTarget>
306
+ <WarningLevel>\\d<\\/WarningLevel>
307
+ <Prefer32Bit>false<\\/Prefer32Bit>
308
+ <SignAssembly>true<\\/SignAssembly>
309
+ <AssemblyOriginatorKeyFile>\\.\\.\\\\\\.\\.\\\\Other\\\\Resources\\\\PublicKeys\\\\StronglyNamedKey\\\\([^<]+)PublicKey\\.snk<\\/AssemblyOriginatorKeyFile>
310
+ <DelaySign>true<\\/DelaySign>
311
+ <NoWarn>([^<]+)<\\/NoWarn>
312
+ <WarningsAsErrors>([^<]+)<\\/WarningsAsErrors>
313
+ <ErrorLog>\\.\\.\\\\Other\\\\Resources\\\\CodeAnalysisResult\\\\{codeunit_name_regex}\\.sarif<\\/ErrorLog>
314
+ <OutputType>([^<]+)<\\/OutputType>
315
+ <DocumentationFile>\\.\\.\\\\Other\\\\Artifacts\\\\MetaInformation\\\\{codeunit_name_regex}\\.xml<\\/DocumentationFile>(\\n|.)*
316
+ <\\/PropertyGroup>
317
+ <PropertyGroup Condition=\\\"'\\$\\(Configuration\\)'=='Development'\\\">
318
+ <DebugType>full<\\/DebugType>
319
+ <DebugSymbols>true<\\/DebugSymbols>
320
+ <Optimize>false<\\/Optimize>
321
+ <DefineConstants>TRACE;DEBUG;Development<\\/DefineConstants>
322
+ <ErrorReport>prompt<\\/ErrorReport>
323
+ <\\/PropertyGroup>
324
+ <PropertyGroup Condition=\\\"'\\$\\(Configuration\\)'=='QualityCheck'\\\">
325
+ <DebugType>portable<\\/DebugType>
326
+ <DebugSymbols>true<\\/DebugSymbols>
327
+ <Optimize>false<\\/Optimize>
328
+ <DefineConstants>TRACE;QualityCheck<\\/DefineConstants>
329
+ <ErrorReport>none<\\/ErrorReport>
330
+ <\\/PropertyGroup>
331
+ <PropertyGroup Condition=\\\"'\\$\\(Configuration\\)'=='Productive'\\\">
332
+ <DebugType>portable<\\/DebugType>
333
+ <DebugSymbols>true<\\/DebugSymbols>
334
+ <Optimize>false<\\/Optimize>
335
+ <DefineConstants>Productive<\\/DefineConstants>
336
+ <ErrorReport>none<\\/ErrorReport>
337
+ <\\/PropertyGroup>(\\n|.)*
338
+ <\\/Project>\\n?$"""
298
339
  result = self.__standardized_task_verify_standard_format_for_csproj_files(regex, csproj_file)
299
340
  return (result[0], regex, result[1])
300
341
 
@@ -302,63 +343,63 @@ class TFCPS_CodeUnitSpecific_DotNet_Functions(TFCPS_CodeUnitSpecific_Base):
302
343
  codeunit_name_regex = re.escape(codeunit_name)
303
344
  codeunit_version_regex = re.escape(codeunit_version)
304
345
  regex = f"""^<Project Sdk=\\"Microsoft\\.NET\\.Sdk\\">
305
- <PropertyGroup>
306
- <TargetFramework>([^<]+)<\\/TargetFramework>
307
- <Authors>([^<]+)<\\/Authors>
308
- <Version>{codeunit_version_regex}<\\/Version>
309
- <AssemblyVersion>{codeunit_version_regex}<\\/AssemblyVersion>
310
- <FileVersion>{codeunit_version_regex}<\\/FileVersion>
311
- <SelfContained>false<\\/SelfContained>
312
- <IsPackable>false<\\/IsPackable>
313
- <PreserveCompilationContext>false<\\/PreserveCompilationContext>
314
- <GenerateRuntimeConfigurationFiles>true<\\/GenerateRuntimeConfigurationFiles>
315
- <Copyright>([^<]+)<\\/Copyright>
316
- <Description>{codeunit_name_regex}Tests is the test-project for {codeunit_name_regex}\\.<\\/Description>
317
- <PackageProjectUrl>https:\\/\\/([^<]+)<\\/PackageProjectUrl>
318
- <RepositoryUrl>https:\\/\\/([^<]+)\\.git</RepositoryUrl>
319
- <RootNamespace>([^<]+)\\.Tests<\\/RootNamespace>
320
- <ProduceReferenceAssembly>false<\\/ProduceReferenceAssembly>
321
- <Nullable>(disable|enable|warnings|annotations)<\\/Nullable>
322
- <Configurations>Development;QualityCheck;Productive<\\/Configurations>
323
- <IsTestProject>true<\\/IsTestProject>
324
- <LangVersion>([^<]+)<\\/LangVersion>
325
- <PackageRequireLicenseAcceptance>true<\\/PackageRequireLicenseAcceptance>
326
- <GenerateSerializationAssemblies>Off<\\/GenerateSerializationAssemblies>
327
- <AppendTargetFrameworkToOutputPath>false<\\/AppendTargetFrameworkToOutputPath>
328
- <OutputPath>\\.\\.\\\\Other\\\\Artifacts\\\\BuildResultTests_DotNet_win\\-x64<\\/OutputPath>
329
- <PlatformTarget>([^<]+)<\\/PlatformTarget>
330
- <WarningLevel>\\d<\\/WarningLevel>
331
- <Prefer32Bit>false<\\/Prefer32Bit>
332
- <SignAssembly>true<\\/SignAssembly>
333
- <AssemblyOriginatorKeyFile>\\.\\.\\\\\\.\\.\\\\Other\\\\Resources\\\\PublicKeys\\\\StronglyNamedKey\\\\([^<]+)PublicKey\\.snk<\\/AssemblyOriginatorKeyFile>
334
- <DelaySign>true<\\/DelaySign>
335
- <NoWarn>([^<]+)<\\/NoWarn>
336
- <WarningsAsErrors>([^<]+)<\\/WarningsAsErrors>
337
- <ErrorLog>\\.\\.\\\\Other\\\\Resources\\\\CodeAnalysisResult\\\\{codeunit_name_regex}Tests\\.sarif<\\/ErrorLog>
338
- <OutputType>Library<\\/OutputType>(\\n|.)*
339
- <\\/PropertyGroup>
340
- <PropertyGroup Condition=\\\"'\\$\\(Configuration\\)'=='Development'\\\">
341
- <DebugType>full<\\/DebugType>
342
- <DebugSymbols>true<\\/DebugSymbols>
343
- <Optimize>false<\\/Optimize>
344
- <DefineConstants>TRACE;DEBUG;Development<\\/DefineConstants>
345
- <ErrorReport>prompt<\\/ErrorReport>
346
- <\\/PropertyGroup>
347
- <PropertyGroup Condition=\\\"'\\$\\(Configuration\\)'=='QualityCheck'\\\">
348
- <DebugType>portable<\\/DebugType>
349
- <DebugSymbols>true<\\/DebugSymbols>
350
- <Optimize>false<\\/Optimize>
351
- <DefineConstants>TRACE;QualityCheck<\\/DefineConstants>
352
- <ErrorReport>none<\\/ErrorReport>
353
- <\\/PropertyGroup>
354
- <PropertyGroup Condition=\\\"'\\$\\(Configuration\\)'=='Productive'\\\">
355
- <DebugType>portable<\\/DebugType>
356
- <DebugSymbols>true<\\/DebugSymbols>
357
- <Optimize>false<\\/Optimize>
358
- <DefineConstants>Productive<\\/DefineConstants>
359
- <ErrorReport>none<\\/ErrorReport>
360
- <\\/PropertyGroup>(\\n|.)*
361
- <\\/Project>$"""
346
+ <PropertyGroup>
347
+ <TargetFramework>([^<]+)<\\/TargetFramework>
348
+ <Authors>([^<]+)<\\/Authors>
349
+ <Version>{codeunit_version_regex}<\\/Version>
350
+ <AssemblyVersion>{codeunit_version_regex}<\\/AssemblyVersion>
351
+ <FileVersion>{codeunit_version_regex}<\\/FileVersion>
352
+ <SelfContained>false<\\/SelfContained>
353
+ <IsPackable>false<\\/IsPackable>
354
+ <PreserveCompilationContext>false<\\/PreserveCompilationContext>
355
+ <GenerateRuntimeConfigurationFiles>true<\\/GenerateRuntimeConfigurationFiles>
356
+ <Copyright>([^<]+)<\\/Copyright>
357
+ <Description>{codeunit_name_regex}Tests is the test-project for {codeunit_name_regex}\\.<\\/Description>
358
+ <PackageProjectUrl>https:\\/\\/([^<]+)<\\/PackageProjectUrl>
359
+ <RepositoryUrl>https:\\/\\/([^<]+)\\.git</RepositoryUrl>
360
+ <RootNamespace>([^<]+)\\.Tests<\\/RootNamespace>
361
+ <ProduceReferenceAssembly>false<\\/ProduceReferenceAssembly>
362
+ <Nullable>(disable|enable|warnings|annotations)<\\/Nullable>
363
+ <Configurations>Development;QualityCheck;Productive<\\/Configurations>
364
+ <IsTestProject>true<\\/IsTestProject>
365
+ <LangVersion>([^<]+)<\\/LangVersion>
366
+ <PackageRequireLicenseAcceptance>true<\\/PackageRequireLicenseAcceptance>
367
+ <GenerateSerializationAssemblies>Off<\\/GenerateSerializationAssemblies>
368
+ <AppendTargetFrameworkToOutputPath>false<\\/AppendTargetFrameworkToOutputPath>
369
+ <OutputPath>\\.\\.\\\\Other\\\\Artifacts\\\\BuildResultTests_DotNet_win\\-x64<\\/OutputPath>
370
+ <PlatformTarget>([^<]+)<\\/PlatformTarget>
371
+ <WarningLevel>\\d<\\/WarningLevel>
372
+ <Prefer32Bit>false<\\/Prefer32Bit>
373
+ <SignAssembly>true<\\/SignAssembly>
374
+ <AssemblyOriginatorKeyFile>\\.\\.\\\\\\.\\.\\\\Other\\\\Resources\\\\PublicKeys\\\\StronglyNamedKey\\\\([^<]+)PublicKey\\.snk<\\/AssemblyOriginatorKeyFile>
375
+ <DelaySign>true<\\/DelaySign>
376
+ <NoWarn>([^<]+)<\\/NoWarn>
377
+ <WarningsAsErrors>([^<]+)<\\/WarningsAsErrors>
378
+ <ErrorLog>\\.\\.\\\\Other\\\\Resources\\\\CodeAnalysisResult\\\\{codeunit_name_regex}Tests\\.sarif<\\/ErrorLog>
379
+ <OutputType>Library<\\/OutputType>(\\n|.)*
380
+ <\\/PropertyGroup>
381
+ <PropertyGroup Condition=\\\"'\\$\\(Configuration\\)'=='Development'\\\">
382
+ <DebugType>full<\\/DebugType>
383
+ <DebugSymbols>true<\\/DebugSymbols>
384
+ <Optimize>false<\\/Optimize>
385
+ <DefineConstants>TRACE;DEBUG;Development<\\/DefineConstants>
386
+ <ErrorReport>prompt<\\/ErrorReport>
387
+ <\\/PropertyGroup>
388
+ <PropertyGroup Condition=\\\"'\\$\\(Configuration\\)'=='QualityCheck'\\\">
389
+ <DebugType>portable<\\/DebugType>
390
+ <DebugSymbols>true<\\/DebugSymbols>
391
+ <Optimize>false<\\/Optimize>
392
+ <DefineConstants>TRACE;QualityCheck<\\/DefineConstants>
393
+ <ErrorReport>none<\\/ErrorReport>
394
+ <\\/PropertyGroup>
395
+ <PropertyGroup Condition=\\\"'\\$\\(Configuration\\)'=='Productive'\\\">
396
+ <DebugType>portable<\\/DebugType>
397
+ <DebugSymbols>true<\\/DebugSymbols>
398
+ <Optimize>false<\\/Optimize>
399
+ <DefineConstants>Productive<\\/DefineConstants>
400
+ <ErrorReport>none<\\/ErrorReport>
401
+ <\\/PropertyGroup>(\\n|.)*
402
+ <\\/Project>\\n?$"""
362
403
  result = self.__standardized_task_verify_standard_format_for_csproj_files(regex, csproj_file)
363
404
  return (result[0], regex, result[1])
364
405
 
@@ -0,0 +1,43 @@
1
+ import os
2
+ from ...GeneralUtilities import GeneralUtilities
3
+ from ...SCLog import LogLevel
4
+ from ..TFCPS_CodeUnitSpecific_Base import TFCPS_CodeUnitSpecific_Base, TFCPS_CodeUnitSpecific_Base_CLI
5
+
6
+ class TFCPS_CodeUnitSpecific_Maven_Functions(TFCPS_CodeUnitSpecific_Base):
7
+
8
+ def __init__(self, current_file: str, verbosity: LogLevel, targetenvironmenttype: str, use_cache: bool, is_pre_merge: bool):
9
+ super().__init__(current_file, verbosity, targetenvironmenttype, use_cache, is_pre_merge)
10
+
11
+ @GeneralUtilities.check_arguments
12
+ def build(self) -> None:
13
+ pass#TODO
14
+
15
+ @GeneralUtilities.check_arguments
16
+ def linting(self) -> None:
17
+ pass#TODO
18
+
19
+ @GeneralUtilities.check_arguments
20
+ def run_testcases(self) -> None:
21
+ pass#TODO
22
+
23
+ def get_dependencies(self) -> dict[str, set[str]]:
24
+ return dict[str, set[str]]()#TODO
25
+
26
+ @GeneralUtilities.check_arguments
27
+ def get_available_versions(self, dependencyname: str) -> list[str]:
28
+ return []#TODO
29
+
30
+ @GeneralUtilities.check_arguments
31
+ def set_dependency_version(self, name: str, new_version: str) -> None:
32
+ raise ValueError("Operation is not implemented.")
33
+
34
+ class TFCPS_CodeUnitSpecific_Maven_CLI:
35
+
36
+ @staticmethod
37
+ @GeneralUtilities.check_arguments
38
+ def parse(file: str) -> TFCPS_CodeUnitSpecific_Maven_Functions:
39
+ parser = TFCPS_CodeUnitSpecific_Base_CLI.get_base_parser()
40
+ #add custom parameter if desired
41
+ args = parser.parse_args()
42
+ result: TFCPS_CodeUnitSpecific_Maven_Functions = TFCPS_CodeUnitSpecific_Maven_Functions(file, LogLevel(int(args.verbosity)), args.targetenvironmenttype, not args.nocache, args.ispremerge)
43
+ return result
File without changes
@@ -0,0 +1,43 @@
1
+ import os
2
+ from ...GeneralUtilities import GeneralUtilities
3
+ from ...SCLog import LogLevel
4
+ from ..TFCPS_CodeUnitSpecific_Base import TFCPS_CodeUnitSpecific_Base, TFCPS_CodeUnitSpecific_Base_CLI
5
+
6
+ class TFCPS_CodeUnitSpecific_Rust_Functions(TFCPS_CodeUnitSpecific_Base):
7
+
8
+ def __init__(self, current_file: str, verbosity: LogLevel, targetenvironmenttype: str, use_cache: bool, is_pre_merge: bool):
9
+ super().__init__(current_file, verbosity, targetenvironmenttype, use_cache, is_pre_merge)
10
+
11
+ @GeneralUtilities.check_arguments
12
+ def build(self) -> None:
13
+ pass#TODO
14
+
15
+ @GeneralUtilities.check_arguments
16
+ def linting(self) -> None:
17
+ pass#TODO
18
+
19
+ @GeneralUtilities.check_arguments
20
+ def run_testcases(self) -> None:
21
+ pass#TODO
22
+
23
+ def get_dependencies(self) -> dict[str, set[str]]:
24
+ return dict[str, set[str]]()#TODO
25
+
26
+ @GeneralUtilities.check_arguments
27
+ def get_available_versions(self, dependencyname: str) -> list[str]:
28
+ return []#TODO
29
+
30
+ @GeneralUtilities.check_arguments
31
+ def set_dependency_version(self, name: str, new_version: str) -> None:
32
+ raise ValueError("Operation is not implemented.")
33
+
34
+ class TFCPS_CodeUnitSpecific_Rust_CLI:
35
+
36
+ @staticmethod
37
+ @GeneralUtilities.check_arguments
38
+ def parse(file: str) -> TFCPS_CodeUnitSpecific_Rust_Functions:
39
+ parser = TFCPS_CodeUnitSpecific_Base_CLI.get_base_parser()
40
+ #add custom parameter if desired
41
+ args = parser.parse_args()
42
+ result: TFCPS_CodeUnitSpecific_Rust_Functions = TFCPS_CodeUnitSpecific_Rust_Functions(file, LogLevel(int(args.verbosity)), args.targetenvironmenttype, not args.nocache, args.ispremerge)
43
+ return result
File without changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ScriptCollection
3
- Version: 4.2.77
3
+ Version: 4.2.78
4
4
  Summary: The ScriptCollection is the place for reusable scripts.
5
5
  Home-page: https://github.com/anionDev/ScriptCollection
6
6
  Author: Marius Göcke
@@ -9,7 +9,7 @@ ScriptCollection/ProgramRunnerMock.py,sha256=uTu-aFle1W_oKjeQEmuPsFPQpvo0kRf2FrR
9
9
  ScriptCollection/ProgramRunnerPopen.py,sha256=BPY7-ZMIlqT7JOKz8qlB5c0laF2Js-ijzqk09GxZC48,3821
10
10
  ScriptCollection/ProgramRunnerSudo.py,sha256=_khC3xuTdrPoLluBJZWfldltmmuKltABJPcbjZSFW-4,4835
11
11
  ScriptCollection/SCLog.py,sha256=8TRy1LeYMsPOIuWUcnUNNbO5pd-cNBS-3cn-kdzP8FU,4768
12
- ScriptCollection/ScriptCollectionCore.py,sha256=bZ8OSO0sYRrPO2Jq11AROlh0c8Y2f7C-5r8I4vMmoWg,186755
12
+ ScriptCollection/ScriptCollectionCore.py,sha256=fvpJovrlNqW5EcN6NaZH7o5984PM2meD-BsrJjR0Er8,187128
13
13
  ScriptCollection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  ScriptCollection/OCIImages/AbstractImageHandler.py,sha256=83qDMILwxhH9DbC0sb358Vu8PXEysmJJyap_6gECZqs,1627
15
15
  ScriptCollection/OCIImages/OCIImageManager.py,sha256=aBogkSXNDyi8NO11N-s03nuFJEv7PyJ-wjHuYYeZfvs,6662
@@ -32,23 +32,27 @@ ScriptCollection/TFCPS/TFCPS_MergeToStable.py,sha256=Ajfy2pLajTuU6UpwItHt4C2a-gL
32
32
  ScriptCollection/TFCPS/TFCPS_PreBuildCodeunitsScript.py,sha256=f0Uq1cA_4LvmL72cal0crrbKF6PcxL13D9wBKuQ1YBw,2328
33
33
  ScriptCollection/TFCPS/TFCPS_Tools_General.py,sha256=VbS3qdpCc4ZgbwlwxHdLB_ras8dDmJDBklRrWIrhbDQ,101356
34
34
  ScriptCollection/TFCPS/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
- ScriptCollection/TFCPS/Docker/TFCPS_CodeUnitSpecific_Docker.py,sha256=sPO4Gf6oRbGH9QRA3p2nmTAeHtkyYr31ucLbJP09JeY,12139
35
+ ScriptCollection/TFCPS/Docker/TFCPS_CodeUnitSpecific_Docker.py,sha256=bHBIaZuV1DqvBI5BGG8xp5PYDfDDGPlbcma8Z_0mCjc,12191
36
36
  ScriptCollection/TFCPS/Docker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
37
  ScriptCollection/TFCPS/DotNet/CertificateGeneratorInformationBase.py,sha256=bT6Gd5pQpZCw4OQz6HWkPCSn5z__eUUEisABLDSxd0o,200
38
38
  ScriptCollection/TFCPS/DotNet/CertificateGeneratorInformationGenerate.py,sha256=QyjOfMY22JWCvKjMelHiDWbJiWqotOfebpJpgDUaoO4,237
39
39
  ScriptCollection/TFCPS/DotNet/CertificateGeneratorInformationNoGenerate.py,sha256=i0zEGehj0sttxjjZtoq2KFSKp_ulxVyWp_ZgAhIY_So,241
40
- ScriptCollection/TFCPS/DotNet/TFCPS_CodeUnitSpecific_DotNet.py,sha256=W957xFs4YBkWtU8q-JcbN4aWK2Aq8SIM1jePQRRbEkA,31993
40
+ ScriptCollection/TFCPS/DotNet/TFCPS_CodeUnitSpecific_DotNet.py,sha256=0Jd-Sik8dY8KMdTsMIpedvYmgsuiyCcoL1VhT5ePQd8,34200
41
41
  ScriptCollection/TFCPS/DotNet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
42
  ScriptCollection/TFCPS/Flutter/TFCPS_CodeUnitSpecific_Flutter.py,sha256=KAjyFyEjpkghsVPskfsHD68k4Z92gRCT_q6BXfikRwE,7660
43
43
  ScriptCollection/TFCPS/Flutter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
44
  ScriptCollection/TFCPS/Go/TFCPS_CodeUnitSpecific_Go.py,sha256=kyx26AnT1-LySFA46wfJ9yZUKYdMWTD0U2XZfSQbuB0,3497
45
45
  ScriptCollection/TFCPS/Go/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
+ ScriptCollection/TFCPS/Maven/TFCPS_CodeUnitSpecific_Maven.py,sha256=nwlofbDhKmFdOZ0Gt8AXqoEl8u-5qfoh9URGYbMJ9C4,1695
47
+ ScriptCollection/TFCPS/Maven/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
48
  ScriptCollection/TFCPS/NodeJS/TFCPS_CodeUnitSpecific_NodeJS.py,sha256=57I7xbLtCtH-Edt1QKCSXF7wnGyAhbGMdghD_VFZIIY,13184
47
49
  ScriptCollection/TFCPS/NodeJS/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
50
  ScriptCollection/TFCPS/Python/TFCPS_CodeUnitSpecific_Python.py,sha256=9XK7XnbeOnq_4siVoWovogStoKFiZLhGh3C_f2YaznI,13621
49
51
  ScriptCollection/TFCPS/Python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
- scriptcollection-4.2.77.dist-info/METADATA,sha256=LBW1YBdUMBmRbKX0zeYVI6g6IOxw7bH93ojqb7mInqU,7691
51
- scriptcollection-4.2.77.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
52
- scriptcollection-4.2.77.dist-info/entry_points.txt,sha256=27XwAJEcaMEc1be0Ec1vKHCbiU4Ziu8jKL-SqsrYOIQ,4680
53
- scriptcollection-4.2.77.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
54
- scriptcollection-4.2.77.dist-info/RECORD,,
52
+ ScriptCollection/TFCPS/Rust/TFCPS_CodeUnitSpecific_Rust.py,sha256=S_9g9IliQzBBqTQquYj6gI1E3OlGfGZsxXw-mSEe-iA,1690
53
+ ScriptCollection/TFCPS/Rust/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
+ scriptcollection-4.2.78.dist-info/METADATA,sha256=wc5MdwqJz28QC9dQL-k7Mz-J9bv1OucsY0MKKgOAAog,7691
55
+ scriptcollection-4.2.78.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
56
+ scriptcollection-4.2.78.dist-info/entry_points.txt,sha256=27XwAJEcaMEc1be0Ec1vKHCbiU4Ziu8jKL-SqsrYOIQ,4680
57
+ scriptcollection-4.2.78.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
58
+ scriptcollection-4.2.78.dist-info/RECORD,,