AcademySoftwareFoundation / AcademySoftwareFoundation/rez
Document all variables available in package definition functions
- Dominant language
- Python
- Stars
- 1.1k
- Forks
- 374
- Avg merge
- 9d 12h
- Merged PRs (30d)
- 5
Description
In a package.py, various different objects (such as `env`, `this`) are available depending on whether a package is being built, and where you are in the package definition (ie, in an early bound func, or late bound, or in a `commands` or commands-like function).
The existing docs do describe what objects are available in what context, but it's hard to track this without the info being provided in one place.
A table should be added showing a matrix of potential cases (eg, in commands, building=true; in early bound func, etc), along with the available objects, and a description of each.
Related - there should also be a table showing which package attributes are available in released packages (as some are stripped according to some rules). Currently this is just a list, but it needs to be updated (eg, I think `private_build_requires` is actually kept in the released pkg now).
https://github.com/nerdvegas/rez/wiki/Package-Definition-Guide#build-time-package-attributes
Contributor guide
Research direction
Start with the Package Definition Guide's build-time package attributes section and the existing descriptions of early-bound, late-bound, commands, and build contexts. Map each context to its available objects, then verify the released-package attribute list against the current stripping behavior, including whether private_build_requires is retained; done means both tables are complete and accurate.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100