Expand description
Developer package module.
Aligned with rez’s developer_package.py — represents a package that exists
as source code in a developer’s working directory, before being built and
released to a package repository.
Follows SOLID / Clean Architecture:
- Single Responsibility: This module only handles developer-package concerns.
- Open/Closed: Preprocess hooks allow extension without modification.
- Dependency Inversion: Accepts config rather than reading global state.
§Lessons from Rez Issues (avoided pitfalls):
- #2001 (Regression on build): Preprocess functions are validated early, not during build time, preventing silent failures.
- #1766 (@late build_requires): DeveloperPackage explicitly validates includes before installation to catch missing modules early.
Structs§
- Developer
Package - A package that exists as source code in a working directory.
Enums§
- Developer
Package Error - Errors that can occur during developer package operations.
- Preprocess
Mode - When the developer package’s
preprocessfunction should be called relative to the globalpackage_preprocess_function.