{"record":{"id":"41c31fa415a1ca9b","repo":"gradle/gradle","slug":"the-module-notation-does-not-respect-the-lock-file","errorCode":null,"errorMessage":"The module notation does not respect the lock file format of 'group:name:version' - received '${notation}'","messagePattern":"The module notation does not respect the lock file format of 'group:name:version' - received '(.+?)'","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"platforms/software/dependency-management/src/main/java/org/gradle/internal/locking/DependencyLockingNotationConverter.java","lineNumber":28,"sourceCode":" * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\npackage org.gradle.internal.locking;\n\nimport org.gradle.api.artifacts.component.ModuleComponentIdentifier;\nimport org.gradle.api.internal.artifacts.DefaultModuleIdentifier;\nimport org.gradle.internal.component.external.model.DefaultModuleComponentIdentifier;\n\nclass DependencyLockingNotationConverter {\n\n    ModuleComponentIdentifier convertFromLockNotation(String notation) {\n        String[] parts = notation.split(\":\");\n        if (parts.length != 3) {\n            throw new IllegalArgumentException(\"The module notation does not respect the lock file format of 'group:name:version' - received '\" + notation + \"'\");\n        }\n        return DefaultModuleComponentIdentifier.newId(DefaultModuleIdentifier.newId(parts[0], parts[1]), parts[2]);\n    }\n\n    String convertToLockNotation(ModuleComponentIdentifier id) {\n        return id.getGroup() + \":\" + id.getModule() + \":\" + id.getVersion();\n    }\n}\n","sourceCodeStart":10,"sourceCodeEnd":37,"githubUrl":"https://github.com/gradle/gradle/blob/534f27719b66953f95cc907aae7f2c1b12f5482d/platforms/software/dependency-management/src/main/java/org/gradle/internal/locking/DependencyLockingNotationConverter.java#L10-L37","documentation":"Error \"The module notation does not respect the lock file format of 'group:name:version' - received '${notation}'\" thrown in gradle/gradle.","triggerScenarios":"Thrown at platforms/software/dependency-management/src/main/java/org/gradle/internal/locking/DependencyLockingNotationConverter.java:28 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use the exact 'group:name:version' format in the lock file entry, for example 'org.apache.commons:commons-lang3:3.12.0'.","Remove the malformed entry '${notation}' from the lockfile and regenerate locks with '--write-locks'."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"534f27719b66953f95cc907aae7f2c1b12f5482d","analyzedAt":"2026-08-22T08:09:12.375Z","schemaVersion":2},"datasetVersion":"2026-08-22T09:17:25.309Z"}