{"record":{"id":"b6ba81e155df9c20","repo":"quarkusio/quarkus","slug":"unable-to-list-extension-categories","errorCode":null,"errorMessage":"Unable to list extension categories","messagePattern":"Unable to list extension categories","errorType":"exception","errorClass":"GradleException","httpStatus":null,"severity":"error","filePath":"devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusListCategories.java","lineNumber":68,"sourceCode":"            ListCategories listExtensions = new ListCategories(quarkusProject)\n                    .fromCli(isFromCli())\n                    .format(getFormat());\n            listExtensions.execute();\n\n            if (!fromCli) {\n                GradleMessageWriter log = messageWriter();\n\n                if (DEFAULT_FORMAT.equalsIgnoreCase(format)) {\n                    log.info(\"\");\n                    log.info(ListCategories.MORE_INFO_HINT, \"--format=full\");\n                }\n\n                log.info(\"\");\n                log.info(ListCategories.LIST_EXTENSIONS_HINT,\n                        \"`./gradlew listExtensions --category=\\\"categoryId\\\"`\");\n            }\n        } catch (Exception e) {\n            throw new GradleException(\"Unable to list extension categories\", e);\n        }\n    }\n}\n","sourceCodeStart":50,"sourceCodeEnd":72,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusListCategories.java#L50-L72","documentation":"The QuarkusListCategories Gradle task (./gradlew listExtensions --category=...) resolves the extension catalog and prints available categories. Any Exception raised while collecting or rendering the categories is wrapped in this GradleException, typically reflecting a failure to resolve the extension registry/catalog.","triggerScenarios":"Running ./gradlew listCategories when catalog resolution fails: no network access to registry.quarkus.io, misconfigured registry URL, or an invalid platform/BOM setup; raised in QuarkusListCategories.listCategories.","commonSituations":"Corporate proxies or firewalls blocking registry.quarkus.io; offline builds; quarkusRegistryClient/registry configuration errors in build config; wrong or unreachable platform versions; DNS failures on CI.","solutions":["Check network access to https://registry.quarkus.io (curl it) and configure proxy settings in gradle.properties (systemProp.https.proxyHost/Port).","Review the wrapped cause with --stacktrace to see the underlying resolution error.","Verify the Quarkus platform/BOM is correctly declared in build.gradle.","If using a custom registry, validate its URL in the build configuration.","Pre-populate the catalog by running the task once with network access, or use --offline with a warm cache."],"exampleFix":"// before: blocked by corporate proxy\n./gradlew listCategories\n// after: gradle.properties\nsystemProp.https.proxyHost=proxy.corp.com\nsystemProp.https.proxyPort=8080","handlingStrategy":"retry","validationCode":"// Check registry reachability before listing categories\ncurl -fsSL https://registry.quarkus.io/ > /dev/null || echo \"registry.quarkus.io unreachable: check proxy/DNS\"","typeGuard":null,"tryCatchPattern":"try {\n  ./gradlew listCategories\n} catch (GradleException e) {\n  if (e.getMessage().equals(\"Unable to list extension categories\")) {\n    // inspect cause via --stacktrace; fix proxy/registry config, then retry\n  }\n}","preventionTips":["Configure proxy system properties in gradle.properties for corporate networks.","Warm the extension catalog cache before switching to offline mode.","Validate custom registry URLs when overriding the default.","Run ./gradlew build first to ensure the platform BOM resolves correctly."],"tags":["gradle","network","extension-registry","quarkus-cli"],"backgroundTag":"extension-catalog-resolution-failed","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}