I have a parameterized build job that defines multiple string parameters. The main build step in that job is "Invoke Ant".
Even though I do not define any "Properties" under "Invoke Ant", all of my job parameters are being passed to ant using "-D<Name>=<Value>". That is fine, except when one of my string parameters is blank. In that case Jenkins passes ant "-D<Name>=", which causes ant to barf.
If a job parameter is blank then either it should not be passed to ant, or (probably better) a quoted empty string ("") should be passed to ant.
Attached are a trivial ant build.xml and Jenkins config.xml that demonstrate the problem.
Here is a sample Console Output:
Building remotely on iqautobuild14 in workspace F:\Jenkins\workspace\AntJobWithProperty
[AntJobWithProperty] $ cmd.exe /C "F:\Jenkins\tools\hudson.tasks.Ant_AntInstallation\Ant_from_Apache_\bin\ant.bat -DMY_VAR= && exit %%ERRORLEVEL%%"
Missing value for property MY_VAR
Build step 'Invoke Ant' marked build as failure
Note that this issue appears to be the same as
JENKINS-5157 and JENKINS-7204 (among others), but those issues are supposedly fixed already. Either there is a subtle difference here that I do not understand, or Jenkins has suffered a regression.