Util.getThemesDirectory() at https://github.com/johndevs/gradle-vaadin-plugin/blob/master/src/main/groovy/com/devsoap/plugin/Util.groovy#L577 roots the themesDirectory in project.rootDir if the path is relative. That doesn't work well if the theme is built in a sub-project rooted in, say, mythemeproject dir.
The vaadinThemeCompile task will then incorrectly report that the task is up-to-date, which makes the bug more mysterious. The --rerun-tasks helps and makes the task execute and print Found 0 themes, which leads to this bug.
Workaround is to include the sub-project path in the themesDirectory itself, e.g. mythemeproject/src/main/resources/VAADIN/themes.
A fix would be to change rootDir to projectDir in the plugin's Util.groovy:577.