Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support of several resource and test resource folders in dev mode #17184

Merged
merged 2 commits into from
May 20, 2021

Conversation

essobedo
Copy link
Contributor

@essobedo essobedo commented May 12, 2021

fixes #10298

Motivation

So far, the dev mode supports at most one resource folder and one test resource folder. In some particular use cases, it can helpful to have more than one resource folder. For example to refer common resources from a parent directory or in case you use an external yaml configuration file that you don't want to ship in the final artifact but you want to use for the dev mode.

Modifications

  • Uses a PathsCollection instead of a String for the resource and test resource folders
  • Replaces Set of File or path with PathsCollection
  • Uses LinkedHashSet as Set implementation to keep the original order
  • Includes the resource folders and the test resources folders of the active profiles too

@quarkus-bot quarkus-bot bot added area/core area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/gradle Gradle area/maven area/testing labels May 12, 2021
@glefloch glefloch requested a review from aloubyansky May 12, 2021 17:21
@essobedo essobedo marked this pull request as ready for review May 12, 2021 18:56
@quarkus-bot
Copy link

quarkus-bot bot commented May 12, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building 76eddb4

Status Name Step Test failures Logs Raw logs
Initial JDK 11 Build Build ⚠️ Check → Logs Raw logs

@essobedo essobedo force-pushed the multiple-resources-dirs branch from 76eddb4 to 87d99fc Compare May 12, 2021 20:55
if (Files.isDirectory(testResourcesSourcesDir)) {
testResourcePath = testResourcesSourcesDir.toAbsolutePath().toString();
resourcePaths = localProject.getResourcesSourcesDirs().stream()
.filter(Files::isDirectory)
Copy link
Contributor Author

@essobedo essobedo May 12, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I kept this filter to match with what was done before but do we rely need it? This will filter out non existing folders that could be added later while developing using the dev mode.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe a better test could be notExists || isDirectory?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not 100% sure but that may have been the intention to filter out dirs that don't exist.

Copy link
Contributor Author

@essobedo essobedo May 15, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If so it could be interesting to know why because in dev mode, you could want to add a new resource folder in the pom which would trigger an application restart then add a file in this new resource folder which won't be taken into account because of this filter (It is actually the scenario that I had in mind initially for the IT). Please also note that it seems to be inconsistent with Gradle according to what I understand from this part of the code, indeed it doesn't seem to apply any filter.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When a POM changes we re-calculate the model anyway. I think it should still work.
The Gradle impl will need to be fixed.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would depend on the order, it would only work if you created the directory then added it to the pom.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would depend on the order, it would only work if you created the directory then added it to the pom.

I confirm that it only works this way, if you modify the pom then create the directory it doesn't work that is why I was wondering if we could simply remove this filter because if we do it will work whatever the order.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aloubyansky so what do you want me to do finally ? Keep this filter as it is and add it to the gradle part or remove it?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess if it doesn't break anything it can be removed. I guess a comment about this use-case could be useful.

@quarkus-bot
Copy link

quarkus-bot bot commented May 12, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building 87d99fc

Status Name Step Test failures Logs Raw logs
Initial JDK 11 Build Build ⚠️ Check → Logs Raw logs

@@ -0,0 +1 @@
# Just to be able to commit this empty folder needed for the test
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should not be needed if we don't filter out missing directories

@essobedo essobedo force-pushed the multiple-resources-dirs branch from 87d99fc to 031630f Compare May 13, 2021 04:49
@quarkus-bot
Copy link

quarkus-bot bot commented May 13, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building 031630f

Status Name Step Test failures Logs Raw logs
Initial JDK 11 Build Build ⚠️ Check → Logs Raw logs

@essobedo essobedo force-pushed the multiple-resources-dirs branch 2 times, most recently from 59ca8cc to baf154c Compare May 13, 2021 07:04
@quarkus-bot
Copy link

quarkus-bot bot commented May 13, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building baf154c

Status Name Step Test failures Logs Raw logs
Initial JDK 11 Build Build ⚠️ Check → Logs Raw logs

@quarkus-bot
Copy link

quarkus-bot bot commented May 13, 2021

This workflow status is outdated as a new workflow run has been triggered.

🚫 This workflow run has been cancelled.

Failing Jobs - Building 59ca8cc

⚠️ Artifacts of the workflow run were not available thus the report misses some details.

Status Name Step Test failures Logs Raw logs
JVM Tests - JDK 11 Build ⚠️ Check → Logs Raw logs
JVM Tests - JDK 11 Windows Build ⚠️ Check → Logs Raw logs
JVM Tests - JDK 16 Build ⚠️ Check → Logs Raw logs

@essobedo essobedo force-pushed the multiple-resources-dirs branch from baf154c to a16ece5 Compare May 13, 2021 07:13
@quarkus-bot
Copy link

quarkus-bot bot commented May 13, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building a16ece5

Status Name Step Test failures Logs Raw logs
MicroProfile TCKs Tests Verify Test failures Logs Raw logs

Full information is available in the Build summary check run.

Test Failures

⚙️ MicroProfile TCKs Tests #

📦 tcks/microprofile-fault-tolerance

org.eclipse.microprofile.fault.tolerance.tck.TimeoutUninterruptableTest.testTimeoutAsyncBulkhead line 190 - More details - Source on GitHub

@essobedo
Copy link
Contributor Author

The build failure doesn't seem to be related to this PR since the tck passes locally. Maybe it is a random failure

@essobedo
Copy link
Contributor Author

Hi @aloubyansky and/or @stuartwdouglas WDYT of this PR?

@@ -228,20 +230,28 @@ public Path getSourcesDir() {
return getSourcesSourcesDir().getParent();
}

public Path getResourcesSourcesDir() {
public Set<Path> getResourcesSourcesDirs() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

About using Sets here and a few other places that represent resources of a single module, these paths will be used to compose a classpath, so it make it consistent, shouldn't we always use Lists instead? Is there really a high chance of finding duplicates in it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can change it for List everywhere if needed but I decided to use Set instead because:

  1. I realized that in many places in this part of the code, Sets are used when a collection is needed like for example in SourceSet/SourceSetImpl or sourcePaths in DevMode
  2. We could have duplicates for source directories for example when we use filtering and we would like to enable filtering for specific files only like this example

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now I'm wondering why we are using Set<File> in SourceSet when we already have https://github.com/quarkusio/quarkus/blob/main/independent-projects/bootstrap/app-model/src/main/java/io/quarkus/bootstrap/model/PathsCollection.java
Which could be enhanced to not add duplicates. While duplicate paths are possible I guess that'll still be rear. Another guess is that it's also unlikely we'll have to deal with more than a few resources dirs, in which case lists are more efficient than sets even for contains(item).
@stuartwdouglas do you see a problem switching to a list-based collection?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should just define PathsCollection as an ordered collection of paths that does not contain duplicates and use it everywhere.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should probably also be renamed to PathCollection.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like they are in a separate commit, right? If so then, IMO, it should be ok in case we want to revert it for some reason after the merge.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes I separated the commits intentionally as I anticipated a little bit this possibility

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you have it all working then I am fine with it, I didn't look at the current state before I commented.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because of the run task of Gradle, the methods of SourceSet need to return interface types to be able to create proxies on top of it otherwise you get error of the next type. I think that I have no other choices but to convert PathsCollection into an interface, Is that ok with you?

2021-05-18T11:24:09.3755726Z     Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
2021-05-18T11:24:09.3757359Z     	at io.quarkus.launcher.QuarkusLauncher.launch(QuarkusLauncher.java:58)
2021-05-18T11:24:09.3758732Z     	at io.quarkus.runtime.Quarkus.launchFromIDE(Quarkus.java:96)
2021-05-18T11:24:09.3759816Z     	at io.quarkus.runtime.Quarkus.run(Quarkus.java:83)
2021-05-18T11:24:09.3761347Z     	at io.quarkus.runtime.Quarkus.run(Quarkus.java:42)
2021-05-18T11:24:09.3762280Z     	at io.quarkus.runtime.Quarkus.run(Quarkus.java:119)
2021-05-18T11:24:09.3763157Z     	at org.acme.EntryPoint.main(EntryPoint.java:9)
2021-05-18T11:24:09.3764548Z     Caused by: java.lang.reflect.InvocationTargetException
2021-05-18T11:24:09.3766148Z     	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2021-05-18T11:24:09.3768290Z     	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2021-05-18T11:24:09.3770650Z     	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2021-05-18T11:24:09.3772555Z     	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
2021-05-18T11:24:09.3773843Z     	at io.quarkus.launcher.QuarkusLauncher.launch(QuarkusLauncher.java:56)
2021-05-18T11:24:09.3775191Z     	... 5 more
2021-05-18T11:24:10.1218864Z     Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: io.quarkus.bootstrap.model.PathsCollection is not an interface
2021-05-18T11:24:10.1234536Z     	at io.quarkus.bootstrap.IDELauncherImpl.launch(IDELauncherImpl.java:85)
2021-05-18T11:24:10.1235855Z     	... 10 more
2021-05-18T11:24:10.1237283Z     Caused by: java.lang.IllegalArgumentException: io.quarkus.bootstrap.model.PathsCollection is not an interface
2021-05-18T11:24:10.1239583Z     	at java.base/java.lang.reflect.Proxy$ProxyBuilder.validateProxyInterfaces(Proxy.java:688)
2021-05-18T11:24:10.1241123Z     	at java.base/java.lang.reflect.Proxy$ProxyBuilder.<init>(Proxy.java:627)
2021-05-18T11:24:10.1242321Z     	at java.base/java.lang.reflect.Proxy$ProxyBuilder.<init>(Proxy.java:635)
2021-05-18T11:24:10.1243802Z     	at java.base/java.lang.reflect.Proxy.lambda$getProxyConstructor$0(Proxy.java:415)
2021-05-18T11:24:10.1249164Z     	at java.base/jdk.internal.loader.AbstractClassLoaderValue$Memoizer.get(AbstractClassLoaderValue.java:329)
2021-05-18T11:24:10.1252515Z     	at java.base/jdk.internal.loader.AbstractClassLoaderValue.computeIfAbsent(AbstractClassLoaderValue.java:205)
2021-05-18T11:24:10.1258098Z     	at java.base/java.lang.reflect.Proxy.getProxyConstructor(Proxy.java:413)
2021-05-18T11:24:10.1260384Z     	at java.base/java.lang.reflect.Proxy.newProxyInstance(Proxy.java:1006)
2021-05-18T11:24:10.1264309Z     	at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter.createView(ProtocolToModelAdapter.java:160)
2021-05-18T11:24:10.1267630Z     	at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter.convert(ProtocolToModelAdapter.java:276)
2021-05-18T11:24:10.1280517Z     	at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter.access$1500(ProtocolToModelAdapter.java:56)
2021-05-18T11:24:10.1283751Z     	at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$AdaptingMethodInvoker.invoke(ProtocolToModelAdapter.java:477)
2021-05-18T11:24:10.1287361Z     	at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$PropertyCachingMethodInvoker.invoke(ProtocolToModelAdapter.java:705)
2021-05-18T11:24:10.1290567Z     	at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$SafeMethodInvoker.invoke(ProtocolToModelAdapter.java:742)
2021-05-18T11:24:10.1305810Z     	at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$SupportedPropertyInvoker.invoke(ProtocolToModelAdapter.java:766)
2021-05-18T11:24:10.1309379Z     	at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$InvocationHandlerImpl.invoke(ProtocolToModelAdapter.java:432)
2021-05-18T11:24:10.1311418Z     	at com.sun.proxy.$Proxy17.getSourceDirectories(Unknown Source)
2021-05-18T11:24:10.1312963Z     	at io.quarkus.bootstrap.util.QuarkusModelHelper.convert(QuarkusModelHelper.java:147)
2021-05-18T11:24:10.1315315Z     	at io.quarkus.bootstrap.util.QuarkusModelHelper.serializeAppModel(QuarkusModelHelper.java:62)
2021-05-18T11:24:10.1317757Z     	at io.quarkus.bootstrap.util.QuarkusModelHelper.exportModel(QuarkusModelHelper.java:50)
2021-05-18T11:24:10.1353249Z     	at io.quarkus.bootstrap.utils.BuildToolHelper.enableGradleAppModelForDevMode(BuildToolHelper.java:120)
2021-05-18T11:24:10.1355698Z     	at io.quarkus.bootstrap.IDELauncherImpl.launch(IDELauncherImpl.java:41)

The corresponding logs

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, right. Yes.

@quarkus-bot quarkus-bot bot added area/arc Issue related to ARC (dependency injection) area/kotlin area/scala labels May 17, 2021
@quarkus-bot
Copy link

quarkus-bot bot commented May 17, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building 6ad1612

Status Name Step Test failures Logs Raw logs
Devtools Tests - JDK 11 Build Test failures Logs Raw logs
Devtools Tests - JDK 11 Windows Build Test failures Logs Raw logs
Gradle Tests - JDK 11 Build ⚠️ Check → Logs Raw logs
Gradle Tests - JDK 11 Windows Build ⚠️ Check → Logs Raw logs
JVM Tests - JDK 11 Build Test failures Logs Raw logs
JVM Tests - JDK 11 Windows Build Test failures Logs Raw logs
✔️ JVM Tests - JDK 16

Full information is available in the Build summary check run.

Test Failures

⚙️ Devtools Tests - JDK 11 #

📦 integration-tests/devtools

io.quarkus.devtools.codestarts.quarkus.QuarkusCodestartBuildIT.testGradle(String)[1] line 75 - More details - Source on GitHub

io.quarkus.devtools.codestarts.quarkus.QuarkusCodestartBuildIT.testGradle(String)[2] line 75 - More details - Source on GitHub

io.quarkus.devtools.codestarts.quarkus.QuarkusCodestartBuildIT.testGradle(String)[3] line 75 - More details - Source on GitHub

io.quarkus.devtools.codestarts.quarkus.QuarkusCodestartBuildIT.testGradleKotlinDSL(String)[1] line 83 - More details - Source on GitHub

io.quarkus.devtools.codestarts.quarkus.QuarkusCodestartBuildIT.testGradleKotlinDSL(String)[2] line 83 - More details - Source on GitHub

io.quarkus.devtools.codestarts.quarkus.QuarkusCodestartBuildIT.testGradleKotlinDSL(String)[3] line 83 - More details - Source on GitHub


⚙️ Devtools Tests - JDK 11 Windows #

📦 integration-tests/devtools

io.quarkus.devtools.codestarts.quarkus.QuarkusCodestartBuildIT.testGradle(String)[1] line 75 - More details - Source on GitHub

io.quarkus.devtools.codestarts.quarkus.QuarkusCodestartBuildIT.testGradle(String)[2] line 75 - More details - Source on GitHub

io.quarkus.devtools.codestarts.quarkus.QuarkusCodestartBuildIT.testGradle(String)[3] line 75 - More details - Source on GitHub

io.quarkus.devtools.codestarts.quarkus.QuarkusCodestartBuildIT.testGradleKotlinDSL(String)[1] line 83 - More details - Source on GitHub

io.quarkus.devtools.codestarts.quarkus.QuarkusCodestartBuildIT.testGradleKotlinDSL(String)[2] line 83 - More details - Source on GitHub

io.quarkus.devtools.codestarts.quarkus.QuarkusCodestartBuildIT.testGradleKotlinDSL(String)[3] line 83 - More details - Source on GitHub


⚙️ JVM Tests - JDK 11 #

📦 devtools/cli

io.quarkus.cli.CliTest.testGradleBuild line 318 - More details - Source on GitHub


⚙️ JVM Tests - JDK 11 Windows #

📦 devtools/cli

io.quarkus.cli.CliTest.testGradleBuild line 318 - More details - Source on GitHub

@essobedo essobedo force-pushed the multiple-resources-dirs branch 2 times, most recently from ab84c01 to 42c0337 Compare May 18, 2021 08:29
@aloubyansky
Copy link
Member

If I move, e.g. Dependency and DependencyImpl from the gradle-resolver to app-model, the test will fail on them in the same way.

@essobedo
Copy link
Contributor Author

Good to know, I will move the interface tomorrow

@quarkus-bot
Copy link

quarkus-bot bot commented May 18, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building a9bc97f

Status Name Step Test failures Logs Raw logs
Gradle Tests - JDK 11 Build Test failures Logs Raw logs
Gradle Tests - JDK 11 Windows Build Test failures Logs Raw logs

Full information is available in the Build summary check run.

Test Failures

⚙️ Gradle Tests - JDK 11 #

📦 integration-tests/gradle

io.quarkus.gradle.builder.QuarkusModelBuilderTest.shouldLoadMultiModuleModel() line 59 - More details - Source on GitHub

io.quarkus.gradle.builder.QuarkusModelBuilderTest.shouldLoadSimpleModuleModel() line 46 - More details - Source on GitHub


⚙️ Gradle Tests - JDK 11 Windows #

📦 integration-tests/gradle

io.quarkus.gradle.builder.QuarkusModelBuilderTest.shouldLoadMultiModuleModel() line 59 - More details - Source on GitHub

io.quarkus.gradle.builder.QuarkusModelBuilderTest.shouldLoadSimpleModuleModel() line 46 - More details - Source on GitHub

@aloubyansky
Copy link
Member

You mean moving PathsCollection to the gradle-resolver? It doesn't seems like a good idea. I'd prefer moving the QuarkusModel to the app-model, assuming it works, I'll check today. I'm puzzled what makes the gradle-resolver module special. It looks like it really prevents us having a common app model API between Maven and Gradle.

@aloubyansky
Copy link
Member

Ok, moving all the interfaces and the impl classes to the app-model works. Weird. But ok. We should move all the "model" interfaces and impl in the app-model then.
@essobedo I can do the move today if you don't mind waiting a bit? I have another PR that is affected by this.

@essobedo
Copy link
Contributor Author

@aloubyansky I can do it if you want in a separated commit within the context of this PR, WDYT?

@aloubyansky
Copy link
Member

I just already have it moved in my branch already. I didn't touch the PathsCollection though. I just need to push it.

@essobedo
Copy link
Contributor Author

@aloubyansky ok then ping me when it's merged

@aloubyansky
Copy link
Member

@essobedo it's in

@essobedo essobedo force-pushed the multiple-resources-dirs branch from a9bc97f to ca25d8d Compare May 19, 2021 13:10
@essobedo
Copy link
Contributor Author

@aloubyansky rebase done, let's see if it works now

@quarkus-bot
Copy link

quarkus-bot bot commented May 19, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building ca25d8d

Status Name Step Test failures Logs Raw logs
Initial JDK 11 Build Build ⚠️ Check → Logs Raw logs

@essobedo essobedo force-pushed the multiple-resources-dirs branch from ca25d8d to ef54b02 Compare May 19, 2021 13:36
@quarkus-bot
Copy link

quarkus-bot bot commented May 19, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building ef54b02

Status Name Step Test failures Logs Raw logs
Gradle Tests - JDK 11 Build Test failures Logs Raw logs
Gradle Tests - JDK 11 Windows Build Test failures Logs Raw logs
✔️ JVM Tests - JDK 11
JVM Tests - JDK 11 Windows Build Test failures Logs Raw logs
✔️ JVM Tests - JDK 16

Full information is available in the Build summary check run.

Test Failures

⚙️ Gradle Tests - JDK 11 #

📦 integration-tests/gradle

io.quarkus.gradle.builder.QuarkusModelBuilderTest.shouldLoadMultiModuleModel() line 65 - More details - Source on GitHub

io.quarkus.gradle.builder.QuarkusModelBuilderTest.shouldLoadSimpleModuleModel() line 50 - More details - Source on GitHub


⚙️ Gradle Tests - JDK 11 Windows #

📦 integration-tests/gradle

io.quarkus.gradle.builder.QuarkusModelBuilderTest.shouldLoadMultiModuleModel() line 65 - More details - Source on GitHub

io.quarkus.gradle.builder.QuarkusModelBuilderTest.shouldLoadSimpleModuleModel() line 50 - More details - Source on GitHub


⚙️ JVM Tests - JDK 11 Windows #

📦 integration-tests/resteasy-reactive-rest-client-standalone

io.quarkus.it.rest.client.BasicTest.shouldWork - More details - Source on GitHub

@essobedo essobedo force-pushed the multiple-resources-dirs branch from ef54b02 to f7094fd Compare May 19, 2021 20:17
@quarkus-bot
Copy link

quarkus-bot bot commented May 19, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building f7094fd

Status Name Step Test failures Logs Raw logs
Gradle Tests - JDK 11 Build Test failures Logs Raw logs
Gradle Tests - JDK 11 Windows Build Test failures Logs Raw logs

Full information is available in the Build summary check run.

Test Failures

⚙️ Gradle Tests - JDK 11 #

📦 integration-tests/gradle

io.quarkus.gradle.builder.QuarkusModelBuilderTest.shouldLoadSimpleModuleModel() line 50 - More details - Source on GitHub


⚙️ Gradle Tests - JDK 11 Windows #

📦 integration-tests/gradle

io.quarkus.gradle.builder.QuarkusModelBuilderTest.shouldLoadSimpleModuleModel() line 50 - More details - Source on GitHub

@essobedo essobedo force-pushed the multiple-resources-dirs branch from f7094fd to 15145b7 Compare May 20, 2021 12:36
@essobedo
Copy link
Contributor Author

@aloubyansky It should be fine now, the Gradle tests pass locally so I think that the PR is ready for review

@essobedo
Copy link
Contributor Author

At last, the build is finally green 😅

@aloubyansky
Copy link
Member

Congrats!

Set<String> sourceParents = new HashSet<>();
for (File srcDir : module.getSourceSourceSet().getSourceDirectories()) {
sourceDirectories.add(srcDir.getPath());
final Set<Path> sourceParents = new LinkedHashSet<>();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not create PathsCollection directly here? Is it because it still allows duplicates?

@aloubyansky aloubyansky merged commit bce6a9e into quarkusio:main May 20, 2021
@quarkus-bot quarkus-bot bot added this to the 2.0 - main milestone May 20, 2021
@aloubyansky
Copy link
Member

Thanks @essobedo, great work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/arc Issue related to ARC (dependency injection) area/core area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/gradle Gradle area/kotlin area/maven area/scala area/testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enable quarkus:dev to hot-reload resources from non-standard paths
4 participants