ScriptCollection 4.0.18__py3-none-any.whl → 4.0.20__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('-a', '--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
@@ -832,3 +833,8 @@ def LOC() -> int:
832
833
  sc.log.loglevel=LogLevel.Debug
833
834
  GeneralUtilities.write_message_to_stdout(str(sc.get_lines_of_code(folder, excluded_patterns)))
834
835
  return 0
836
+
837
+ def CreateRelease()->int:
838
+ anionBuildPlatform:AnionBuildPlatform=TFCPS_AnionBuildPlatform_CLI.get_with_overwritable_defaults()
839
+ anionBuildPlatform.run()
840
+ 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.18"
39
+ version = "4.0.20"
40
40
  __version__ = version
41
41
 
42
42
 
@@ -78,7 +78,7 @@ class TFCPS_CreateRelease:
78
78
  self.sc.log.log("Merge to main-branch will not be done because there are no changed which can be merged.")
79
79
  else:
80
80
  self.sc.log.log("Merge to main-branch...",LogLevel.Information)
81
- mergeToMainConfiguration:MergeToMainConfiguration=MergeToMainConfiguration(tfcps_CreateReleaseConfiguration.current_file,tfcps_CreateReleaseConfiguration.product_name,tfcps_CreateReleaseConfiguration.product_name,tfcps_CreateReleaseConfiguration.branch_to_be_released,tfcps_CreateReleaseConfiguration.log_level,tfcps_CreateReleaseConfiguration.additional_arguments_file,tfcps_CreateReleaseConfiguration.main_branch,tfcps_CreateReleaseConfiguration.common_remote_name)
81
+ mergeToMainConfiguration:MergeToMainConfiguration=MergeToMainConfiguration(tfcps_CreateReleaseConfiguration.current_file,tfcps_CreateReleaseConfiguration.product_name,tfcps_CreateReleaseConfiguration.product_name,tfcps_CreateReleaseConfiguration.branch_to_be_released,tfcps_CreateReleaseConfiguration.log_level,tfcps_CreateReleaseConfiguration.additional_arguments_file,tfcps_CreateReleaseConfiguration.main_branch,tfcps_CreateReleaseConfiguration.common_remote_name,tfcps_CreateReleaseConfiguration.build_repository)
82
82
  tFCPS_MergeToMain:TFCPS_MergeToMain=TFCPS_MergeToMain(mergeToMainConfiguration)
83
83
  tFCPS_MergeToMain.merge_to_main_branch()
84
84
 
@@ -2,6 +2,7 @@ import argparse
2
2
  from ..SCLog import LogLevel
3
3
  from ..ScriptCollectionCore import GeneralUtilities
4
4
  from ..ScriptCollectionCore import ScriptCollectionCore
5
+ from .TFCPS_Tools_General import TFCPS_Tools_General
5
6
 
6
7
  class TFCPS_PreBuildCodeunitsScriptConfiguration:
7
8
  targetenvironmenttype:str
@@ -9,13 +10,18 @@ class TFCPS_PreBuildCodeunitsScriptConfiguration:
9
10
  verbosity:LogLevel
10
11
  use_cache:str
11
12
  repository_folder:str=None
13
+ sc:ScriptCollectionCore=None
14
+ tfcps_Tools_General:TFCPS_Tools_General
12
15
 
13
16
  def __init__(self,script_file:str,targetenvironmenttype:str,additionalargumentsfile:str,verbosity:LogLevel,use_cache:bool):
14
17
  self.targetenvironmenttype=targetenvironmenttype
15
18
  self.additionalargumentsfile=additionalargumentsfile
16
19
  self.verbosity=verbosity
17
20
  self.use_cache=use_cache
21
+ self.sc=ScriptCollectionCore()
22
+ self.sc.log.loglevel=self.verbosity
18
23
  self.repository_folder=ScriptCollectionCore().search_repository_folder(script_file)
24
+ self.tfcps_Tools_General=TFCPS_Tools_General(self.sc)
19
25
 
20
26
  class TFCPS_PreBuildCodeunitsScript:
21
27
  configuration:TFCPS_PreBuildCodeunitsScriptConfiguration
@@ -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.18
3
+ Version: 4.0.20
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=n6ODWwaAOLej4N2-POFdtr8oEn9ZdxMC2FutmF1GHoA,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=q7vMELck9IUijpOvpIzSWlMrLs32282NliO83LpDo08,40856
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,18 +9,18 @@ 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=k94BR1k41sAW0qoOrze6EYcmbr8Ly_H3yBZZSC5DGlc,140617
12
+ ScriptCollection/ScriptCollectionCore.py,sha256=ak83r8-Y4GgEAA5NlRBXQCmofYzdzHdPvNfHni9PgmQ,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
16
16
  ScriptCollection/TFCPS/TFCPS_CodeUnit_BuildCodeUnits.py,sha256=GXFF1xem3fe8Vosb7dsVyOSe3mS1KtFO0WSlCg1XZ6Q,4733
17
- ScriptCollection/TFCPS/TFCPS_CreateRelease.py,sha256=GfyeOjgluMLCc3FbcxyKp5GoT5e9TKM8MJwM7LjEw8s,6460
17
+ ScriptCollection/TFCPS/TFCPS_CreateRelease.py,sha256=d8L1WR2Fx-Ps-5So5fbR_fwTrSKosgzwXHu_wJUtyc8,6510
18
18
  ScriptCollection/TFCPS/TFCPS_Generic.py,sha256=O-0guM_LJCcZmPZJhMgTvXD2RXUJEBWWv6Bt6hDFhvM,1943
19
19
  ScriptCollection/TFCPS/TFCPS_MergeToMain.py,sha256=wX7oF_JYATofrJNQ7XtPKCg8cjr_XSAmE-Dn0BseaNo,7746
20
20
  ScriptCollection/TFCPS/TFCPS_MergeToStable.py,sha256=AUM6hJDYmFzcP4wCwrn2htf3fTBK9mstxnLWWHaxxPE,22652
21
- ScriptCollection/TFCPS/TFCPS_PreBuildCodeunitsScript.py,sha256=pp1jXgNCkDGbpCyoLU5csZ_Y7FVYrMAuE_doUiEIFf4,1967
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
@@ -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.18.dist-info/METADATA,sha256=eS3jPqnN076u_qN7AUrh6jK7nyJFgryIQrjjFeXWJZ8,7688
39
- scriptcollection-4.0.18.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
- scriptcollection-4.0.18.dist-info/entry_points.txt,sha256=EBRDrnGDURysHNyK0Z0fPCnL7uCCO_Mxc6WYJ47KxAI,4234
41
- scriptcollection-4.0.18.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
42
- scriptcollection-4.0.18.dist-info/RECORD,,
38
+ scriptcollection-4.0.20.dist-info/METADATA,sha256=xZr_KG1PcORTeyqyQBhImqjhdtWuXmR7qJsQ_f6gT6g,7688
39
+ scriptcollection-4.0.20.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
+ scriptcollection-4.0.20.dist-info/entry_points.txt,sha256=NeU26D6q7d8n2cmKQiOvHK21w1C7D2kxoNRJaKiyZ5w,4295
41
+ scriptcollection-4.0.20.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
42
+ scriptcollection-4.0.20.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