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

Extension registry client API #15413

Conversation

aloubyansky
Copy link
Member

@aloubyansky aloubyansky commented Mar 2, 2021

This PR:

  • switches the devtools from the legacy QuarkusPlatformDescriptor based API to the new ExtensionCatalog API;
  • introduces the registry client API and switches Maven and Gradle plaugins and the CLI to use the registry client to resolve the catalog;
  • changes the platform descriptor JSON format.

Until the default community registry service is available I implemented a fallback to resolving the platform descriptors directly from the BOM coordinates.

Fixes #12422

@quarkus-bot quarkus-bot bot added area/cli Related to quarkus cli (not maven/gradle/etc.) area/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/documentation area/gradle Gradle area/jbang Issues related to when using jbang.dev with Quarkus area/kotlin area/maven area/platform Issues related to definition and interaction with Quarkus Platform area/scala area/testing labels Mar 2, 2021
@gsmet
Copy link
Member

gsmet commented Mar 2, 2021

Until the default community registry service is available I implemented a fallback to resolving the platform descriptors directly from the BOM coordinates.

Small comment on this: I think you will need to keep the fallback around. It's not obvious people will be able to access the registry in corporate environments (a lot of corporate environments have exceptions for Maven Central from what I saw these past months in user comments).

@aloubyansky aloubyansky force-pushed the individual-extensions-catalog-resolver branch 2 times, most recently from 1918828 to 6dd83a1 Compare March 2, 2021 20:38
ia3andy
ia3andy previously approved these changes Mar 3, 2021
@ia3andy ia3andy dismissed their stale review March 3, 2021 07:05

Just approved the change, not reviewed the full PR yet

@aloubyansky
Copy link
Member Author

Until the default community registry service is available I implemented a fallback to resolving the platform descriptors directly from the BOM coordinates.

Small comment on this: I think you will need to keep the fallback around. It's not obvious people will be able to access the registry in corporate environments (a lot of corporate environments have exceptions for Maven Central from what I saw these past months in user comments).

Interestingly, one of the reasons to use the Maven backend/interface was to make it easily/easier available in corporate environments. If our tools will end being limited to the platform extensions in (many) corp.env. or be painful to configure we should re-consider the approach. One way to make it available OOTB would be to publish the non-platform extension catalogs to the Maven Central repo.

Copy link
Contributor

@gastaldi gastaldi left a comment

Choose a reason for hiding this comment

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

I reviewed the changes on each of the 277 files impacted by this PR and they look decent. I request a couple of small changes though.

I have one suggestion: it would be nice to have a quarkus-devtools-registry-spi module containing the SPI classes required to be implemented in the server side of a Registry (eg. the registry.quarkus.io app)

@aloubyansky
Copy link
Member Author

I have one suggestion: it would be nice to have a quarkus-devtools-registry-spi module containing the SPI classes required to be implemented in the server side of a Registry (eg. the registry.quarkus.io app)

This PR doesn't really include anything that should be implemented on the server side. So, the module would be empty.

@aloubyansky aloubyansky force-pushed the individual-extensions-catalog-resolver branch from 6dd83a1 to 9b1c030 Compare March 3, 2021 17:43
@gastaldi gastaldi added the triage/needs-rebase This PR needs to be rebased first because it has merge conflicts label Mar 4, 2021
@gastaldi gastaldi force-pushed the individual-extensions-catalog-resolver branch from 9b1c030 to 2a19009 Compare March 4, 2021 18:49
@gastaldi
Copy link
Contributor

gastaldi commented Mar 4, 2021

Rebased since it introduced conflicts with 0d0bd91

@gastaldi gastaldi removed the triage/needs-rebase This PR needs to be rebased first because it has merge conflicts label Mar 4, 2021
@quarkus-bot quarkus-bot bot added the triage/needs-rebase This PR needs to be rebased first because it has merge conflicts label Mar 4, 2021
Copy link
Contributor

@gastaldi gastaldi left a comment

Choose a reason for hiding this comment

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

LGTM

@gastaldi gastaldi removed the triage/needs-rebase This PR needs to be rebased first because it has merge conflicts label Mar 4, 2021
…rm and/or non-platform extensions integrated into the command line devtools
@aloubyansky aloubyansky force-pushed the individual-extensions-catalog-resolver branch from 2a19009 to e33f4d7 Compare March 5, 2021 06:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/cli Related to quarkus cli (not maven/gradle/etc.) area/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/documentation area/gradle Gradle area/jbang Issues related to when using jbang.dev with Quarkus area/kotlin area/maven area/platform Issues related to definition and interaction with Quarkus Platform area/scala area/testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

review and enable registry mechanism
4 participants