spl-core 7.0.0__py3-none-any.whl → 7.1.0__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.
spl_core/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "7.0.0"
1
+ __version__ = "7.1.0"
spl_core/common.cmake CHANGED
@@ -684,7 +684,12 @@ macro(spl_run_conan)
684
684
  endmacro(spl_run_conan)
685
685
 
686
686
  macro(_spl_set_ninja_wrapper_as_cmake_make)
687
- set(NINJA_WRAPPER ${CMAKE_SOURCE_DIR}/build/${VARIANT}/${BUILD_KIT}/ninja_wrapper.bat)
687
+ # if CMAKE_BUILD_TYPE is not empty, NINJA_WRAPPER should be placed in the build directory with build type
688
+ if(CMAKE_BUILD_TYPE)
689
+ set(NINJA_WRAPPER ${CMAKE_SOURCE_DIR}/build/${VARIANT}/${BUILD_KIT}/${CMAKE_BUILD_TYPE}/ninja_wrapper.bat)
690
+ else()
691
+ set(NINJA_WRAPPER ${CMAKE_SOURCE_DIR}/build/${VARIANT}/${BUILD_KIT}/ninja_wrapper.bat)
692
+ endif()
688
693
  file(WRITE ${NINJA_WRAPPER}
689
694
  "@echo off
690
695
  @call %~dp0%/activate_run.bat
spl_core/spl.cmake CHANGED
@@ -16,7 +16,7 @@ string(REPLACE "/" "_" BINARY_BASENAME ${VARIANT})
16
16
  # Set SPL relevant variables as environment variables.
17
17
  # Can easily be extended in CMakeLists.txt of project.
18
18
  # Also used for KConfig variable expansion.
19
- list(APPEND ENVVARS FLAVOR SUBSYSTEM VARIANT BUILD_KIT BINARY_BASENAME CMAKE_SOURCE_DIR)
19
+ list(APPEND ENVVARS FLAVOR SUBSYSTEM VARIANT BUILD_KIT CMAKE_BUILD_TYPE BINARY_BASENAME CMAKE_SOURCE_DIR)
20
20
 
21
21
  foreach(ENVVAR IN LISTS ENVVARS)
22
22
  set(ENV{${ENVVAR}} "${${ENVVAR}}")
@@ -1,7 +1,7 @@
1
1
  import re
2
2
  from abc import ABC, abstractmethod
3
3
  from pathlib import Path
4
- from typing import List
4
+ from typing import List, Optional
5
5
 
6
6
  import pytest
7
7
 
@@ -60,8 +60,8 @@ class BaseVariantTestRunner(ABC):
60
60
  assert Path.joinpath(dir, artifact).exists(), f"Artifact {Path.joinpath(dir, artifact)} does not exist" # noqa: S101
61
61
 
62
62
  @pytest.mark.build
63
- def test_build(self) -> None:
64
- spl_build: SplBuild = SplBuild(variant=self.variant, build_kit="prod")
63
+ def test_build(self, build_type: Optional[str] = None) -> None:
64
+ spl_build: SplBuild = SplBuild(variant=self.variant, build_kit="prod", build_type=build_type)
65
65
  assert 0 == spl_build.execute(target="all") # noqa: S101
66
66
  for artifact in self.expected_build_artifacts:
67
67
  self.assert_artifact_exists(dir=spl_build.build_dir, artifact=artifact)
@@ -72,15 +72,15 @@ class BaseVariantTestRunner(ABC):
72
72
  spl_build.create_artifacts_json(self.expected_archive_artifacts)
73
73
 
74
74
  @pytest.mark.unittests
75
- def test_unittests(self) -> None:
76
- spl_build: SplBuild = SplBuild(variant=self.variant, build_kit="test")
75
+ def test_unittests(self, build_type: Optional[str] = None) -> None:
76
+ spl_build: SplBuild = SplBuild(variant=self.variant, build_kit="test", build_type=build_type)
77
77
  assert 0 == spl_build.execute(target="unittests") # noqa: S101
78
78
  for artifact in self.expected_test_artifacts:
79
79
  self.assert_artifact_exists(dir=spl_build.build_dir, artifact=artifact)
80
80
 
81
81
  @pytest.mark.reports
82
- def test_reports(self) -> None:
83
- spl_build: SplBuild = SplBuild(variant=self.variant, build_kit="test")
82
+ def test_reports(self, build_type: Optional[str] = None) -> None:
83
+ spl_build: SplBuild = SplBuild(variant=self.variant, build_kit="test", build_type=build_type)
84
84
  assert 0 == spl_build.execute(target="all") # noqa: S101
85
85
  for artifact in self.expected_variant_report_artifacts:
86
86
  self.assert_artifact_exists(dir=spl_build.build_dir, artifact=artifact)
@@ -41,17 +41,19 @@ class ArtifactsCollection:
41
41
  class SplBuild:
42
42
  """Class for building an SPL repository."""
43
43
 
44
- def __init__(self, variant: str, build_kit: str):
44
+ def __init__(self, variant: str, build_kit: str, build_type: Optional[str] = None) -> None:
45
45
  """
46
46
  Initialize a SplBuild instance.
47
47
 
48
48
  Args:
49
49
  variant (str): The build variant.
50
50
  build_kit (str): The build kit.
51
+ build_type (str, optional): The build type. Defaults to None.
51
52
 
52
53
  """
53
54
  self.variant = variant
54
55
  self.build_kit = build_kit
56
+ self.build_type = build_type
55
57
 
56
58
  @property
57
59
  def build_dir(self) -> Path:
@@ -62,6 +64,8 @@ class SplBuild:
62
64
  Path: The build directory path.
63
65
 
64
66
  """
67
+ if self.build_type:
68
+ return Path(f"build/{self.variant}/{self.build_kit}/{self.build_type}")
65
69
  return Path(f"build/{self.variant}/{self.build_kit}")
66
70
 
67
71
  @time_it()
@@ -91,6 +95,8 @@ class SplBuild:
91
95
  target,
92
96
  "-reconfigure",
93
97
  ]
98
+ if self.build_type:
99
+ cmd.extend(["-buildType", self.build_type])
94
100
  cmd.extend(additional_args)
95
101
  result = CommandLineExecutor().execute(cmd)
96
102
  return_code = result.returncode
@@ -155,6 +161,8 @@ class SplBuild:
155
161
  "build_kit": self.build_kit,
156
162
  "artifacts": [str(artifact.archive_path.as_posix()) for artifact in artifacts_collection.archive_artifacts],
157
163
  }
164
+ if self.build_type:
165
+ json_content["build_type"] = self.build_type
158
166
  json_path = self.build_dir / "artifacts.json"
159
167
 
160
168
  json_path.write_text(json.dumps(json_content, indent=4))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: spl-core
3
- Version: 7.0.0
3
+ Version: 7.1.0
4
4
  Summary: Software Product Line Support for CMake
5
5
  License: MIT
6
6
  Author: Avengineers
@@ -1,9 +1,9 @@
1
- spl_core/__init__.py,sha256=VgMOOqsYbyb60I1RmlZpqwqQ0C0IyT3R0c8_xX4pRGM,22
1
+ spl_core/__init__.py,sha256=vrQk6cOG_uk0gOqN4qh7NRCxezXfvhv9tT7bwYHyTck,22
2
2
  spl_core/__run.py,sha256=DphnN7_Bjiw_mOOztsHxTDHS8snz1g2MMWAaJpZxPKM,361
3
3
  spl_core/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  spl_core/common/command_line_executor.py,sha256=GHIMpNiMD_eP44vq7L_HiC08aKt7lgW_wn_omU6REwQ,2217
5
5
  spl_core/common/path.py,sha256=sDujd3n4XP1XGjHc7ImXEdjihO6A8BOIDbKCf7HgQ0Y,462
6
- spl_core/common.cmake,sha256=ti57PmtZM2-7c1J8u7kyL-mFSyySlipG6-evO5iwH2o,32457
6
+ spl_core/common.cmake,sha256=ZVGny3AdQaJxTh9GFuRV6eR79wzNPVw5CHFV9uAY0EU,32734
7
7
  spl_core/conan.cmake,sha256=i1AuyN-e8cczX7TI1nl6e3Y8N-EP-QXPVY7LG6NUyJY,41958
8
8
  spl_core/config/KConfig,sha256=atlUwl0kPIdoGjbOI2PoaCQ2wgao7-mblZKn3dXUCxI,1755
9
9
  spl_core/gcov_maid/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -57,11 +57,11 @@ spl_core/kickstart/templates/project/scoopfile.json,sha256=DcfZ8jYf9hmPHM-AWwnPK
57
57
  spl_core/kickstart/templates/project/tools/toolchains/clang/toolchain.cmake,sha256=fDD-eb6DeqmAYkCbILL2V5PLnCPRdTu1Tpg0WfDC_dE,713
58
58
  spl_core/kickstart/templates/project/tools/toolchains/gcc/toolchain.cmake,sha256=AmLzPyhTgfc_Dsre4AlsvSOkVGW6VswWvrEnUL8JLhA,183
59
59
  spl_core/main.py,sha256=_hL4j155WZMXog_755bgAH1PeUwvTdJZvVdVw9EWhvo,1225
60
- spl_core/spl.cmake,sha256=uG1tnDba1Tgjj1ql5rgIRJFkfi9CY9IHoYLePWklYxw,4524
61
- spl_core/test_utils/base_variant_test_runner.py,sha256=jW9mRbSI0rSFLh-lOwkj7oJgyk2xm07Dw63vhJmnE3s,3312
62
- spl_core/test_utils/spl_build.py,sha256=TtYFTY94Fa9eXdtY9NavrCulx-NEONRm81GSLHGB_yQ,5599
63
- spl_core-7.0.0.dist-info/LICENSE,sha256=UjjA0o8f5tT3wVm7qodTLAhPWLl6kgVyn9FPAd1VeYY,1099
64
- spl_core-7.0.0.dist-info/METADATA,sha256=PkPU9AH72pbvPoL2jBTkzjlUOD9SdvbvYV7xwuiltsY,5160
65
- spl_core-7.0.0.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
66
- spl_core-7.0.0.dist-info/entry_points.txt,sha256=18_sdVY93N1GVBiAHxQ_F9ZM-bBvOmVMOMn7PNe2EqU,45
67
- spl_core-7.0.0.dist-info/RECORD,,
60
+ spl_core/spl.cmake,sha256=42gb79k9nNklSdlx9F-yr-DDkGGxB56FnAnX35thvco,4541
61
+ spl_core/test_utils/base_variant_test_runner.py,sha256=E5EtAX5qTLQbofIZ9eZoCx2SNd1CTm1HtEKqEn014fA,3493
62
+ spl_core/test_utils/spl_build.py,sha256=OO7rIZpBb7EP87D39NeTK4XH17x3xNfwRI5YHPBvGgY,6041
63
+ spl_core-7.1.0.dist-info/LICENSE,sha256=UjjA0o8f5tT3wVm7qodTLAhPWLl6kgVyn9FPAd1VeYY,1099
64
+ spl_core-7.1.0.dist-info/METADATA,sha256=LPWI5Z_zUkSgeqPPbUCWp8am-IeXg4pcCdlCuLP2C04,5160
65
+ spl_core-7.1.0.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
66
+ spl_core-7.1.0.dist-info/entry_points.txt,sha256=18_sdVY93N1GVBiAHxQ_F9ZM-bBvOmVMOMn7PNe2EqU,45
67
+ spl_core-7.1.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.1
2
+ Generator: poetry-core 2.1.2
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any