ScriptCollection 4.0.19__py3-none-any.whl → 4.0.21__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.
@@ -1,2 +1,83 @@
1
+ import argparse
2
+ import os
3
+ from .SCLog import LogLevel
4
+ from .GeneralUtilities import GeneralUtilities
5
+ from .ScriptCollectionCore import ScriptCollectionCore
6
+
7
+ class AnionBuildPlatformConfiguration:
8
+ build_repositories_folder:str
9
+ project_to_build:str
10
+ additional_arguments_file:str
11
+ verbosity:LogLevel
12
+ source_branch:str
13
+
14
+ def __init__(self,
15
+ build_repositories_folder:str,
16
+ project_to_build:str,
17
+ additional_arguments_file:str,
18
+ verbosity:LogLevel,
19
+ source_branch:str):
20
+ self.build_repositories_folder=build_repositories_folder
21
+ self.project_to_build=project_to_build
22
+ self.additional_arguments_file=additional_arguments_file
23
+ self.verbosity=verbosity
24
+ self.source_branch=source_branch
25
+
1
26
  class AnionBuildPlatform:
2
- pass
27
+
28
+ __configuration: AnionBuildPlatformConfiguration
29
+ __sc:ScriptCollectionCore
30
+
31
+ def __init__(self, configuration: AnionBuildPlatformConfiguration):
32
+ self.__configuration = configuration
33
+ self.__sc = ScriptCollectionCore()
34
+ self.__sc.log.loglevel=configuration.verbosity
35
+
36
+ def run(self) -> None:
37
+ build_repo_folder:str=os.path.join(self.__configuration.build_repositories_folder,self.__configuration.project_to_build+"Build")
38
+ self.__sc.assert_is_git_repository(build_repo_folder)
39
+ scripts_folder:str=os.path.join(build_repo_folder,"Scripts","CreateRelease")
40
+ self.__sc.run_program("python",f"MergeToMain",scripts_folder)
41
+ self.__sc.run_program("python","MergeToStable",scripts_folder)
42
+
43
+ class TFCPS_AnionBuildPlatform_CLI:
44
+
45
+ @staticmethod
46
+ def get_with_overwritable_defaults(default_project_to_build:str=None,default_loglevel:LogLevel=None,default_additionalargumentsfile:str=None,default_build_repositories_folder:str=None,default_source_branch:str=None)->AnionBuildPlatform:
47
+ parser = argparse.ArgumentParser()
48
+ verbosity_values = ", ".join(f"{lvl.value}={lvl.name}" for lvl in LogLevel)
49
+ parser.add_argument('-r', '--buildrepositoriesfolder', required=False,default=None)
50
+ parser.add_argument('-p', '--projecttobuild', required=False, default=None)
51
+ parser.add_argument('-a', '--additionalargumentsfile', required=False, default=None)
52
+ parser.add_argument('-v', '--verbosity', required=False, default=3, help=f"Sets the loglevel. Possible values: {verbosity_values}")
53
+ parser.add_argument('-s', '--sourcebranch', required=False, default="other/next-release")
54
+ args=parser.parse_args()
55
+
56
+ if args.projecttobuild is not None:
57
+ default_project_to_build=args.projecttobuild
58
+
59
+ if args.buildrepositoriesfolder is not None:
60
+ default_build_repositories_folder=args.buildrepositoriesfolder
61
+
62
+ if default_project_to_build is None and default_build_repositories_folder is None:
63
+ current_folder=os.getcwd()
64
+ if os.path.basename(current_folder).endswith("Build"):
65
+ default_build_repositories_folder=os.path.dirname(current_folder)
66
+ default_project_to_build=os.path.basename(current_folder)[:-len("Build")]
67
+ GeneralUtilities.assert_not_null(default_project_to_build,"projecttobuild is not set")
68
+ GeneralUtilities.assert_not_null(default_build_repositories_folder,"buildrepositoriesfolder is not set")
69
+
70
+ if args.verbosity is not None:
71
+ default_loglevel=LogLevel(int( args.verbosity))
72
+ GeneralUtilities.assert_not_null(default_loglevel,"verbosity is not set")
73
+
74
+ if args.additionalargumentsfile is not None:
75
+ default_additionalargumentsfile=args.additionalargumentsfile
76
+
77
+ if args.sourcebranch is not None:
78
+ default_source_branch=args.sourcebranch
79
+ GeneralUtilities.assert_not_null(default_build_repositories_folder,"sourcebranch is not set")
80
+
81
+ config:AnionBuildPlatformConfiguration=AnionBuildPlatformConfiguration(default_build_repositories_folder,default_project_to_build,default_additionalargumentsfile,default_loglevel,default_source_branch)
82
+ tFCPS_MergeToMain:AnionBuildPlatform=AnionBuildPlatform(config)
83
+ return tFCPS_MergeToMain
@@ -6,6 +6,7 @@ import traceback
6
6
  #import sys
7
7
  import shutil
8
8
  import keyboard
9
+ from .AnionBuildPlatform import AnionBuildPlatform, TFCPS_AnionBuildPlatform_CLI
9
10
  from .ScriptCollectionCore import ScriptCollectionCore
10
11
  from .GeneralUtilities import GeneralUtilities
11
12
  from .SCLog import LogLevel
@@ -262,8 +263,8 @@ def BuildCodeUnit() -> int:
262
263
  parser.add_argument('--codeunitfolder', required=False, default=".")
263
264
  verbosity_values = ", ".join(f"{lvl.value}={lvl.name}" for lvl in LogLevel)
264
265
  parser.add_argument('-v', '--verbosity', required=False, default=3, help=f"Sets the loglevel. Possible values: {verbosity_values}")
265
- parser.add_argument('--targetenvironment', required=False, default="QualityCheck")
266
- parser.add_argument('--additionalargumentsfile', required=False, default=None)
266
+ parser.add_argument('e','--targetenvironment', required=False, default="QualityCheck")
267
+ parser.add_argument('a','--additionalargumentsfile', required=False, default=None)
267
268
  parser.add_argument('--assume_dependent_codeunits_are_already_built', type=GeneralUtilities.string_to_boolean, const=True, default=False, nargs='?')
268
269
  #args = parser.parse_args()
269
270
  #t=TasksForCommonProjectStructure(args)
@@ -278,9 +279,8 @@ def BuildCodeUnits() -> int:
278
279
  parser.add_argument('--repositoryfolder', required=False, default=".")
279
280
  verbosity_values = ", ".join(f"{lvl.value}={lvl.name}" for lvl in LogLevel)
280
281
  parser.add_argument('-v', '--verbosity', required=False, default=3, help=f"Sets the loglevel. Possible values: {verbosity_values}")
281
- parser.add_argument('--targetenvironment', required=False, default="QualityCheck")
282
- parser.add_argument('--additionalargumentsfile', required=False, default=None)
283
- parser.add_argument('--removeuncommittedfiles', required=False, default=False, action='store_true')
282
+ parser.add_argument('e','--targetenvironment', required=False, default="QualityCheck")
283
+ parser.add_argument('a','--additionalargumentsfile', required=False, default=None)
284
284
  parser.add_argument("-c",'--nocache', required=False, default=False, action='store_true')
285
285
  parser.add_argument('--ispremerge', required=False, default=False, action='store_true')
286
286
 
@@ -320,7 +320,6 @@ def UpdateDependencies() -> int:
320
320
  parser.add_argument('-v', '--verbosity', required=False, default=3, help=f"Sets the loglevel. Possible values: {verbosity_values}")
321
321
  parser.add_argument('--targetenvironment', required=False, default="QualityCheck")
322
322
  parser.add_argument('--additionalargumentsfile', required=False, default=None)
323
- parser.add_argument('--removeuncommittedfiles', required=False, default=False, action='store_true')
324
323
  parser.add_argument("-c",'--nocache', required=False, default=False, action='store_true')
325
324
 
326
325
  args = parser.parse_args()
@@ -832,3 +831,8 @@ def LOC() -> int:
832
831
  sc.log.loglevel=LogLevel.Debug
833
832
  GeneralUtilities.write_message_to_stdout(str(sc.get_lines_of_code(folder, excluded_patterns)))
834
833
  return 0
834
+
835
+ def CreateRelease()->int:
836
+ anionBuildPlatform:AnionBuildPlatform=TFCPS_AnionBuildPlatform_CLI.get_with_overwritable_defaults()
837
+ anionBuildPlatform.run()
838
+ return 0
@@ -36,7 +36,7 @@ from .ProgramRunnerPopen import ProgramRunnerPopen
36
36
  from .ProgramRunnerEpew import ProgramRunnerEpew, CustomEpewArgument
37
37
  from .SCLog import SCLog, LogLevel
38
38
 
39
- version = "4.0.19"
39
+ version = "4.0.21"
40
40
  __version__ = version
41
41
 
42
42
 
@@ -289,9 +289,9 @@ class TFCPS_CodeUnitSpecific_DotNet_Functions(TFCPS_CodeUnitSpecific_Base):
289
289
  <ErrorReport>none<\\/ErrorReport>
290
290
  <\\/PropertyGroup>
291
291
  <PropertyGroup Condition=\\\"'\\$\\(Configuration\\)'=='Productive'\\\">
292
- <DebugType>none<\\/DebugType>
293
- <DebugSymbols>false<\\/DebugSymbols>
294
- <Optimize>true<\\/Optimize>
292
+ <DebugType>portable<\\/DebugType>
293
+ <DebugSymbols>true<\\/DebugSymbols>
294
+ <Optimize>false<\\/Optimize>
295
295
  <DefineConstants>Productive<\\/DefineConstants>
296
296
  <ErrorReport>none<\\/ErrorReport>
297
297
  <\\/PropertyGroup>(\\n|.)*
@@ -353,9 +353,9 @@ class TFCPS_CodeUnitSpecific_DotNet_Functions(TFCPS_CodeUnitSpecific_Base):
353
353
  <ErrorReport>none<\\/ErrorReport>
354
354
  <\\/PropertyGroup>
355
355
  <PropertyGroup Condition=\\\"'\\$\\(Configuration\\)'=='Productive'\\\">
356
- <DebugType>none<\\/DebugType>
357
- <DebugSymbols>false<\\/DebugSymbols>
358
- <Optimize>true<\\/Optimize>
356
+ <DebugType>portable<\\/DebugType>
357
+ <DebugSymbols>true<\\/DebugSymbols>
358
+ <Optimize>false<\\/Optimize>
359
359
  <DefineConstants>Productive<\\/DefineConstants>
360
360
  <ErrorReport>none<\\/ErrorReport>
361
361
  <\\/PropertyGroup>(\\n|.)*
@@ -1056,3 +1056,8 @@ class TFCPS_Tools_General:
1056
1056
  twine_argument = f"upload{gpg_identity_argument} --repository {repository} --non-interactive {filename} --disable-progress-bar"
1057
1057
  twine_argument = f"{twine_argument} --username __token__ --password {api_key}{verbose_argument}"
1058
1058
  self.__sc.run_program("twine", twine_argument, folder, throw_exception_if_exitcode_is_not_zero=True)
1059
+
1060
+ @GeneralUtilities.check_arguments
1061
+ def push_nuget_build_artifact(self, push_script_file: str, repository_folder_name: str, codeunitname: str, registry_address: str,api_key: str):
1062
+ build_artifact_folder = GeneralUtilities.resolve_relative_path(f"../../Submodules/{repository_folder_name}/{codeunitname}/Other/Artifacts/BuildResult_NuGet", os.path.dirname(push_script_file))
1063
+ self.__sc.push_nuget_build_artifact(self.__sc.find_file_by_extension(build_artifact_folder, "nupkg"), registry_address, api_key)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ScriptCollection
3
- Version: 4.0.19
3
+ Version: 4.0.21
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
@@ -1,6 +1,6 @@
1
- ScriptCollection/AnionBuildPlatform.py,sha256=dD6yOTOic1qaS9QVOkKZadnnGtIhgGdj2PK02NNhLtk,35
1
+ ScriptCollection/AnionBuildPlatform.py,sha256=RShCPLYC1_d5zr58PO9DEI2sBDVVtn4uHqGf-Q9qSRE,4194
2
2
  ScriptCollection/CertificateUpdater.py,sha256=GXPxmYaW-ufOqsiP9kUYdtI6eNg1-GzrrCqsZdwW_HY,9199
3
- ScriptCollection/Executables.py,sha256=1Td-MMa8NVmo5KJwVT99yVVQyBQWJbRiNFcbVt7T74Y,40602
3
+ ScriptCollection/Executables.py,sha256=HiKhhPCMez9DnMWN9Beicz2IRK2JfD7ec7F6ub0t1BE,40664
4
4
  ScriptCollection/GeneralUtilities.py,sha256=9Xd9aKPj3TkpVtdHXzFMILrRoXAfJCph69XRTstdsBo,49280
5
5
  ScriptCollection/ImageUpdater.py,sha256=qTe3yoqzQJY7LZdXBbjbWvrsSQaeHy1VwmOxaRzU2ig,29305
6
6
  ScriptCollection/ProcessesRunner.py,sha256=3mu4ZxzZleQo0Op6o9EYTCFiJfb6kx5ov2YfZfT89mU,1395
@@ -9,7 +9,7 @@ ScriptCollection/ProgramRunnerEpew.py,sha256=TJdDx9zIMSiCaXh8X-ekrMlbXfGtmd0Mmyx
9
9
  ScriptCollection/ProgramRunnerMock.py,sha256=uTu-aFle1W_oKjeQEmuPsFPQpvo0kRf2FrRjAPIwT5Y,37
10
10
  ScriptCollection/ProgramRunnerPopen.py,sha256=BPY7-ZMIlqT7JOKz8qlB5c0laF2Js-ijzqk09GxZC48,3821
11
11
  ScriptCollection/SCLog.py,sha256=dxGOI4E9lG5v9jk_LajXCkM5nghliCDV8YB8Ihn160s,4541
12
- ScriptCollection/ScriptCollectionCore.py,sha256=sp5_u2zFhMctiMHQM_-pwUHXEr5RxPfNsZh2mp_xxS8,140617
12
+ ScriptCollection/ScriptCollectionCore.py,sha256=3XkHEiExak4h3ixU16M5M-0h7fBmWiptezdWKLOZ98Q,140617
13
13
  ScriptCollection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  ScriptCollection/TFCPS/TFCPS_CodeUnitSpecific_Base.py,sha256=Cj89Xhzf5CRSDVH_-0JachQMsPHfjkz8jtRi_BpiGvY,25979
15
15
  ScriptCollection/TFCPS/TFCPS_CodeUnit_BuildCodeUnit.py,sha256=xfZ2iFCH-eIqi-AdhqcYaSYqb3JP1VE4o7LrHEtqFQA,7388
@@ -20,14 +20,14 @@ ScriptCollection/TFCPS/TFCPS_MergeToMain.py,sha256=wX7oF_JYATofrJNQ7XtPKCg8cjr_X
20
20
  ScriptCollection/TFCPS/TFCPS_MergeToStable.py,sha256=AUM6hJDYmFzcP4wCwrn2htf3fTBK9mstxnLWWHaxxPE,22652
21
21
  ScriptCollection/TFCPS/TFCPS_PreBuildCodeunitsScript.py,sha256=CxdwUklhZVuJGp0vcokoH_KMXFzmlUlZwj77xFYijho,2242
22
22
  ScriptCollection/TFCPS/TFCPS_Tools_Dependencies.py,sha256=o7HI3ki3WWqlAiUsrh3Lky_w6UhYh9hdjYPGOhubQGA,414
23
- ScriptCollection/TFCPS/TFCPS_Tools_General.py,sha256=QsywKFqRQBHflDISwwRvLuP3JppNxHzhhuKS3ThPMm4,66111
23
+ ScriptCollection/TFCPS/TFCPS_Tools_General.py,sha256=TU42CTlhiq7G0o0eH0xTEqr_QGR7AX7bukpgM6j5adk,66637
24
24
  ScriptCollection/TFCPS/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
25
  ScriptCollection/TFCPS/Docker/TFCPS_CodeUnitSpecific_Docker.py,sha256=-g8h2gCf9rh0KJXUBeQD5d0qLJgBU3Q8DNZXM1UXC04,5259
26
26
  ScriptCollection/TFCPS/Docker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  ScriptCollection/TFCPS/DotNet/CertificateGeneratorInformationBase.py,sha256=bT6Gd5pQpZCw4OQz6HWkPCSn5z__eUUEisABLDSxd0o,200
28
28
  ScriptCollection/TFCPS/DotNet/CertificateGeneratorInformationGenerate.py,sha256=QyjOfMY22JWCvKjMelHiDWbJiWqotOfebpJpgDUaoO4,237
29
29
  ScriptCollection/TFCPS/DotNet/CertificateGeneratorInformationNoGenerate.py,sha256=i0zEGehj0sttxjjZtoq2KFSKp_ulxVyWp_ZgAhIY_So,241
30
- ScriptCollection/TFCPS/DotNet/TFCPS_CodeUnitSpecific_DotNet.py,sha256=BsHGikZXE2tZLlCo5rKNwIXkHqQCZTQk9KAYNquFxgs,30770
30
+ ScriptCollection/TFCPS/DotNet/TFCPS_CodeUnitSpecific_DotNet.py,sha256=g3S0Fv9BSpmmZnKdgSGkCr-5s7cdiVoEDl6QEgSjdI0,30778
31
31
  ScriptCollection/TFCPS/DotNet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
32
  ScriptCollection/TFCPS/Flutter/TFCPS_CodeUnitSpecific_Flutter.py,sha256=6g1xZ6_Nnr0Xa2VvSEtMg0H1hjUCvjzXXaPHFJ2xD1o,1626
33
33
  ScriptCollection/TFCPS/Flutter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -35,8 +35,8 @@ ScriptCollection/TFCPS/NodeJS/TFCPS_CodeUnitSpecific_NodeJS.py,sha256=dnuDlQXThF
35
35
  ScriptCollection/TFCPS/NodeJS/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
36
  ScriptCollection/TFCPS/Python/TFCPS_CodeUnitSpecific_Python.py,sha256=q7msAxCb5VIZ-xhFg1MfzUvWomQRKYldqmW42KFhyMU,6868
37
37
  ScriptCollection/TFCPS/Python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
- scriptcollection-4.0.19.dist-info/METADATA,sha256=D6JPaCfX2YIxrwO9Ut0bh9aOkBMlqBdg5H9Kfx3g26M,7688
39
- scriptcollection-4.0.19.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
- scriptcollection-4.0.19.dist-info/entry_points.txt,sha256=EBRDrnGDURysHNyK0Z0fPCnL7uCCO_Mxc6WYJ47KxAI,4234
41
- scriptcollection-4.0.19.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
42
- scriptcollection-4.0.19.dist-info/RECORD,,
38
+ scriptcollection-4.0.21.dist-info/METADATA,sha256=Xnr9Sp6kMa3g4br2kRCNzPGqiN1nf3ZXSVAm1EYzW38,7688
39
+ scriptcollection-4.0.21.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
+ scriptcollection-4.0.21.dist-info/entry_points.txt,sha256=NeU26D6q7d8n2cmKQiOvHK21w1C7D2kxoNRJaKiyZ5w,4295
41
+ scriptcollection-4.0.21.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
42
+ scriptcollection-4.0.21.dist-info/RECORD,,
@@ -14,6 +14,7 @@ sccreatefile = ScriptCollection.Executables:CreateFile
14
14
  sccreatefolder = ScriptCollection.Executables:CreateFolder
15
15
  sccreatehashofallfiles = ScriptCollection.Executables:CreateHashOfAllFiles
16
16
  sccreateisofilewithobfuscatedfiles = ScriptCollection.Executables:CreateISOFileWithObfuscatedFiles
17
+ sccreaterelease = ScriptCollection.Executables:CreateRelease
17
18
  sccreatesimplemergewithoutrelease = ScriptCollection.Executables:CreateSimpleMergeWithoutRelease
18
19
  sccurrentuserhaselevatedprivileges = ScriptCollection.Executables:CurrentUserHasElevatedPrivileges
19
20
  scespoc = ScriptCollection.Executables:Espoc