craft_parts.executor.collisions module

Helpers to detect conflicting staging files from multiple parts.

craft_parts.executor.collisions.check_for_stage_collisions(part_list)[source]

Verify whether parts have conflicting files to stage.

Parameters:

part_list (List[Part]) – The list of parts to be tested.

Raises:

PartConflictError – If conflicts are found.

Return type:

None

craft_parts.executor.collisions.paths_collide(path1, path2, permissions_path1=None, permissions_path2=None)[source]

Check whether the provided paths conflict to each other.

If both paths have Permissions definitions, they are considered to be conflicting if the permissions are incompatible (as defined by permissions.permissions_are_compatible()).

Parameters:
  • permissions_path1 (Optional[List[Permissions]]) – The list of Permissions that affect path1.

  • permissions_path2 (Optional[List[Permissions]]) – The list of Permissions that affect path2.

  • path1 (str) –

  • path2 (str) –

Return type:

bool