{"record":{"id":"4e34e311a8147dd1","repo":"didi/DoKit","slug":"dokit-plugin-module","errorCode":null,"errorMessage":"未找到dokit-plugin module。。。","messagePattern":"未找到dokit-plugin module。。。","errorType":"console","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"Android/build.gradle","lineNumber":162,"sourceCode":"        }\n\n        //相关模块检查\n        def modules = new ArrayList<String>()\n\n        rootProject.allprojects.forEach {\n            modules.add(it.name)\n        }\n\n//        if (!modules.contains(\"dokit-rpc\")) {\n//            throw new RuntimeException(\"未找到dokit-rpc module。。。\")\n//        }\n//\n//        if (!modules.contains(\"dokit-rpc-mc\")) {\n//            throw new RuntimeException(\"未找到dokit-rpc-mc module。。。\")\n//        }\n\n        if (!modules.contains(\"dokit-plugin\")) {\n            throw new RuntimeException(\"未找到dokit-plugin module。。。\")\n        }\n    }\n}\n\ntask checkUploadConfig4Local() {\n    doLast {\n        //配置检查\n        if (rootProject.ext.publish_config[\"archives_type\"] != 0) {\n            throw new RuntimeException(\"执行当前打包上传任务必须修改config.gradle配置中的archives_type = 0。\")\n        }\n        //仓库检查\n        def repositories = new ArrayList<String>()\n\n        rootProject.repositories.forEach {\n            if (it instanceof MavenArtifactRepository) {\n                repositories.add((it as MavenArtifactRepository).url.toString())\n            }\n        }","sourceCodeStart":144,"sourceCodeEnd":180,"githubUrl":"https://github.com/didi/DoKit/blob/626827cddb2feb2f3aee87a52a064b4e5ca2bed4/Android/build.gradle#L144-L180","documentation":"Inside checkUploadConfig4Maven (Android/build.gradle), after collecting all project module names, the task throws '未找到dokit-plugin module。。。' if no module named 'dokit-plugin' is present in the build. The upload pipeline requires the dokit-plugin Gradle plugin project to be part of the composite build.","triggerScenarios":"Running the Maven upload when settings.gradle does not include ':dokit-plugin' (module excluded, renamed, or the repository checked out partially); running the upload from a subproject scope that did not evaluate all modules.","commonSituations":"Partial checkout or trimmed clone of DoraemonKit missing the plugin module; module renamed during local experimentation; settings.gradle modified to speed up builds by excluding modules.","solutions":["Check Android/settings.gradle includes ':dokit-plugin' and the directory Android/dokit-plugin exists with a valid build.gradle","Restore the full checkout (git status / git submodule update if applicable)","If you intentionally removed dokit-plugin, you cannot use the guarded upload tasks — remove or adjust the check task too"],"exampleFix":"// before (settings.gradle)\ninclude ':dokit', ':dokit-test'\n\n// after (settings.gradle)\ninclude ':dokit', ':dokit-test', ':dokit-plugin'","handlingStrategy":"validation","validationCode":"def names = rootProject.allprojects.collect { it.name }\nassert names.contains(\"dokit-plugin\") : \"settings.gradle must include ':dokit-plugin'\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Keep settings.gradle complete; verify module inclusion after checkouts or refactors","Run `./gradlew projects` to confirm dokit-plugin is in the build before uploading"],"tags":["gradle","module-resolution","publishing","maven"],"backgroundTag":null,"analyzedSha":"626827cddb2feb2f3aee87a52a064b4e5ca2bed4","analyzedAt":"2026-08-14T12:45:58.758Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}