Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions imagecraft/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,8 @@
"""Main Imagecraft Application."""

from craft_application import Application, AppMetadata
from craft_parts.plugins.plugins import PluginType
from typing_extensions import override

from imagecraft import plugins
from imagecraft.models import project

APP_METADATA = AppMetadata(
Expand All @@ -35,10 +33,6 @@
class Imagecraft(Application):
"""Imagecraft application definition."""

@override
def _get_app_plugins(self) -> dict[str, PluginType]:
return plugins.get_app_plugins()

@override
def _enable_craft_parts_features(self) -> None:
# pylint: disable=import-outside-toplevel
Expand Down
12 changes: 11 additions & 1 deletion imagecraft/services/lifecycle.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,30 @@
from pathlib import Path
from typing import cast

import craft_platforms
from craft_application import LifecycleService
from craft_cli import CraftError
from craft_parts import Action, callbacks
from craft_parts.executor.errors import EnvironmentChangedError
from craft_parts.infos import ProjectInfo
from craft_parts.plugins import Plugin
from craft_parts.plugins.plugins import PluginGroup
from typing_extensions import override

from imagecraft import models
from imagecraft import models, plugins
from imagecraft.services.image import ImageService


class ImagecraftLifecycleService(LifecycleService):
"""Imagecraft-specific lifecycle service."""

@staticmethod
@override
def get_plugin_group(
build_info: craft_platforms.BuildInfo,
Comment thread
lengau marked this conversation as resolved.
) -> dict[str, type[Plugin]] | None:
return {**PluginGroup.MINIMAL.value, **plugins.get_app_plugins()} # pyright: ignore[reportUnknownMemberType]
Comment thread
lengau marked this conversation as resolved.
Comment thread
lengau marked this conversation as resolved.

@override
def setup(self) -> None:
"""Initialize the LifecycleManager with previously-set arguments."""
Expand Down
Loading