ScriptCollection 4.0.62__py3-none-any.whl → 4.0.64__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.
Potentially problematic release.
This version of ScriptCollection might be problematic. Click here for more details.
- ScriptCollection/Executables.py +1 -1
- ScriptCollection/GeneralUtilities.py +14 -5
- ScriptCollection/ImageUpdater.py +4 -12
- ScriptCollection/SCLog.py +4 -4
- ScriptCollection/ScriptCollectionCore.py +1 -1
- ScriptCollection/TFCPS/Docker/TFCPS_CodeUnitSpecific_Docker.py +8 -2
- ScriptCollection/TFCPS/DotNet/TFCPS_CodeUnitSpecific_DotNet.py +8 -2
- ScriptCollection/TFCPS/Flutter/TFCPS_CodeUnitSpecific_Flutter.py +8 -1
- ScriptCollection/TFCPS/NodeJS/TFCPS_CodeUnitSpecific_NodeJS.py +8 -1
- ScriptCollection/TFCPS/Python/TFCPS_CodeUnitSpecific_Python.py +9 -2
- ScriptCollection/TFCPS/TFCPS_CodeUnitSpecific_Base.py +21 -19
- ScriptCollection/TFCPS/TFCPS_Tools_General.py +3 -5
- {scriptcollection-4.0.62.dist-info → scriptcollection-4.0.64.dist-info}/METADATA +1 -1
- {scriptcollection-4.0.62.dist-info → scriptcollection-4.0.64.dist-info}/RECORD +17 -18
- ScriptCollection/TFCPS/TFCPS_Tools_Dependencies.py +0 -16
- {scriptcollection-4.0.62.dist-info → scriptcollection-4.0.64.dist-info}/WHEEL +0 -0
- {scriptcollection-4.0.62.dist-info → scriptcollection-4.0.64.dist-info}/entry_points.txt +0 -0
- {scriptcollection-4.0.62.dist-info → scriptcollection-4.0.64.dist-info}/top_level.txt +0 -0
ScriptCollection/Executables.py
CHANGED
|
@@ -757,7 +757,7 @@ def UpdateImagesInDockerComposeFile() -> int:
|
|
|
757
757
|
iu: ImageUpdater = ImageUpdater()
|
|
758
758
|
parser = argparse.ArgumentParser()
|
|
759
759
|
parser.add_argument('-f', '--file', required=False, default=None)
|
|
760
|
-
parser.add_argument('-v', '--versionecholon', required=False, default=VersionEcholon.
|
|
760
|
+
parser.add_argument('-v', '--versionecholon', required=False, default=VersionEcholon.LatestVersion.name, dest="Possible values are: " + ", ".join([e.name for e in VersionEcholon]))
|
|
761
761
|
parser.add_argument("-s", "--servicename", required=True, default=None)
|
|
762
762
|
parser.add_argument("-u", "--updatertype", required=True, default=None)
|
|
763
763
|
args = parser.parse_args()
|
|
@@ -27,12 +27,21 @@ import psutil
|
|
|
27
27
|
from defusedxml.minidom import parse
|
|
28
28
|
from OpenSSL import crypto
|
|
29
29
|
|
|
30
|
-
|
|
31
30
|
class VersionEcholon(Enum):
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
LatestPatch = 0
|
|
32
|
+
LatestPatchOrLatestMinor = 1
|
|
33
|
+
LatestPatchOrLatestMinorOrNextMajor = 2
|
|
34
|
+
LatestVersion = 3
|
|
35
|
+
|
|
36
|
+
class Dependency:
|
|
37
|
+
dependencyname:str
|
|
38
|
+
current_version:str
|
|
39
|
+
latest_patch_version_for_current_minor_version:str
|
|
40
|
+
latest_minor_version_for_current_major_version:str
|
|
41
|
+
latest_version:str
|
|
42
|
+
|
|
43
|
+
def get_latest_version(self,echolon:VersionEcholon)->str:
|
|
44
|
+
return self.latest_patch_version_for_current_minor_version#TODO consider echolon
|
|
36
45
|
|
|
37
46
|
class GeneralUtilities:
|
|
38
47
|
|
ScriptCollection/ImageUpdater.py
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
from abc import abstractmethod
|
|
2
|
-
from enum import Enum
|
|
3
2
|
import json
|
|
4
3
|
import re
|
|
5
4
|
from urllib.parse import quote
|
|
@@ -7,14 +6,7 @@ import yaml
|
|
|
7
6
|
import requests
|
|
8
7
|
from packaging import version as ve
|
|
9
8
|
from packaging.version import Version
|
|
10
|
-
from .GeneralUtilities import GeneralUtilities
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class VersionEcholon(Enum):
|
|
14
|
-
LatestPatch = 0
|
|
15
|
-
LatestPatchOrLatestMinor = 1
|
|
16
|
-
LatestPatchOrLatestMinorOrNextMajor = 2
|
|
17
|
-
Newest = 3
|
|
9
|
+
from .GeneralUtilities import GeneralUtilities,VersionEcholon
|
|
18
10
|
|
|
19
11
|
|
|
20
12
|
class ImageUpdaterHelper:
|
|
@@ -70,7 +62,7 @@ class ImageUpdaterHelper:
|
|
|
70
62
|
return ImageUpdaterHelper._internal_get_latest_patch_or_latest_minor_version(newer_versions, current_version)
|
|
71
63
|
elif version_echolon == VersionEcholon.LatestPatchOrLatestMinorOrNextMajor:
|
|
72
64
|
return ImageUpdaterHelper._internal_get_latest_patch_or_latest_minor_or_next_major_version(newer_versions, current_version)
|
|
73
|
-
elif version_echolon == VersionEcholon.
|
|
65
|
+
elif version_echolon == VersionEcholon.LatestVersion:
|
|
74
66
|
return ImageUpdaterHelper.get_latest_version(newer_versions)
|
|
75
67
|
else:
|
|
76
68
|
raise ValueError(f"Unknown version-echolon")
|
|
@@ -96,7 +88,7 @@ class ImageUpdaterHelper:
|
|
|
96
88
|
|
|
97
89
|
@staticmethod
|
|
98
90
|
@GeneralUtilities.check_arguments
|
|
99
|
-
def get_versions_in_docker_hub(image: str, search_string: str, filter_regex: str, maximal_amount_of_items_to_load: int = 250) -> list[Version]
|
|
91
|
+
def get_versions_in_docker_hub(image: str, search_string: str, filter_regex: str, maximal_amount_of_items_to_load: int = 250) -> list[Version]:#TODO add option to specify image source url
|
|
100
92
|
if "/" not in image:
|
|
101
93
|
image = f"library/{image}"
|
|
102
94
|
response = requests.get(f"https://hub.docker.com/v2/repositories/{quote(image)}/tags?name={quote(search_string)}&ordering=last_updated&page=1&page_size={str(maximal_amount_of_items_to_load)}", timeout=20, headers={'Cache-Control': 'no-cache'})
|
|
@@ -535,7 +527,7 @@ class ImageUpdater:
|
|
|
535
527
|
@GeneralUtilities.check_arguments
|
|
536
528
|
def check_service_for_newest_version(self, dockercompose_file: str, service_name: str) -> bool:
|
|
537
529
|
imagename, existing_tag, existing_version = self.get_current_version_of_service_from_docker_compose_file(dockercompose_file, service_name) # pylint:disable=unused-variable
|
|
538
|
-
newest_version, newest_tag = self.get_latest_version_of_image(imagename, VersionEcholon.
|
|
530
|
+
newest_version, newest_tag = self.get_latest_version_of_image(imagename, VersionEcholon.LatestVersion, existing_version) # pylint:disable=unused-variable
|
|
539
531
|
if existing_version < newest_version:
|
|
540
532
|
GeneralUtilities.write_message_to_stdout(f"Service {service_name} with image {imagename} uses tag {existing_version}. The newest available version of this image is {newest_version}.")
|
|
541
533
|
return True
|
ScriptCollection/SCLog.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import traceback
|
|
2
2
|
from enum import Enum
|
|
3
3
|
from datetime import datetime
|
|
4
4
|
from .GeneralUtilities import GeneralUtilities
|
|
@@ -36,7 +36,7 @@ class SCLog:
|
|
|
36
36
|
self.print_as_color = print_as_color
|
|
37
37
|
|
|
38
38
|
@GeneralUtilities.check_arguments
|
|
39
|
-
def log_exception(self, message: str, ex: Exception, current_traceback,loglevel:LogLevel=LogLevel.Error):
|
|
39
|
+
def log_exception(self, message: str, ex: Exception, current_traceback:traceback,loglevel:LogLevel=LogLevel.Error):
|
|
40
40
|
self.log(f"Exception: {message}; Exception-details: {str(ex)}; Traceback: {current_traceback.format_exc()}", loglevel)
|
|
41
41
|
|
|
42
42
|
@GeneralUtilities.check_arguments
|
|
@@ -53,11 +53,11 @@ class SCLog:
|
|
|
53
53
|
if loglevel is None:
|
|
54
54
|
loglevel = LogLevel.Information
|
|
55
55
|
|
|
56
|
-
if int(self.loglevel)<int(loglevel)
|
|
56
|
+
if int(self.loglevel)<int(loglevel):
|
|
57
57
|
return
|
|
58
58
|
|
|
59
59
|
if message.endswith("\n"):
|
|
60
|
-
GeneralUtilities.write_message_to_stderr(f"invalid line: '{message}'")
|
|
60
|
+
GeneralUtilities.write_message_to_stderr(f"invalid line: '{message}'") # TODO remove this
|
|
61
61
|
|
|
62
62
|
part1: str = GeneralUtilities.empty_string
|
|
63
63
|
part2: str = GeneralUtilities.empty_string
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import os
|
|
2
|
-
from ...GeneralUtilities import GeneralUtilities
|
|
2
|
+
from ...GeneralUtilities import GeneralUtilities, Dependency
|
|
3
3
|
from ...SCLog import LogLevel
|
|
4
4
|
from ..TFCPS_CodeUnitSpecific_Base import TFCPS_CodeUnitSpecific_Base,TFCPS_CodeUnitSpecific_Base_CLI
|
|
5
5
|
|
|
@@ -75,7 +75,13 @@ class TFCPS_CodeUnitSpecific_Docker_Functions(TFCPS_CodeUnitSpecific_Base):
|
|
|
75
75
|
@GeneralUtilities.check_arguments
|
|
76
76
|
def run_testcases(self=None) -> None:
|
|
77
77
|
pass#TODO
|
|
78
|
-
|
|
78
|
+
|
|
79
|
+
def get_dependencies(self)->list[Dependency]:
|
|
80
|
+
raise ValueError(f"Operation is not implemented.")
|
|
81
|
+
|
|
82
|
+
def set_dependency_version(self,name:str,new_version:str)->list[Dependency]:
|
|
83
|
+
raise ValueError(f"Operation is not implemented.")
|
|
84
|
+
|
|
79
85
|
class TFCPS_CodeUnitSpecific_Docker_CLI:
|
|
80
86
|
|
|
81
87
|
@staticmethod
|
|
@@ -6,9 +6,8 @@ import uuid
|
|
|
6
6
|
import json
|
|
7
7
|
from lxml import etree
|
|
8
8
|
import yaml
|
|
9
|
-
|
|
10
9
|
from .CertificateGeneratorInformationBase import CertificateGeneratorInformationBase
|
|
11
|
-
from ...GeneralUtilities import GeneralUtilities
|
|
10
|
+
from ...GeneralUtilities import Dependency, GeneralUtilities
|
|
12
11
|
from ...SCLog import LogLevel
|
|
13
12
|
from ..TFCPS_CodeUnitSpecific_Base import TFCPS_CodeUnitSpecific_Base,TFCPS_CodeUnitSpecific_Base_CLI
|
|
14
13
|
|
|
@@ -466,6 +465,13 @@ class TFCPS_CodeUnitSpecific_DotNet_Functions(TFCPS_CodeUnitSpecific_Base):
|
|
|
466
465
|
filename_relative = f".{file[len(codeunit_folder):]}"
|
|
467
466
|
return f'filename="{filename_relative}"'
|
|
468
467
|
|
|
468
|
+
|
|
469
|
+
def get_dependencies(self)->list[Dependency]:
|
|
470
|
+
raise ValueError(f"Operation is not implemented.")
|
|
471
|
+
|
|
472
|
+
def set_dependency_version(self,name:str,new_version:str)->list[Dependency]:
|
|
473
|
+
raise ValueError(f"Operation is not implemented.")
|
|
474
|
+
|
|
469
475
|
|
|
470
476
|
class TFCPS_CodeUnitSpecific_DotNet_CLI:
|
|
471
477
|
|
|
@@ -2,7 +2,7 @@ import os
|
|
|
2
2
|
import shutil
|
|
3
3
|
import re
|
|
4
4
|
import zipfile
|
|
5
|
-
from ...GeneralUtilities import GeneralUtilities
|
|
5
|
+
from ...GeneralUtilities import Dependency, GeneralUtilities
|
|
6
6
|
from ...SCLog import LogLevel
|
|
7
7
|
from ..TFCPS_CodeUnitSpecific_Base import TFCPS_CodeUnitSpecific_Base,TFCPS_CodeUnitSpecific_Base_CLI
|
|
8
8
|
|
|
@@ -112,6 +112,13 @@ class TFCPS_CodeUnitSpecific_Flutter_Functions(TFCPS_CodeUnitSpecific_Base):
|
|
|
112
112
|
self.tfcps_Tools_General.calculate_entire_line_rate(coverage_file)
|
|
113
113
|
self.run_testcases_common_post_task(repository_folder, codeunit_name, True, self.get_target_environment_type())
|
|
114
114
|
|
|
115
|
+
|
|
116
|
+
def get_dependencies(self)->list[Dependency]:
|
|
117
|
+
raise ValueError(f"Operation is not implemented.")
|
|
118
|
+
|
|
119
|
+
def set_dependency_version(self,name:str,new_version:str)->list[Dependency]:
|
|
120
|
+
raise ValueError(f"Operation is not implemented.")
|
|
121
|
+
|
|
115
122
|
class TFCPS_CodeUnitSpecific_Flutter_CLI:
|
|
116
123
|
|
|
117
124
|
@staticmethod
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import re
|
|
3
3
|
from lxml import etree
|
|
4
|
-
from ...GeneralUtilities import GeneralUtilities
|
|
4
|
+
from ...GeneralUtilities import Dependency, GeneralUtilities
|
|
5
5
|
from ...SCLog import LogLevel
|
|
6
6
|
from ..TFCPS_CodeUnitSpecific_Base import TFCPS_CodeUnitSpecific_Base,TFCPS_CodeUnitSpecific_Base_CLI
|
|
7
7
|
|
|
@@ -112,6 +112,13 @@ class TFCPS_CodeUnitSpecific_NodeJS_Functions(TFCPS_CodeUnitSpecific_Base):
|
|
|
112
112
|
self._protected_sc.run_with_epew("cyclonedx-npm", f"--output-format xml --output-file {relative_path_to_bom_file}", self.get_codeunit_folder(),print_live_output=self._protected_sc.log.loglevel==LogLevel.Diagnostic,encode_argument_in_base64=True)
|
|
113
113
|
self._protected_sc.format_xml_file(self.get_codeunit_folder()+"/"+relative_path_to_bom_file)
|
|
114
114
|
|
|
115
|
+
|
|
116
|
+
def get_dependencies(self)->list[Dependency]:
|
|
117
|
+
raise ValueError(f"Operation is not implemented.")
|
|
118
|
+
|
|
119
|
+
def set_dependency_version(self,name:str,new_version:str)->list[Dependency]:
|
|
120
|
+
raise ValueError(f"Operation is not implemented.")
|
|
121
|
+
|
|
115
122
|
class TFCPS_CodeUnitSpecific_NodeJS_CLI:
|
|
116
123
|
|
|
117
124
|
@staticmethod
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import os
|
|
2
|
-
from ...GeneralUtilities import GeneralUtilities
|
|
2
|
+
from ...GeneralUtilities import Dependency, GeneralUtilities
|
|
3
3
|
from ...SCLog import LogLevel
|
|
4
4
|
from ..TFCPS_CodeUnitSpecific_Base import TFCPS_CodeUnitSpecific_Base,TFCPS_CodeUnitSpecific_Base_CLI
|
|
5
5
|
|
|
@@ -99,7 +99,14 @@ class TFCPS_CodeUnitSpecific_Python_Functions(TFCPS_CodeUnitSpecific_Base):
|
|
|
99
99
|
os.rename(os.path.join(repository_folder, codeunitname, "coverage.xml"), coveragefile)
|
|
100
100
|
self.tfcps_Tools_General.merge_packages(coveragefile,codeunitname)
|
|
101
101
|
self.run_testcases_common_post_task(repository_folder, codeunitname, True, self.get_type_environment_type())
|
|
102
|
-
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
def get_dependencies(self)->list[Dependency]:
|
|
105
|
+
raise ValueError(f"Operation is not implemented.")
|
|
106
|
+
|
|
107
|
+
def set_dependency_version(self,name:str,new_version:str)->list[Dependency]:
|
|
108
|
+
raise ValueError(f"Operation is not implemented.")
|
|
109
|
+
|
|
103
110
|
class TFCPS_CodeUnitSpecific_Python_CLI:
|
|
104
111
|
|
|
105
112
|
@staticmethod
|
|
@@ -5,14 +5,14 @@ import shutil
|
|
|
5
5
|
import re
|
|
6
6
|
import json
|
|
7
7
|
import argparse
|
|
8
|
-
from abc import ABC
|
|
8
|
+
from abc import ABC, abstractmethod
|
|
9
9
|
import xmlschema
|
|
10
10
|
from lxml import etree
|
|
11
|
-
from ..GeneralUtilities import GeneralUtilities
|
|
11
|
+
from ..GeneralUtilities import Dependency, GeneralUtilities, VersionEcholon
|
|
12
12
|
from ..ScriptCollectionCore import ScriptCollectionCore
|
|
13
13
|
from ..SCLog import LogLevel
|
|
14
14
|
from .TFCPS_Tools_General import TFCPS_Tools_General
|
|
15
|
-
|
|
15
|
+
|
|
16
16
|
|
|
17
17
|
class TFCPS_CodeUnitSpecific_Base(ABC):
|
|
18
18
|
|
|
@@ -56,19 +56,30 @@ class TFCPS_CodeUnitSpecific_Base(ABC):
|
|
|
56
56
|
enabled=False
|
|
57
57
|
raise ValueError(f"Can not find codeunit-folder for folder \"{self.__current_file}\".")
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
@abstractmethod
|
|
60
|
+
def get_dependencies(self)->list[Dependency]:
|
|
61
|
+
raise ValueError(f"Operation is abstract.")
|
|
62
|
+
|
|
63
|
+
@abstractmethod
|
|
64
|
+
def set_dependency_version(self,name:str,new_version:str)->list[Dependency]:
|
|
65
|
+
raise ValueError(f"Operation is abstract.")
|
|
66
|
+
|
|
67
|
+
def update_dependencies(self):
|
|
68
|
+
dependencies:list[Dependency]=self.get_dependencies()
|
|
69
|
+
ignored_dependencies=self.tfcps_Tools_General.get_dependencies_which_are_ignored_from_updates(self.get_codeunit_folder())
|
|
70
|
+
for ignored_dependency in ignored_dependencies:
|
|
71
|
+
self._protected_sc.log.log(f"Codeunit {self.get_codeunit_name()} contains the dependency {ignored_dependency} which is ignored for updates.", LogLevel.Warning)
|
|
72
|
+
used_echolon:VersionEcholon=VersionEcholon.LatestPatchOrLatestMinor
|
|
62
73
|
for dependency in dependencies:
|
|
63
74
|
if dependency.current_version!=dependency.latest_version:
|
|
64
|
-
|
|
75
|
+
latest_version:str=dependency.get_latest_version(used_echolon)
|
|
76
|
+
self.set_dependency_version(dependency.dependencyname,latest_version)
|
|
65
77
|
|
|
66
78
|
def get_version_of_project(self)->str:
|
|
67
79
|
return self.tfcps_Tools_General.get_version_of_project(self.get_repository_folder())
|
|
68
80
|
|
|
69
81
|
@GeneralUtilities.check_arguments
|
|
70
82
|
def do_common_tasks_base(self,current_codeunit_version:str):
|
|
71
|
-
|
|
72
83
|
repository_folder: str =self.get_repository_folder()
|
|
73
84
|
self._protected_sc.assert_is_git_repository(repository_folder)
|
|
74
85
|
codeunit_name: str = self.get_codeunit_name()
|
|
@@ -191,15 +202,10 @@ class TFCPS_CodeUnitSpecific_Base(ABC):
|
|
|
191
202
|
# Generate diff-report
|
|
192
203
|
self.tfcps_Tools_General.generate_diff_report(repository_folder, codeunit_name, self.tfcps_Tools_General.get_version_of_codeunit(self.get_codeunit_file()))
|
|
193
204
|
|
|
194
|
-
|
|
195
|
-
dependencies:list[Dependency]=d.get_dependencies()
|
|
205
|
+
dependencies:list[Dependency]=self.get_dependencies()
|
|
196
206
|
for dependency in dependencies:
|
|
197
|
-
#TODO show warning if the latest version of dependency is too old
|
|
198
207
|
if dependency.current_version!=dependency.latest_version:
|
|
199
|
-
|
|
200
|
-
if not dependency_is_disabled_for_update:
|
|
201
|
-
self._protected_sc.log.log(f"Dependency \"{dependency.name}\" is used in the outdated version v{dependency.current_version} and can be upudated to v{dependency.latest_version}",LogLevel.Warning)
|
|
202
|
-
|
|
208
|
+
self._protected_sc.log.log(f"Dependency \"{dependency.name}\" is used in the outdated version v{dependency.current_version} and can be upudated to v{dependency.latest_version}",LogLevel.Warning)
|
|
203
209
|
|
|
204
210
|
|
|
205
211
|
@GeneralUtilities.check_arguments
|
|
@@ -217,10 +223,6 @@ class TFCPS_CodeUnitSpecific_Base(ABC):
|
|
|
217
223
|
def use_cache(self)->bool:
|
|
218
224
|
return self.__use_cache
|
|
219
225
|
|
|
220
|
-
@GeneralUtilities.check_arguments
|
|
221
|
-
def update_dependencies_base(self):
|
|
222
|
-
self.update_dependencies_default()
|
|
223
|
-
|
|
224
226
|
@GeneralUtilities.check_arguments
|
|
225
227
|
def get_codeunit_folder(self)->str:
|
|
226
228
|
return self.__codeunit_folder
|
|
@@ -1299,7 +1299,7 @@ class TFCPS_Tools_General:
|
|
|
1299
1299
|
GeneralUtilities.write_text_to_file(resrepo_commit_id_file, latest_version)
|
|
1300
1300
|
|
|
1301
1301
|
@GeneralUtilities.check_arguments
|
|
1302
|
-
def get_dependencies_which_are_ignored_from_updates(self, codeunit_folder: str
|
|
1302
|
+
def get_dependencies_which_are_ignored_from_updates(self, codeunit_folder: str) -> list[str]:
|
|
1303
1303
|
self.assert_is_codeunit_folder(codeunit_folder)
|
|
1304
1304
|
namespaces = {'cps': 'https://projects.aniondev.de/PublicProjects/Common/ProjectTemplates/-/tree/main/Conventions/RepositoryStructure/CommonProjectStructure', 'xsi': 'http://www.w3.org/2001/XMLSchema-instance'}
|
|
1305
1305
|
codeunit_name = os.path.basename(codeunit_folder)
|
|
@@ -1307,15 +1307,13 @@ class TFCPS_Tools_General:
|
|
|
1307
1307
|
root: etree._ElementTree = etree.parse(codeunit_file)
|
|
1308
1308
|
ignoreddependencies = root.xpath('//cps:codeunit/cps:properties/cps:updatesettings/cps:ignoreddependencies/cps:ignoreddependency', namespaces=namespaces)
|
|
1309
1309
|
result = [x.text.replace("\\n", GeneralUtilities.empty_string).replace("\\r", GeneralUtilities.empty_string).replace("\n", GeneralUtilities.empty_string).replace("\r", GeneralUtilities.empty_string).strip() for x in ignoreddependencies]
|
|
1310
|
-
if print_warnings_for_ignored_dependencies and len(result) > 0:
|
|
1311
|
-
self.__sc.log.log(f"Codeunit {codeunit_name} contains the following dependencies which will are ignoed for automatic updates: "+', '.join(result), LogLevel.Warning)
|
|
1312
1310
|
return result
|
|
1313
1311
|
|
|
1314
1312
|
@GeneralUtilities.check_arguments
|
|
1315
|
-
def update_dependencies_of_package_json(self, folder_of_package_json: str) -> None
|
|
1313
|
+
def update_dependencies_of_package_json(self, folder_of_package_json: str) -> None:#TODO this should probably be implemented in TFCPS_CodeUnitSpecific_NodeJS_Functions
|
|
1316
1314
|
#TODO move this to TFCPS_CodeUnitSpecific_NodeJS_Functions
|
|
1317
1315
|
if self.is_codeunit_folder(folder_of_package_json):
|
|
1318
|
-
ignored_dependencies = self.get_dependencies_which_are_ignored_from_updates(folder_of_package_json
|
|
1316
|
+
ignored_dependencies = self.get_dependencies_which_are_ignored_from_updates(folder_of_package_json)
|
|
1319
1317
|
else:
|
|
1320
1318
|
ignored_dependencies = []
|
|
1321
1319
|
# TODO consider ignored_dependencies
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
ScriptCollection/AnionBuildPlatform.py,sha256=olCBNO6dG4F9ZAFERE8DlgDf7ViiftQ6Vza9SctU4aU,12527
|
|
2
2
|
ScriptCollection/CertificateUpdater.py,sha256=GXPxmYaW-ufOqsiP9kUYdtI6eNg1-GzrrCqsZdwW_HY,9199
|
|
3
|
-
ScriptCollection/Executables.py,sha256=
|
|
4
|
-
ScriptCollection/GeneralUtilities.py,sha256=
|
|
5
|
-
ScriptCollection/ImageUpdater.py,sha256=
|
|
3
|
+
ScriptCollection/Executables.py,sha256=oAC4lr7V0DF3fHabk44cKVkEiIMt5761VPYYHeme0kQ,42066
|
|
4
|
+
ScriptCollection/GeneralUtilities.py,sha256=DVW6cDu_7f6-z-ZnOMtfNQreVsO2Dr81Wj-O02DJ3tw,49694
|
|
5
|
+
ScriptCollection/ImageUpdater.py,sha256=0KPybKb_9IALhSTNflST-mewQVZ4kvXzNtfcN0-Ut8k,29215
|
|
6
6
|
ScriptCollection/ProcessesRunner.py,sha256=3mu4ZxzZleQo0Op6o9EYTCFiJfb6kx5ov2YfZfT89mU,1395
|
|
7
7
|
ScriptCollection/ProgramRunnerBase.py,sha256=4A2eQgSg_rRgQcgSi-LYtUlM-uSQEpS7qFWn0tWt4uo,2171
|
|
8
8
|
ScriptCollection/ProgramRunnerMock.py,sha256=uTu-aFle1W_oKjeQEmuPsFPQpvo0kRf2FrRjAPIwT5Y,37
|
|
9
9
|
ScriptCollection/ProgramRunnerPopen.py,sha256=BPY7-ZMIlqT7JOKz8qlB5c0laF2Js-ijzqk09GxZC48,3821
|
|
10
10
|
ScriptCollection/ProgramRunnerSudo.py,sha256=_khC3xuTdrPoLluBJZWfldltmmuKltABJPcbjZSFW-4,4835
|
|
11
|
-
ScriptCollection/SCLog.py,sha256=
|
|
12
|
-
ScriptCollection/ScriptCollectionCore.py,sha256=
|
|
11
|
+
ScriptCollection/SCLog.py,sha256=RnX7sKEqr9f9JtJi0_lfb7DXyN8YqKKvmRmoNN-yRcI,4565
|
|
12
|
+
ScriptCollection/ScriptCollectionCore.py,sha256=fEa6D28_HC8F0EK5StbKuH-a1wSt8WlGBBQv2v84XVw,142342
|
|
13
13
|
ScriptCollection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
-
ScriptCollection/TFCPS/TFCPS_CodeUnitSpecific_Base.py,sha256=
|
|
14
|
+
ScriptCollection/TFCPS/TFCPS_CodeUnitSpecific_Base.py,sha256=Zt8Yh4twfbQjKP4ZsTqTxLY5UhPTAXFW15A9IReV8gQ,25762
|
|
15
15
|
ScriptCollection/TFCPS/TFCPS_CodeUnit_BuildCodeUnit.py,sha256=m3bZZCoKV0mxME6HtDa3BAsGD4DSbiSp4XkqKOJyc9Y,7369
|
|
16
16
|
ScriptCollection/TFCPS/TFCPS_CodeUnit_BuildCodeUnits.py,sha256=f9oGnopuzn3iDHC1AksU7Qr60LbDe0eLjYeXGiDPhAk,7526
|
|
17
17
|
ScriptCollection/TFCPS/TFCPS_CreateRelease.py,sha256=bcJlfI062Eoq7MOIhun-_iNG7SdO1ZIuC_cylaoLI1s,6332
|
|
@@ -19,24 +19,23 @@ ScriptCollection/TFCPS/TFCPS_Generic.py,sha256=O-0guM_LJCcZmPZJhMgTvXD2RXUJEBWWv
|
|
|
19
19
|
ScriptCollection/TFCPS/TFCPS_MergeToMain.py,sha256=7F9cwFy-7bxN5mkK9V_n7ffMPvBxLwzQvrAe60fbEMM,7245
|
|
20
20
|
ScriptCollection/TFCPS/TFCPS_MergeToStable.py,sha256=nNS8NavE7MKUOkisH5h8RZa9dcHQd5r8yFZWO4RQSpY,21645
|
|
21
21
|
ScriptCollection/TFCPS/TFCPS_PreBuildCodeunitsScript.py,sha256=CxdwUklhZVuJGp0vcokoH_KMXFzmlUlZwj77xFYijho,2242
|
|
22
|
-
ScriptCollection/TFCPS/
|
|
23
|
-
ScriptCollection/TFCPS/TFCPS_Tools_General.py,sha256=cfZl0EM1I9USzFh6cp31BT5kpR0QnVUJDjWeLKiHUs8,85283
|
|
22
|
+
ScriptCollection/TFCPS/TFCPS_Tools_General.py,sha256=w-eRd9i1bROioCisZyLVQcJybItBu-E2S5Ubj7L_3nQ,85065
|
|
24
23
|
ScriptCollection/TFCPS/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
-
ScriptCollection/TFCPS/Docker/TFCPS_CodeUnitSpecific_Docker.py,sha256=
|
|
24
|
+
ScriptCollection/TFCPS/Docker/TFCPS_CodeUnitSpecific_Docker.py,sha256=MEmsZUHDVus2TN7-ZxNQyW5DQp7j75z8DEvv55OSIzw,5509
|
|
26
25
|
ScriptCollection/TFCPS/Docker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
26
|
ScriptCollection/TFCPS/DotNet/CertificateGeneratorInformationBase.py,sha256=bT6Gd5pQpZCw4OQz6HWkPCSn5z__eUUEisABLDSxd0o,200
|
|
28
27
|
ScriptCollection/TFCPS/DotNet/CertificateGeneratorInformationGenerate.py,sha256=QyjOfMY22JWCvKjMelHiDWbJiWqotOfebpJpgDUaoO4,237
|
|
29
28
|
ScriptCollection/TFCPS/DotNet/CertificateGeneratorInformationNoGenerate.py,sha256=i0zEGehj0sttxjjZtoq2KFSKp_ulxVyWp_ZgAhIY_So,241
|
|
30
|
-
ScriptCollection/TFCPS/DotNet/TFCPS_CodeUnitSpecific_DotNet.py,sha256=
|
|
29
|
+
ScriptCollection/TFCPS/DotNet/TFCPS_CodeUnitSpecific_DotNet.py,sha256=4XE1wXi-8VfLpAXJ5GGmYzzGverIPQamnybWKs2ur2o,31209
|
|
31
30
|
ScriptCollection/TFCPS/DotNet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
|
-
ScriptCollection/TFCPS/Flutter/TFCPS_CodeUnitSpecific_Flutter.py,sha256=
|
|
31
|
+
ScriptCollection/TFCPS/Flutter/TFCPS_CodeUnitSpecific_Flutter.py,sha256=2c-3Ii4Ipc9F0AjkzZU66evAvwPMpISqQ6ApKgeF_T4,7245
|
|
33
32
|
ScriptCollection/TFCPS/Flutter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
|
-
ScriptCollection/TFCPS/NodeJS/TFCPS_CodeUnitSpecific_NodeJS.py,sha256
|
|
33
|
+
ScriptCollection/TFCPS/NodeJS/TFCPS_CodeUnitSpecific_NodeJS.py,sha256=-dK1rtfpf1zCufobUmftc8ImUFskeGPADej-a7Dxbl8,6931
|
|
35
34
|
ScriptCollection/TFCPS/NodeJS/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
|
-
ScriptCollection/TFCPS/Python/TFCPS_CodeUnitSpecific_Python.py,sha256=
|
|
35
|
+
ScriptCollection/TFCPS/Python/TFCPS_CodeUnitSpecific_Python.py,sha256=5hIkOnXi8mwDFLDUpESVhYxJJrGKYhvjRWVepmcBxNw,7136
|
|
37
36
|
ScriptCollection/TFCPS/Python/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
-
scriptcollection-4.0.
|
|
39
|
-
scriptcollection-4.0.
|
|
40
|
-
scriptcollection-4.0.
|
|
41
|
-
scriptcollection-4.0.
|
|
42
|
-
scriptcollection-4.0.
|
|
37
|
+
scriptcollection-4.0.64.dist-info/METADATA,sha256=BYBRzdYRace9-7eDq1Y0CfLVatuH1nkctWTgmnTuIG4,7688
|
|
38
|
+
scriptcollection-4.0.64.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
39
|
+
scriptcollection-4.0.64.dist-info/entry_points.txt,sha256=_izhaQEyHiyBIfM2zTYDaJ7qvgsP1WntkVChFnkWymE,4431
|
|
40
|
+
scriptcollection-4.0.64.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
|
|
41
|
+
scriptcollection-4.0.64.dist-info/RECORD,,
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
from datetime import datetime
|
|
2
|
-
|
|
3
|
-
class Dependency:
|
|
4
|
-
name:str
|
|
5
|
-
current_version:str
|
|
6
|
-
latest_patch_version_for_current_minor_version:str
|
|
7
|
-
latest_minor_version_for_current_major_version:str
|
|
8
|
-
latest_version:str
|
|
9
|
-
date_of_latest_version:datetime
|
|
10
|
-
|
|
11
|
-
class TFCPS_Tools_Dependencies:
|
|
12
|
-
|
|
13
|
-
def get_dependencies(self)->list[Dependency]:
|
|
14
|
-
result:list[Dependency]=[]
|
|
15
|
-
#TODO
|
|
16
|
-
return result
|
|
File without changes
|
|
File without changes
|
|
File without changes
|