Repository: quarkusio/quarkus
Issue: Failed to startup quarkusDev with gradle + kotlin with subprojects

**Describe the bug**
When use a gradle config with multi-project and kotlin the quarkusDev not starts and a exception is trowed.

**Expected behavior**
Startup the quarkusDev without exception

**Actual behavior**
An exception is trowed at quarkusDev startup

```
Listening for transport dt_socket at address: 5005
Exception in thread "main" java.lang.RuntimeException: java.nio.file.NoSuchFileException: /home/killboard/Dropbox/MovilePay/Projects/quarkus-kt-gradle-multiprojects/core/src/main/java
        at io.quarkus.dev.DevModeMain.main(DevModeMain.java:71)
Caused by: java.nio.file.NoSuchFileException: /home/killboard/Dropbox/MovilePay/Projects/quarkus-kt-gradle-multiprojects/core/src/main/java
        at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
        at sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55)
        at sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:144)
        at sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:99)
        at java.nio.file.Files.readAttributes(Files.java:1737)
        at java.nio.file.FileTreeWalker.getAttributes(FileTreeWalker.java:219)
        at java.nio.file.FileTreeWalker.visit(FileTreeWalker.java:276)
        at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:322)
        at java.nio.file.FileTreeIterator.<init>(FileTreeIterator.java:72)
        at java.nio.file.Files.walk(Files.java:3574)
        at java.nio.file.Files.walk(Files.java:3625)
        at io.quarkus.dev.RuntimeUpdatesProcessor.checkForChangedClasses(RuntimeUpdatesProcessor.java:173)
        at io.quarkus.dev.DevModeMain.start(DevModeMain.java:92)
        at io.quarkus.dev.DevModeMain.main(DevModeMain.java:67)

```

Apparently it try to find a java class but the project is in kotlin.


**To Reproduce**
Steps to reproduce the behavior:
1. clone the repository https://github.com/killboard/quarkus-kt-gradle-multiproject
2. uncomment the line described in README
3. run `gradlew quarkusDev`

**WorkAround**
Is possible to run `quarkusDev` as a workaround creating a empty `Java` class in a java source package.


Changed files:
devtools/gradle/src/main/java/io/quarkus/gradle/tasks/QuarkusDev.java

diff --git a/devtools/gradle/src/main/java/io/quarkus/gradle/tasks/QuarkusDev.java b/devtools/gradle/src/main/java/io/quarkus/gradle/tasks/QuarkusDev.java
index dd44ca5a174..735f6cfeec4 100644
--- a/devtools/gradle/src/main/java/io/quarkus/gradle/tasks/QuarkusDev.java
+++ b/devtools/gradle/src/main/java/io/quarkus/gradle/tasks/QuarkusDev.java
@@ -271,9 +271,6 @@ public void startDev() {
                     continue;
                 }
 
-                final AppArtifact appArtifact = AppModelGradleResolver.toAppArtifact(dependency);
-                final AppArtifactKey key = new AppArtifactKey(appArtifact.getGroupId(), appArtifact.getArtifactId());
-                projectDependencies.add(key);
                 Project dependencyProject = project.getRootProject()
                         .findProject(((ProjectComponentIdentifier) componentId).getProjectPath());
                 JavaPluginConvention javaConvention = dependencyProject.getConvention().findPlugin(JavaPluginConvention.class);
@@ -286,7 +283,12 @@ public void startDev() {
                 Set<String> sourcePaths = new HashSet<>();
 
                 for (File sourceDir : mainSourceSet.getAllJava().getSrcDirs()) {
-                    sourcePaths.add(sourceDir.getAbsolutePath());
+                    if (sourceDir.exists()) {
+                        sourcePaths.add(sourceDir.getAbsolutePath());
+                    }
+                }
+                if (sourcePaths.isEmpty()) {
+                    continue;
                 }
 
                 String resourcePaths = mainSourceSet.getResources().getSourceDirectories().getSingleFile().getAbsolutePath(); //TODO: multiple resource directories
@@ -299,6 +301,10 @@ public void startDev() {
                         resourcePaths);
 
                 context.getModules().add(wsModuleInfo);
+
+                final AppArtifact appArtifact = AppModelGradleResolver.toAppArtifact(dependency);
+                final AppArtifactKey key = new AppArtifactKey(appArtifact.getGroupId(), appArtifact.getArtifactId());
+                projectDependencies.add(key);
             }
 
             for (AppDependency appDependency : appModel.getFullDeploymentDeps()) {