Skip to content

Commit b328f3c

Browse files
committed
Remove ContainerCrate in favor of ObsPackage
1 parent 5445de1 commit b328f3c

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
@@ -16,7 +16,6 @@
1616
import jinja2
1717
from packaging import version
1818

19-
from bci_build.containercrate import ContainerCrate
2019
from bci_build.constants import Arch
2120
from bci_build.constants import BuildType
2221
from bci_build.constants import ImageType
@@ -199,9 +198,6 @@ class BaseContainerImage(ObsPackageBase):
199198
#: build flavors to produce for this container variant
200199
build_flavor: str | None = None
201200

202-
#: create that this container is part of
203-
crate: ContainerCrate = None
204-
205201
#: Add any replacements via `obs-service-replace_using_package_version
206202
#: <https://github.com/openSUSE/obs-service-replace_using_package_version>`_
207203
#: that are used in this image into this list.
@@ -1096,15 +1092,6 @@ async def write_file_to_dest(fname: str, contents: str | bytes) -> None:
10961092
False
10971093
), f"got an unexpected build_recipe_type: '{self.build_recipe_type}'"
10981094

1099-
if self.build_flavor:
1100-
dfile = "Dockerfile"
1101-
tasks.append(write_file_to_dest(dfile, self.crate.default_dockerfile()))
1102-
files.append(dfile)
1103-
1104-
mname = "_multibuild"
1105-
tasks.append(write_file_to_dest(mname, self.crate.multibuild(self)))
1106-
files.append(mname)
1107-
11081095
if with_service_file:
11091096
tasks.append(self._write_service_file(dest))
11101097

src/bci_build/package/apache_tomcat.py

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import datetime
44

5-
from bci_build.containercrate import ContainerCrate
65
from bci_build.os_version import CAN_BE_LATEST_OS_VERSION
76
from bci_build.os_version import OsVersion
87
from bci_build.package import DOCKERFILE_RUN
@@ -12,6 +11,7 @@
1211
from bci_build.package import PackageType
1312
from bci_build.package import Replacement
1413
from bci_build.package import _build_tag_prefix
14+
from bci_build.package.obs_package import ObsPackage
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[ObsPackage | ApplicationStackContainer] = [
128+
ObsPackage.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+
ObsPackage.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 @@
1-
from bci_build.containercrate import ContainerCrate
21
from bci_build.os_version import OsVersion
32
from bci_build.package import BuildType
43
from bci_build.package import DevelopmentContainer
4+
from bci_build.package.obs_package import ObsPackage
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 = ObsPackage(
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)