When org-publish-project-alist has both :base-extension any and :recursive t set, the publish fails with "(wrong-type-argument stringp nil)" in a call to string-match in directory-files-recursively.
It looks like org-publish-get-base-files should set match to "" rather than nil when :base-extension is any. In my minimal testing this works fine for me, but I'll leave it to the experts to figure out if that would negatively affect other things. Org mode version 9.1.1 (9.1.1-1-g80cbf9-elpaplus @ /Users/xxxx/.emacs.d/elpa/org-plus-contrib-20170918/) (I have two projects: one to publish the org files to HTML, and one for everything else that doesn't meet some exclusion criteria. There may or may not be a better way to do this, but the combination of :base-extension any, :recursive t, and an :exclude regexp was the first thing to come to mind.) -- Keith Sutton