private void addIncludeDir(Node includeNode) {
        if (! (includeNode instanceof Element))
            return;
        Element include = (Element) includeNode;
        if (! include.hasAttribute(IncludeDirs.DIR))
            return;
        String dir = include.getAttribute(IncludeDirs.DIR);
        validateIncludeDir(dir);
        IncludeDirs.validateFilesInIncludedDir(dir, include.getParentNode(), this);
        log.log(Level.FINE, () -> "Adding user include dir '" + dir + "'");
        userIncludeDirs.add(dir);
    }
New package from given path on local file system. Retrieves config definition files from
the default location '$VESPA_HOME/share/vespa/configdefinitions'.

@param appDir application package directory
@param preprocessedDir preprocessed application package output directory
@param metaData metadata for this application package
@param includeSourceFiles include files from source dirs
config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java