spl-core 7.12.1__tar.gz → 7.13.0__tar.gz

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.
Files changed (71) hide show
  1. {spl_core-7.12.1 → spl_core-7.13.0}/PKG-INFO +1 -1
  2. {spl_core-7.12.1 → spl_core-7.13.0}/pyproject.toml +1 -1
  3. spl_core-7.13.0/src/spl_core/__init__.py +1 -0
  4. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/test_utils/artifacts_archiver.py +32 -1
  5. spl_core-7.12.1/src/spl_core/__init__.py +0 -1
  6. {spl_core-7.12.1 → spl_core-7.13.0}/LICENSE +0 -0
  7. {spl_core-7.12.1 → spl_core-7.13.0}/README.md +0 -0
  8. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/__run.py +0 -0
  9. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/common/__init__.py +0 -0
  10. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/common/path.py +0 -0
  11. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/common.cmake +0 -0
  12. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/conan.cmake +0 -0
  13. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/config/KConfig +0 -0
  14. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/gcov_maid/__init__.py +0 -0
  15. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/gcov_maid/gcov_maid.py +0 -0
  16. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kconfig/__init__.py +0 -0
  17. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kconfig/kconfig.py +0 -0
  18. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kconfig.cmake +0 -0
  19. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/__init__.py +0 -0
  20. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/create.py +0 -0
  21. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/.vscode/cmake-variants.json +0 -0
  22. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/KConfig +0 -0
  23. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/src/greeter/CMakeLists.txt +0 -0
  24. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/src/greeter/doc/_images/screenshot.png +0 -0
  25. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/src/greeter/doc/index.md +0 -0
  26. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/src/greeter/src/greeter.c +0 -0
  27. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/src/greeter/src/greeter.h +0 -0
  28. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/src/greeter/test/test_greeter.cc +0 -0
  29. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/src/main/CMakeLists.txt +0 -0
  30. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/src/main/doc/index.md +0 -0
  31. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/src/main/src/main.c +0 -0
  32. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/test/EnglishVariant/test__EnglishVariant.py +0 -0
  33. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/test/German/test__GermanVariant.py +0 -0
  34. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/variants/EnglishVariant/config.cmake +0 -0
  35. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/variants/EnglishVariant/parts.cmake +0 -0
  36. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/variants/GermanVariant/config.cmake +0 -0
  37. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/variants/GermanVariant/config.txt +0 -0
  38. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/application/variants/GermanVariant/parts.cmake +0 -0
  39. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/.gitignore +0 -0
  40. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/.vscode/cmake-kits.json +0 -0
  41. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/.vscode/extensions.json +0 -0
  42. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/.vscode/launch.json +0 -0
  43. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/.vscode/settings.json +0 -0
  44. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/.vscode/tasks.json +0 -0
  45. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/CMakeLists.txt +0 -0
  46. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/README.md +0 -0
  47. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/bootstrap.json +0 -0
  48. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/build.bat +0 -0
  49. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/build.ps1 +0 -0
  50. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/conf.py +0 -0
  51. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/doc/Doxyfile.in +0 -0
  52. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/doc/common/index.md +0 -0
  53. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/doc/components/index.md +0 -0
  54. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/doc/doxygen-awesome/LICENSE +0 -0
  55. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/doc/doxygen-awesome/doxygen-awesome.css +0 -0
  56. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/doc/software_architecture/index.md +0 -0
  57. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/doc/software_requirements/index.md +0 -0
  58. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/doc/test_report_template.txt +0 -0
  59. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/index.md +0 -0
  60. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/pypeline.yaml +0 -0
  61. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/pyproject.toml +0 -0
  62. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/pytest.ini +0 -0
  63. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/scoopfile.json +0 -0
  64. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/tools/toolchains/clang/toolchain.cmake +0 -0
  65. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/kickstart/templates/project/tools/toolchains/gcc/toolchain.cmake +0 -0
  66. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/main.py +0 -0
  67. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/spl.cmake +0 -0
  68. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/steps/collect_pr_changes.py +0 -0
  69. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/test_utils/archive_artifacts_collection.py +0 -0
  70. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/test_utils/base_variant_test_runner.py +0 -0
  71. {spl_core-7.12.1 → spl_core-7.13.0}/src/spl_core/test_utils/spl_build.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: spl-core
3
- Version: 7.12.1
3
+ Version: 7.13.0
4
4
  Summary: Software Product Line Support for CMake
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "spl-core"
3
- version = "7.12.1"
3
+ version = "7.13.0"
4
4
  description = "Software Product Line Support for CMake"
5
5
  authors = ["Avengineers <karsten.guenther@kamg.de>"]
6
6
  license = "MIT"
@@ -0,0 +1 @@
1
+ __version__ = "7.13.0"
@@ -189,6 +189,31 @@ class ArtifactsArchiver:
189
189
  created_archives[archive_name] = archive.create_archive()
190
190
  return created_archives
191
191
 
192
+ @staticmethod
193
+ def calculate_retention_period(branch_name: str, is_tag: bool) -> int:
194
+ """
195
+ Calculate the retention period in days based on branch name or tag.
196
+
197
+ Args:
198
+ branch_name: The name of the branch
199
+ is_tag: Whether this is a tag build
200
+
201
+ Returns:
202
+ Retention period in days:
203
+ - 84 days for "develop" branch
204
+ - -1 (infinite) for release branches (release/*)
205
+ - -1 (infinite) for tags
206
+ - 28 days for everything else (PRs, feature branches, etc.)
207
+ """
208
+ if is_tag:
209
+ return -1 # Infinite retention for tags
210
+ elif branch_name == "develop":
211
+ return 84 # Length of a PI (Program Increment)
212
+ elif branch_name.startswith("release/"):
213
+ return -1 # Infinite retention for release branches
214
+ else:
215
+ return 28 # 4 weeks for PRs, feature branches, and other branches
216
+
192
217
  def create_rt_upload_json(self, out_dir: Path) -> Path:
193
218
  """
194
219
  Create a single rt-upload.json file containing all archives.
@@ -207,6 +232,7 @@ class ArtifactsArchiver:
207
232
  change_id = None
208
233
  branch_name = "local_branch"
209
234
  build_number = "local_build"
235
+ is_tag = False
210
236
 
211
237
  # Adapt values when Jenkins environment is detected
212
238
  # TODO: check if an existing library can be used for CI context detection
@@ -222,6 +248,7 @@ class ArtifactsArchiver:
222
248
  elif tag_name:
223
249
  # Tag build case
224
250
  branch_name = tag_name
251
+ is_tag = True
225
252
  elif jenkins_branch_name:
226
253
  # Regular branch case
227
254
  branch_name = jenkins_branch_name
@@ -229,6 +256,9 @@ class ArtifactsArchiver:
229
256
  if jenkins_build_number:
230
257
  build_number = jenkins_build_number
231
258
 
259
+ # Calculate retention period based on branch/tag
260
+ retention_period = self.calculate_retention_period(branch_name, is_tag)
261
+
232
262
  # Create the files array for Artifactory upload format
233
263
  files_array = []
234
264
 
@@ -239,7 +269,7 @@ class ArtifactsArchiver:
239
269
  # Construct the RT target path
240
270
  rt_target = f"{target_repo}/{branch_name}/{build_number}/"
241
271
 
242
- # Add this archive to the files array
272
+ # Add this archive to the files array with retention_period property
243
273
  files_array.append(
244
274
  {
245
275
  "pattern": archive.archive_name,
@@ -247,6 +277,7 @@ class ArtifactsArchiver:
247
277
  "recursive": "false",
248
278
  "flat": "false",
249
279
  "regexp": "false",
280
+ "props": f"retention_period={retention_period}",
250
281
  }
251
282
  )
252
283
 
@@ -1 +0,0 @@
1
- __version__ = "7.12.1"
File without changes
File without changes