AcademySoftwareFoundation / AcademySoftwareFoundation/rez

Document all variables available in package definition functions

Open
#805 0 comments 0 reactions 0 assignees View on GitHub
documentation
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.