{"record":{"id":"ce8b6e9b0634a4a7","repo":"quarkusio/quarkus","slug":"this-build-tool-does-not-support-update-buildtoo","errorCode":null,"errorMessage":"This build tool does not support update ${buildTool}","messagePattern":"This build tool does not support update (.+?)","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/project/update/rewrite/QuarkusUpdatesRepository.java","lineNumber":139,"sourceCode":"                throw new RuntimeException(\"Failed to load recipes in artifact: \" + gav, e);\n            }\n        }\n\n        return new FetchResult(String.join(\",\", artifacts),\n                recipes, propRewritePluginVersion);\n    }\n\n    private static String getPropRewritePluginVersion(Properties props, BuildTool buildTool) {\n        switch (buildTool) {\n            case MAVEN:\n                return Optional.ofNullable(props.getProperty(PROP_REWRITE_MAVEN_PLUGIN_VERSION))\n                        .orElse(DEFAULT_MAVEN_REWRITE_PLUGIN_VERSION);\n            case GRADLE:\n            case GRADLE_KOTLIN_DSL:\n                return Optional.ofNullable(props.getProperty(PROP_REWRITE_GRADLE_PLUGIN_VERSION))\n                        .orElse(DEFAULT_GRADLE_REWRITE_PLUGIN_VERSION);\n            default:\n                throw new IllegalStateException(\"This build tool does not support update \" + buildTool);\n        }\n    }\n\n    private static boolean isRecipeFile(Path p) {\n        return p.getFileName().toString()\n                .matches(\"^\\\\d\\\\H+.ya?ml$\");\n    }\n\n    public static class FetchResult {\n\n        private final String recipesGAV;\n        private final List<String> recipes;\n        private final String rewritePluginVersion;\n\n        public FetchResult(String recipesGAV, List<String> recipes, String rewritePluginVersion) {\n            this.recipesGAV = recipesGAV;\n            this.rewritePluginVersion = rewritePluginVersion;\n            this.recipes = recipes;","sourceCodeStart":121,"sourceCodeEnd":157,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/project/update/rewrite/QuarkusUpdatesRepository.java#L121-L157","documentation":"getPropRewritePluginVersion() maps a BuildTool enum to the rewrite plugin version property for Maven or Gradle builds. If the project's build tool is anything else (e.g. no build files detected or an unsupported tool), it throws IllegalStateException(\"This build tool does not support update <buildTool>\") because `quarkus update` recipe fetching only supports Maven and Gradle.","triggerScenarios":"Calling getPropRewritePluginVersion (via pluginVersion/fetchRecipes during `quarkus update`) on a project whose detected BuildTool is not MAVEN, GRADLE, or GRADLE_KOTLIN_DSL — the switch falls to the default branch.","commonSituations":"Running `quarkus update` in a directory with no pom.xml or Gradle build files; a project using an unsupported build system (SBT, Bazel, plain Ant); a misdetected build tool because both Maven and Gradle files are absent while the CLI infers a default.","solutions":["Run `quarkus update` from the project root where a pom.xml or build.gradle(.kts) exists.","Add the appropriate Maven or Gradle build file if the project genuinely uses one of those tools but the file is missing.","Migrate the project to Maven or Gradle before using the rewrite-based update flow.","Upgrade the Quarkus CLI if support for your build tool was added in a newer release."],"exampleFix":"// before: project root without build files\n$ cd ~/misc && quarkus update   # IllegalStateException\n// after: run in the Maven project\n$ cd ~/my-quarkus-app   # contains pom.xml\n$ quarkus update","handlingStrategy":"validation","validationCode":"if (buildTool != BuildTool.MAVEN && buildTool != BuildTool.GRADLE && buildTool != BuildTool.GRADLE_KOTLIN_DSL) {\n    throw new IllegalStateException(\"quarkus update requires Maven or Gradle project; detected: \" + buildTool);\n}","typeGuard":null,"tryCatchPattern":"try {\n    String v = repo.pluginVersion(buildTool);\n} catch (IllegalStateException e) {\n    log.error(\"Run quarkus update from a project with pom.xml or build.gradle\");\n}","preventionTips":["Run `quarkus update` from a directory containing pom.xml or build.gradle(.kts).","Do not attempt rewrite-based updates on unsupported build systems.","Confirm build tool detection with `quarkus build` before updating.","Check CLI release notes for added build-tool support."],"tags":["build-tool","unsupported-operation","update-recipes"],"backgroundTag":"unsupported-build-tool","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}