Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the comments around the build target state #3217

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Tatskaari
Copy link
Member

Sat down with @goddenrich to clarify what each of these mean. Thought I'd update the comments to make it easier to understand the life cycle of a target from this enum.

Active // Target is going to be used in current build
Pending // Target is ready to be built but not yet started.
Active // Target is going to be used in current build, but we're waiting for its dependencies to build
Pending // Target has been added to the build queue built but not yet started.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Pending // Target has been added to the build queue built but not yet started.
Pending // Target has been added to the build queue but not yet started.

Reused // Outputs of previous build have been reused.
Stopped // We stopped building the target because we'd gone as far as needed i.e. because we're only preparing the build dir for --shell
Built // Target has been successfully built. The target wasn't cached in any way.
Cached // Target has been retrieved from the build cache, but was not found in plz-out
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but was not found in plz-out

It's unclear why this is relevant? Is this in comparison to Reused, where it was found in plz-out?

Cached // Target has been retrieved from the cache
Unchanged // Target has been built but hasn't changed since last build
Reused // Outputs of previous build have been reused.
Stopped // We stopped building the target because we'd gone as far as needed i.e. because we're only preparing the build dir for --shell
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: is "we're only preparing the build dir for --shell" actually the only case where we'd see this statement?

If so, I suggest "We stopped building the target because we're only preparing the build dir for --shell"

If not, "i.e." should be "e.g."

// The available states for a target.
// The available states for a target. States with higher integer values are always later on, or at the same point in the
// target lifecycle. This property is used to make sure we never transition a target backwards i.e. you can't go back
// to Active from Built.
const (
Inactive BuildTargetState = iota // Target isn't used in current build
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: please add trailing full stops consistently

Built // Target has been successfully built. The target wasn't cached in any way.
Cached // Target has been retrieved from the build cache, but was not found in plz-out
Unchanged // Target has been re-built (e.g. because the input or rule hash changed) but the outputs didn't change since last build
Reused // Outputs of previous build have been reused i.e. the outputs in plz-out were up-to-date
BuiltRemotely // Target has been built but outputs are not necessarily local.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does "not necessarily local" mean? Not necessarily available in plz-out?

Stopped // We stopped building the target because we'd gone as far as needed i.e. because we're only preparing the build dir for --shell
Built // Target has been successfully built. The target wasn't cached in any way.
Cached // Target has been retrieved from the build cache, but was not found in plz-out
Unchanged // Target has been re-built (e.g. because the input or rule hash changed) but the outputs didn't change since last build
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Unchanged // Target has been re-built (e.g. because the input or rule hash changed) but the outputs didn't change since last build
Unchanged // Target has been re-built (e.g. because the input or rule hash changed) but the outputs didn't change since the last build

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants