ScriptCollection 3.5.25__py3-none-any.whl → 3.5.27__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.
- ScriptCollection/Executables.py +2 -1
- ScriptCollection/ScriptCollectionCore.py +1 -1
- ScriptCollection/TasksForCommonProjectStructure.py +22 -13
- {ScriptCollection-3.5.25.dist-info → ScriptCollection-3.5.27.dist-info}/METADATA +2 -2
- {ScriptCollection-3.5.25.dist-info → ScriptCollection-3.5.27.dist-info}/RECORD +8 -8
- {ScriptCollection-3.5.25.dist-info → ScriptCollection-3.5.27.dist-info}/WHEEL +0 -0
- {ScriptCollection-3.5.25.dist-info → ScriptCollection-3.5.27.dist-info}/entry_points.txt +0 -0
- {ScriptCollection-3.5.25.dist-info → ScriptCollection-3.5.27.dist-info}/top_level.txt +0 -0
ScriptCollection/Executables.py
CHANGED
|
@@ -271,8 +271,9 @@ def BuildCodeUnits() -> int:
|
|
|
271
271
|
parser.add_argument('--verbosity', required=False, default=1)
|
|
272
272
|
parser.add_argument('--targetenvironment', required=False, default="QualityCheck")
|
|
273
273
|
parser.add_argument('--additionalargumentsfile', required=False, default=None)
|
|
274
|
+
parser.add_argument('--removeuncommittedfiles', required=False, default=False, action='store_true')
|
|
274
275
|
args = parser.parse_args()
|
|
275
|
-
TasksForCommonProjectStructure().build_codeunits(args.repositoryfolder, int(args.verbosity), args.targetenvironment, args.additionalargumentsfile, False, None, sys.argv)
|
|
276
|
+
TasksForCommonProjectStructure().build_codeunits(args.repositoryfolder, int(args.verbosity), args.targetenvironment, args.additionalargumentsfile, False, None, sys.argv, args.removeuncommittedfiles)
|
|
276
277
|
return 0
|
|
277
278
|
|
|
278
279
|
|
|
@@ -990,7 +990,7 @@ class TasksForCommonProjectStructure:
|
|
|
990
990
|
target_folder_base = os.path.join(information.artifacts_folder, information.projectname, project_version)
|
|
991
991
|
GeneralUtilities.ensure_directory_exists(target_folder_base)
|
|
992
992
|
|
|
993
|
-
self.build_codeunits(information.repository, information.verbosity, information.target_environmenttype_for_productive, information.additional_arguments_file, False, information.export_target)
|
|
993
|
+
self.build_codeunits(information.repository, information.verbosity, information.target_environmenttype_for_productive, information.additional_arguments_file, False, information.export_target, [], True)
|
|
994
994
|
|
|
995
995
|
reference_folder = os.path.join(information.reference_repository, "ReferenceContent")
|
|
996
996
|
|
|
@@ -1199,7 +1199,7 @@ class TasksForCommonProjectStructure:
|
|
|
1199
1199
|
raise ValueError(f"Can not merge because the source-branch and the target-branch are on the same commit (commit-id: {src_branch_commit_id})")
|
|
1200
1200
|
|
|
1201
1201
|
self.__sc.git_checkout(repository_folder, source_branch)
|
|
1202
|
-
self.build_codeunits(repository_folder, verbosity, "QualityCheck", additional_arguments_file, True, None)
|
|
1202
|
+
self.build_codeunits(repository_folder, verbosity, "QualityCheck", additional_arguments_file, True, None, [], True)
|
|
1203
1203
|
self.__sc.git_merge(repository_folder, source_branch, target_branch, False, False, None)
|
|
1204
1204
|
self.__sc.git_commit(repository_folder, f'Merge branch {source_branch} into {target_branch}', stage_all_changes=True, no_changes_behavior=1)
|
|
1205
1205
|
self.__sc.git_checkout(repository_folder, target_branch)
|
|
@@ -1258,7 +1258,7 @@ class TasksForCommonProjectStructure:
|
|
|
1258
1258
|
self.__sc.run_program("git", "clean -dfx", information.repository, verbosity=information.verbosity, throw_exception_if_exitcode_is_not_zero=True)
|
|
1259
1259
|
project_version = self.__sc.get_semver_version_from_gitversion(information.repository)
|
|
1260
1260
|
|
|
1261
|
-
self.build_codeunits(information.repository, information.verbosity, information.target_environmenttype_for_qualitycheck, information.additional_arguments_file, False, information.export_target)
|
|
1261
|
+
self.build_codeunits(information.repository, information.verbosity, information.target_environmenttype_for_qualitycheck, information.additional_arguments_file, False, information.export_target, [], True)
|
|
1262
1262
|
|
|
1263
1263
|
self.assert_no_uncommitted_changes(information.repository)
|
|
1264
1264
|
|
|
@@ -1692,8 +1692,11 @@ class TasksForCommonProjectStructure:
|
|
|
1692
1692
|
GeneralUtilities.write_text_to_file(file, result)
|
|
1693
1693
|
|
|
1694
1694
|
@GeneralUtilities.check_arguments
|
|
1695
|
-
def do_npm_install(self, package_json_folder: str, verbosity: int) -> None:
|
|
1696
|
-
|
|
1695
|
+
def do_npm_install(self, package_json_folder: str,force:bool, verbosity: int) -> None:
|
|
1696
|
+
argument = "clean-install"
|
|
1697
|
+
if force:
|
|
1698
|
+
argument = f"{argument} --force"
|
|
1699
|
+
self.run_with_epew("npm", argument, package_json_folder, verbosity=verbosity)
|
|
1697
1700
|
|
|
1698
1701
|
@GeneralUtilities.check_arguments
|
|
1699
1702
|
def run_with_epew(self, program: str, argument: str = "", working_directory: str = None, verbosity: int = 1, print_errors_as_information: bool = False, log_file: str = None, timeoutInSeconds: int = 600, addLogOverhead: bool = False, title: str = None, log_namespace: str = "", arguments_for_log: list[str] = None, throw_exception_if_exitcode_is_not_zero: bool = True, custom_argument: object = None, interactive: bool = False) -> tuple[int, str, str, int]:
|
|
@@ -2129,10 +2132,12 @@ class TasksForCommonProjectStructure:
|
|
|
2129
2132
|
ce_source_folder = GeneralUtilities.resolve_relative_path("Other/Resources/DevelopmentCertificate", codeunit_folder)
|
|
2130
2133
|
ca_source_folder = GeneralUtilities.resolve_relative_path("Other/Resources/CA", codeunit_folder)
|
|
2131
2134
|
ce_target_folder = GeneralUtilities.resolve_relative_path("Other/Artifacts/DevelopmentCertificate", codeunit_folder)
|
|
2132
|
-
ca_target_folder = GeneralUtilities.resolve_relative_path("Other/Artifacts/
|
|
2135
|
+
ca_target_folder = GeneralUtilities.resolve_relative_path("Other/Artifacts/CA", codeunit_folder)
|
|
2133
2136
|
|
|
2137
|
+
GeneralUtilities.ensure_directory_does_not_exist(ce_target_folder)
|
|
2134
2138
|
GeneralUtilities.ensure_directory_exists(ce_target_folder)
|
|
2135
2139
|
GeneralUtilities.copy_content_of_folder(ce_source_folder, ce_target_folder)
|
|
2140
|
+
GeneralUtilities.ensure_directory_does_not_exist(ca_target_folder)
|
|
2136
2141
|
GeneralUtilities.ensure_directory_exists(ca_target_folder)
|
|
2137
2142
|
GeneralUtilities.copy_content_of_folder(ca_source_folder, ca_target_folder)
|
|
2138
2143
|
|
|
@@ -2161,7 +2166,7 @@ class TasksForCommonProjectStructure:
|
|
|
2161
2166
|
codeunit_folder = GeneralUtilities.resolve_relative_path_from_current_working_directory(codeunit_folder)
|
|
2162
2167
|
codeunit_name = os.path.basename(codeunit_folder)
|
|
2163
2168
|
repository_folder = os.path.dirname(codeunit_folder)
|
|
2164
|
-
self.build_specific_codeunits(repository_folder, [codeunit_name], verbosity, target_environmenttype, additional_arguments_file, is_pre_merge, export_target_directory, assume_dependent_codeunits_are_already_built, commandlinearguments)
|
|
2169
|
+
self.build_specific_codeunits(repository_folder, [codeunit_name], verbosity, target_environmenttype, additional_arguments_file, is_pre_merge, export_target_directory, assume_dependent_codeunits_are_already_built, commandlinearguments, False)
|
|
2165
2170
|
|
|
2166
2171
|
@GeneralUtilities.check_arguments
|
|
2167
2172
|
def build_codeunitsC(self, repository_folder: str, image: str, verbosity: int = 1, target_environmenttype: str = "QualityCheck", additional_arguments_file: str = None, commandlinearguments: list[str] = []) -> None:
|
|
@@ -2173,19 +2178,23 @@ class TasksForCommonProjectStructure:
|
|
|
2173
2178
|
self.__sc.run_program("docker", f"run --volume {repository_folder}:/Workspace/Repository " + f"-e repositoryfolder=/Workspace/Repository -e verbosity={verbosity} -e targetenvironment={target_environmenttype} {image}", repository_folder)
|
|
2174
2179
|
|
|
2175
2180
|
@GeneralUtilities.check_arguments
|
|
2176
|
-
def build_codeunits(self, repository_folder: str, verbosity: int = 1, target_environmenttype: str = "QualityCheck", additional_arguments_file: str = None, is_pre_merge: bool = False, export_target_directory: str = None, commandline_arguments: list[str] = []) -> None:
|
|
2181
|
+
def build_codeunits(self, repository_folder: str, verbosity: int = 1, target_environmenttype: str = "QualityCheck", additional_arguments_file: str = None, is_pre_merge: bool = False, export_target_directory: str = None, commandline_arguments: list[str] = [], do_git_clean_when_no_changes: bool = False) -> None:
|
|
2177
2182
|
self.__check_target_environmenttype(target_environmenttype)
|
|
2178
2183
|
repository_folder = GeneralUtilities.resolve_relative_path_from_current_working_directory(repository_folder)
|
|
2179
2184
|
codeunits = self.get_codeunits(repository_folder, False)
|
|
2180
|
-
self.build_specific_codeunits(repository_folder, codeunits, verbosity, target_environmenttype, additional_arguments_file, is_pre_merge, export_target_directory, False, commandline_arguments)
|
|
2185
|
+
self.build_specific_codeunits(repository_folder, codeunits, verbosity, target_environmenttype, additional_arguments_file, is_pre_merge, export_target_directory, False, commandline_arguments, do_git_clean_when_no_changes)
|
|
2181
2186
|
|
|
2182
2187
|
@GeneralUtilities.check_arguments
|
|
2183
|
-
def build_specific_codeunits(self, repository_folder: str, codeunits: list[str], verbosity: int = 1, target_environmenttype: str = "QualityCheck", additional_arguments_file: str = None, is_pre_merge: bool = False, export_target_directory: str = None, assume_dependent_codeunits_are_already_built: bool = True, commandline_arguments: list[str] = []) -> None:
|
|
2188
|
+
def build_specific_codeunits(self, repository_folder: str, codeunits: list[str], verbosity: int = 1, target_environmenttype: str = "QualityCheck", additional_arguments_file: str = None, is_pre_merge: bool = False, export_target_directory: str = None, assume_dependent_codeunits_are_already_built: bool = True, commandline_arguments: list[str] = [], do_git_clean_when_no_changes: bool = False) -> None:
|
|
2184
2189
|
self.__check_target_environmenttype(target_environmenttype)
|
|
2185
2190
|
repository_folder = GeneralUtilities.resolve_relative_path_from_current_working_directory(repository_folder)
|
|
2186
2191
|
contains_uncommitted_changes = self.__sc.git_repository_has_uncommitted_changes(repository_folder)
|
|
2187
|
-
if
|
|
2188
|
-
|
|
2192
|
+
if contains_uncommitted_changes:
|
|
2193
|
+
if is_pre_merge:
|
|
2194
|
+
raise ValueError(f'Repository "{repository_folder}" has uncommitted changes.')
|
|
2195
|
+
else:
|
|
2196
|
+
if do_git_clean_when_no_changes:
|
|
2197
|
+
self.__sc.run_program("git", "clean -dfx", repository_folder)
|
|
2189
2198
|
subfolders = [os.path.join(repository_folder, codeunit) for codeunit in codeunits]
|
|
2190
2199
|
codeunits_with_dependent_codeunits: dict[str, set[str]] = dict[str, set[str]]()
|
|
2191
2200
|
|
|
@@ -2615,7 +2624,7 @@ class TasksForCommonProjectStructure:
|
|
|
2615
2624
|
else:
|
|
2616
2625
|
GeneralUtilities.write_message_to_stdout(f"There are no dependencies to update in codeunit {codeunit}.")
|
|
2617
2626
|
if updated_dependencies:
|
|
2618
|
-
self.__sc.run_program("scbuildcodeunits", "--targetenvironment QualityCheck", repository_folder, verbosity=verbosity) # TODO set timeout
|
|
2627
|
+
self.__sc.run_program("scbuildcodeunits", "--targetenvironment QualityCheck --removeuncommittedfiles", repository_folder, verbosity=verbosity) # TODO set timeout
|
|
2619
2628
|
self.__sc.git_commit(repository_folder, "Updated dependencies")
|
|
2620
2629
|
|
|
2621
2630
|
class GenericPrepareNewReleaseArguments:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ScriptCollection
|
|
3
|
-
Version: 3.5.
|
|
3
|
+
Version: 3.5.27
|
|
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
|
|
@@ -23,7 +23,7 @@ Classifier: Topic :: Utilities
|
|
|
23
23
|
Requires-Python: >=3.10
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
25
25
|
Requires-Dist: build >=1.2.2.post1
|
|
26
|
-
Requires-Dist: coverage >=7.6.
|
|
26
|
+
Requires-Dist: coverage >=7.6.4
|
|
27
27
|
Requires-Dist: cyclonedx-bom >=5.0.0
|
|
28
28
|
Requires-Dist: defusedxml >=0.7.1
|
|
29
29
|
Requires-Dist: keyboard >=0.13.5
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
ScriptCollection/Executables.py,sha256=
|
|
1
|
+
ScriptCollection/Executables.py,sha256=57f2bopoRUchbyyCZTseBk0ynEyHfXc2u4-LraxI7qg,20161
|
|
2
2
|
ScriptCollection/GeneralUtilities.py,sha256=AElXv2NO30cTw-Qs3qVmO-YCOQ5FvBQM3RZMywuKQ_Y,35121
|
|
3
3
|
ScriptCollection/ProcessesRunner.py,sha256=3mu4ZxzZleQo0Op6o9EYTCFiJfb6kx5ov2YfZfT89mU,1395
|
|
4
4
|
ScriptCollection/ProgramRunnerBase.py,sha256=7QAjoqOz6XPmJH19F2k-Z1fFQB_uZnPFvn-T54IJcHQ,2324
|
|
5
5
|
ScriptCollection/ProgramRunnerEpew.py,sha256=C2Rs3YWOWWWJct7XmKphp5CF1tf0j4Fp-ljV2drLTfs,6349
|
|
6
6
|
ScriptCollection/ProgramRunnerPopen.py,sha256=G3LgQUVCfaq7XjBsGzalElH31Hbr0etttGR2_H87YzA,3512
|
|
7
7
|
ScriptCollection/RPStream.py,sha256=NRRHL3YSP3D9MuAV2jB_--0KUKCsvJGxeKnxgrRZ9kY,1545
|
|
8
|
-
ScriptCollection/ScriptCollectionCore.py,sha256=
|
|
9
|
-
ScriptCollection/TasksForCommonProjectStructure.py,sha256=
|
|
8
|
+
ScriptCollection/ScriptCollectionCore.py,sha256=ghiD-bDQz7a0WeZyur_ziZHKdmIdVi_70iMYo4185rA,101078
|
|
9
|
+
ScriptCollection/TasksForCommonProjectStructure.py,sha256=iZWDpFSF0VQotKpjGngs1bBy1-7sVEZiUFRUD08d5wo,194090
|
|
10
10
|
ScriptCollection/UpdateCertificates.py,sha256=Eynbgu7k9jLxApP2D_8Il77B6BFjJap6K7oTeEAZYbk,7790
|
|
11
11
|
ScriptCollection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
ScriptCollection-3.5.
|
|
13
|
-
ScriptCollection-3.5.
|
|
14
|
-
ScriptCollection-3.5.
|
|
15
|
-
ScriptCollection-3.5.
|
|
16
|
-
ScriptCollection-3.5.
|
|
12
|
+
ScriptCollection-3.5.27.dist-info/METADATA,sha256=6ZIEIrTa60Zt0EWsS0HnSMg6BsTnyJUZNwx6WyqEH6A,7684
|
|
13
|
+
ScriptCollection-3.5.27.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
|
|
14
|
+
ScriptCollection-3.5.27.dist-info/entry_points.txt,sha256=yASwR6hWZ_b5d4W49YeX1htD8ngfWbwgjpfQiJdtUAU,2322
|
|
15
|
+
ScriptCollection-3.5.27.dist-info/top_level.txt,sha256=hY2hOVH0V0Ce51WB76zKkIWTUNwMUdHo4XDkR2vYVwg,17
|
|
16
|
+
ScriptCollection-3.5.27.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|