phing icon indicating copy to clipboard operation
phing copied to clipboard

FileSet erroronmissingdir attribute does not work

Open demiankatz opened this issue 1 year ago • 0 comments

Describe the bug In version 3.0.0, the erroronmissingdir of FileSet does not work. It is a documented setting, but when I add the attribute to my FileSet, Phing fails with Phing\Type\FileSet doesn't support the 'erroronmissingdir' attribute. I took a look at the code and found that there is an errorOnMissingDir property in the AbstractFileSet class; the error seems to be caused by a missing getter. I tried editing the class to add this getter:

    public function setErrorOnMissingDir($errorOnMissingDir)
    {
        $this->errorOnMissingDir = $errorOnMissingDir;
    }

This eliminates the error message, but the property seems to have no effect -- even though it defaults to false, I seem to always get the "true" behavior. I want to be able to get an empty file set if pointing at a non-existent directory.

Steps To Reproduce This is the task in my build.xml that is failing.

  <target name="import_authorities" description="import all authority test records">
    <foreach param="relfilename" absparam="filename" target="importauthrec">
      <fileset dir="${marc_authority_dir}" erroronmissingdir="false">
          <include name="*.mrc" />
      </fileset>
    </foreach>
  </target>

Expected behavior

I expected the attribute to be supported and to work as documented, instead of to be unsupported and not work at all.

Additional context

Please let me know if I can do anything more to help, and thanks for Phing, which has been a valuable tool for my project. This is not an emergency as I'm sure I can work around the limitation -- but it would be nice to have all documented features working correctly in future.

demiankatz avatar Aug 09 '24 12:08 demiankatz