-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Validation of codestart artifacts configured in extension descriptors #15862
Validation of codestart artifacts configured in extension descriptors #15862
Conversation
d193de9
to
b94d189
Compare
Unfortunately, I did not isolate the artifact id fix, so this is not good for backport. |
@famod so, I went ahead and removed all the dependencies from the The other issue introduced by this PR is that each extension (in this repo) may reference a codestart artifact, which typically will be |
Actually, I guess, the codestart artifact doesn't actually need to be resolvable (i.e. built) before the extension descriptor is generated. I was thinking I could simply check whether either the project producing the codestart artifact is found in the reactor or, if it isn't, it is resolvable. This could avoid the hard build ordering. But it would still have to be present in the reactor. |
b94d189
to
c9219c4
Compare
@aloubyansky maybe we should make another PR to be backported (for the wrong |
We could extract the fix, yes. |
@aloubyansky will it be enough to have the artifact correct without the new code which add the classifier & version? |
7028980
to
2d8e590
Compare
Well, it seems we now don't need that
So, for incremental builds, we do not have to "disable" all the dependencies from I can move those dependencies out of the profile via a separate PR or you can do it in this PR. If you do, please also remove this bit: |
@aloubyansky and about this:
This would mean that a change to PS: Such a profile would mean that we need to retain that |
Right. We just need the devtools IT (maven, gradle, devtools) to depend on the codestarts artifact. |
Actually, the json descriptor artifact has the same requirement as the codestarts above from testing perspective. |
2d8e590
to
1976e57
Compare
@famod I think there is an issue with the
in the
in the
and then fails to resolve the deployment, of course. It shouldn't be assuming that this pom dependency pattern is reserved for extension artifacts. Would that be difficult to fix? Thanks. |
@aloubyansky But it will still add a non-deployment dependency (without exclusions) and I think this is ok. Those deps won't be really used anyway. So best just adjust the script but don't touch the pom and run the script. |
I could just add that in place of the pom one, right? |
If you want to do it manually you can of course do it. Or you can just watch what happens when you run the script. 😉 There is also another approach: |
If I leave the "runtime" one, it still adds the deployment one apparently. |
Have you added |
No, i thought it wouldn't be necessary. |
You must tell the script to either ignore it only for the deployment part or entirely (manual addition is then required). |
Rationale: The script is extracting all Quarkus artifact ids from all gradle build files, applies a filter (=line deletions), creates "runtime" dep entries and then applies another filter and adds deployment dep entries. |
Why is adding the
though? |
Because it is not yet filtered (unless you added the line deletion expression already). |
Ok, thanks! |
I should just remove it from build.gradle |
If it's not required, neither for the gradle test execution nor for the maven build order, then it should go. |
The artifact must be built for the gradle testsuite. |
Hm, the script simply removes it unless it's in build.gradle. |
1976e57
to
3d037ba
Compare
It won't if you put it before <!-- START update-dependencies.sh --> or after <!-- END update-dependencies.sh --> |
…, renamed quarkus-platform-descriptor-json to quarkus-core-codestarts, support loading codestarts referenced from extension metadata, an option to validate codestart artifact referenced from the extension metadata
3d037ba
to
3e8481e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking great!
We will still need to move the codestarts/quarkus/core
and codestarts/quarkus-jbang
codestarts to devtools-common
so we only keep the extensions codestarts in quarkus-project-core-extension-codestarts
. The reason is also that those codestarts are more tied to the api so better bring them alongside it..
io.quarkus:quarkus-descriptor-json
toio.quarkus:quarkus-platform-descriptor-json
that actually exists.