B. Incorrect: Shelving your changes doesn't create metadata for those changes.
C. Incorrect: Checking in changes to source control doesn't affect the metadata.
D. Correct: Building is what creates the metadata to reflect your code, and the metadata is what finance and operations apps uses to define its behaviors.