When attempting to get the job type working on mental ray 3.10, I came across this bug in the mentalray type. This is version 6.4.4.
In MentalrayJob.pm on line 700, the min version for mental ray is pulled from the mi file:
if(/^\s*min version\s+"(.*)"/) {
$min_version = $1;
}
In order to handle the new 'filename' keyword in versions of mental ray newer than 3.7, there is a condition:
if($min_version >= 3.7) {
# NEW in mental ray 3.7: output file in .mi is now
# specified as in: 'filename "ooga.0001.iff"'
if(/^\s*filename\s+"(.*)"/) {
push @outfiles, $1;
}
}
The problem is that in 3.10, the min version is 3.10, which is less than 3.7 when compared numerically. This causes the code to fall to the sub 3.7 block, which checks the 'output' keyword.
I noticed this failing because the output keyword had colons in it, which broke when attempting to test directory creation on a Windows worker.
Since we know 100% that our workers will be running 3.10, I just modified the type to drop us in the filename block no matter what. Just figured I'd post it here in case anyone else came across a similar problem.