File credentials can't be used in Declarative environment variables

Details

Description

Because we don't add credentials requiring a workspace (i.e., file credentials) to the environment at the initial resolution time, and because we actually process credentials for real after we populate the environment at runtime, an attempt to use the path of a file credential inside another environment variable fails. i.e.,

environment {
CREDENTIALS_PATH = credentials('MY_SECRET_FILE') // this should result in CREDENTIALS_PATH containing the path to the file
ARGS = "--path=${CREDENTIALS_PATH}"// this should result in ARGS containing the path within CREDENTIALS_PATH
}

will result in

groovy.lang.MissingPropertyException: No such property: CREDENTIALS_PATH for class: groovy.lang.Binding