Skip to content

Commit 5b4e44a

Browse files
committed
Remove ContainerCrate in favor of ObsPackage
1 parent c1be89c commit 5b4e44a

4 files changed

Lines changed: 44 additions & 88 deletions

File tree

src/bci_build/containercrate.py

Lines changed: 0 additions & 46 deletions
This file was deleted.

src/bci_build/package/__init__.py

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
from bci_build.container_attributes import PackageType
2222
from bci_build.container_attributes import ReleaseStage
2323
from bci_build.container_attributes import SupportLevel
24-
from bci_build.containercrate import ContainerCrate
2524
from bci_build.os_version import ALL_OS_LTSS_VERSIONS
2625
from bci_build.os_version import RELEASED_OS_VERSIONS
2726
from bci_build.os_version import OsVersion
@@ -203,9 +202,6 @@ class BaseContainerImage(ObsPackage):
203202
#: build flavors to produce for this container variant
204203
build_flavor: str | None = None
205204

206-
#: create that this container is part of
207-
crate: ContainerCrate = None
208-
209205
#: Add any replacements via `obs-service-replace_using_package_version
210206
#: <https://github.com/openSUSE/obs-service-replace_using_package_version>`_
211207
#: that are used in this image into this list.
@@ -1104,15 +1100,6 @@ async def write_file_to_dest(fname: str, contents: str | bytes) -> None:
11041100
False
11051101
), f"got an unexpected build_recipe_type: '{self.build_recipe_type}'"
11061102

1107-
if self.build_flavor:
1108-
dfile = "Dockerfile"
1109-
tasks.append(write_file_to_dest(dfile, self.crate.default_dockerfile()))
1110-
files.append(dfile)
1111-
1112-
mname = "_multibuild"
1113-
tasks.append(write_file_to_dest(mname, self.crate.multibuild(self)))
1114-
files.append(mname)
1115-
11161103
if with_service_file:
11171104
tasks.append(self._write_service_file(dest))
11181105

src/bci_build/package/apache_tomcat.py

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import datetime
44

55
from bci_build.container_attributes import PackageType
6-
from bci_build.containercrate import ContainerCrate
76
from bci_build.os_version import CAN_BE_LATEST_OS_VERSION
87
from bci_build.os_version import OsVersion
98
from bci_build.package import DOCKERFILE_RUN
@@ -12,6 +11,7 @@
1211
from bci_build.package import Package
1312
from bci_build.package import Replacement
1413
from bci_build.package import _build_tag_prefix
14+
from bci_build.package.obs_package import MultiBuildObsPackage
1515
from bci_build.registry import publish_registry
1616

1717
# last version needs to be the newest
@@ -50,14 +50,11 @@ def _get_sac_supported_until(
5050
)
5151

5252

53-
TOMCAT_CONTAINERS = [
54-
ApplicationStackContainer(
53+
def _create_tomcat_container(
54+
os_version: OsVersion, tomcat_ver: str, jre_version: int
55+
) -> ApplicationStackContainer:
56+
return ApplicationStackContainer(
5557
name="apache-tomcat",
56-
package_name=(
57-
f"apache-tomcat-{tomcat_ver.partition('.')[0]}-image"
58-
if os_version.is_tumbleweed
59-
else f"sac-apache-tomcat-{tomcat_ver.partition('.')[0]}-image"
60-
),
6158
_publish_registry=publish_registry(os_version, app_collection=True),
6259
pretty_name="Apache Tomcat",
6360
custom_description=(
@@ -125,15 +122,29 @@ def _get_sac_supported_until(
125122
entrypoint_user="tomcat",
126123
logo_url="https://tomcat.apache.org/res/images/tomcat.png",
127124
)
128-
for tomcat_ver, os_version, jre_version in (
129-
("10.1", OsVersion.TUMBLEWEED, 22),
130-
("10.1", OsVersion.TUMBLEWEED, 21),
131-
("10.1", OsVersion.TUMBLEWEED, 17),
132-
("9", OsVersion.TUMBLEWEED, 17),
133-
("10.1", OsVersion.SP6, 21),
134-
("10.1", OsVersion.SP6, 17),
135-
# (10.1, OsVersion.SP7, 21),
136-
)
137-
]
138125

139-
TOMCAT_CRATE = ContainerCrate(TOMCAT_CONTAINERS)
126+
127+
TOMCAT_CONTAINERS: list[MultiBuildObsPackage | ApplicationStackContainer] = [
128+
MultiBuildObsPackage.from_bcis(
129+
bcis=[
130+
_create_tomcat_container(os_version, tomcat_ver, jre_version)
131+
for tomcat_ver, os_version, jre_version in (
132+
("10.1", OsVersion.TUMBLEWEED, 22),
133+
("10.1", OsVersion.TUMBLEWEED, 21),
134+
("10.1", OsVersion.TUMBLEWEED, 17),
135+
)
136+
],
137+
package_name="apache-tomcat-10-image",
138+
),
139+
_create_tomcat_container(OsVersion.TUMBLEWEED, "9", 17),
140+
MultiBuildObsPackage.from_bcis(
141+
package_name="sac-apache-tomcat-image",
142+
bcis=[
143+
_create_tomcat_container(os_version, tomcat_ver, jre_version)
144+
for tomcat_ver, os_version, jre_version in (
145+
("10.1", OsVersion.SP6, 21),
146+
("10.1", OsVersion.SP6, 17),
147+
)
148+
],
149+
),
150+
]
Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from bci_build.container_attributes import BuildType
2-
from bci_build.containercrate import ContainerCrate
32
from bci_build.os_version import OsVersion
43
from bci_build.package import DevelopmentContainer
4+
from bci_build.package.obs_package import MultiBuildObsPackage
55

66
_BASE_KWARGS = {
77
"name": "test",
@@ -14,16 +14,20 @@
1414

1515

1616
def test_multibuild_with_multi_flavor_docker():
17-
containers = [
18-
DevelopmentContainer(
19-
**_BASE_KWARGS,
20-
build_recipe_type=BuildType.DOCKER,
21-
build_flavor=flavor,
22-
)
23-
for flavor in ("flavor1", "flavor2")
24-
]
17+
pkg = MultiBuildObsPackage(
18+
package_name="test",
19+
bcis=[
20+
DevelopmentContainer(
21+
**_BASE_KWARGS,
22+
build_recipe_type=BuildType.DOCKER,
23+
build_flavor=flavor,
24+
)
25+
for flavor in ("flavor1", "flavor2")
26+
],
27+
os_version=_BASE_KWARGS["os_version"],
28+
)
2529
assert (
26-
ContainerCrate(containers).multibuild(containers[0])
30+
pkg.multibuild
2731
== """<multibuild>
2832
<package>flavor1</package>
2933
<package>flavor2</package>

0 commit comments

Comments
 (0)