I am using the pre-scm-buildstup plugin. I need to first run a script to build a value that will be assigned to an env var. I was going to do this by running the script and creating a properties file. But envinject first does property bindings and then runs the scripts. pre-scm lets me create two build steps, the first a script, then envinject.
If I might make a suggestion. It might be better that if pre-scm-buildstep is present, to make envinject available only through it. That is, add "Prepare an environment for the job", only if pre-scm-buildstep is not present. Ditto "Inject environment variables to the build process". Just make it a build step. In which case you can get rid of the script bits, because both pre-scm and buildstep already have script steps. And rather than two parts to the envinject u/i, one for properties in a file and the second a textbox for them to be given in the u/i, you could make those separate steps. Would make the config page cleaner.
Also, "Prepare an environment for the job does not sound anything like "Inject environment variables to the build process". If you keep them, it would be nice if they sounded related.