{"record":{"id":"cf2bec1fc9dc34d2","repo":"gradle/gradle","slug":"context-format-must-be-group-artifact-but","errorCode":null,"errorMessage":"${context} format must be <group>:<artifact> but '${lockExclude}' is invalid.","messagePattern":"(.+?) format must be <group>:<artifact> but '(.+?)' is invalid\\.","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"platforms/software/dependency-management/src/main/java/org/gradle/internal/locking/LockEntryFilterFactory.java","lineNumber":60,"sourceCode":"                String[] split = lockExclude.split(MODULE_SEPARATOR);\n                validateNotation(lockExclude, split, allowFullWildcard, context);\n\n                lockEntryFilters.add(createFilter(split[0], split[1]));\n            }\n            if (lockEntryFilters.isEmpty()) {\n                throwInvalid(lockExcludes, context);\n            }\n        }\n\n        if (lockEntryFilters.size() == 1) {\n            return lockEntryFilters.iterator().next();\n        } else {\n            return new AggregateLockEntryFilter(lockEntryFilters);\n        }\n    }\n\n    private static void throwInvalid(String lockExclude, String context) {\n        throw new IllegalArgumentException(context + \" format must be <group>:<artifact> but '\" + lockExclude + \"' is invalid.\");\n    }\n\n    private static LockEntryFilter createFilter(final String group, final String module) {\n        if (group.equals(WILDCARD_SUFFIX) && module.equals(WILDCARD_SUFFIX)) {\n            return FILTERS_ALL;\n        }\n\n        return new GroupModuleLockEntryFilter(group, module);\n    }\n\n    private static void validateNotation(String lockExclude, String[] split, boolean allowFullWildcard, String context) {\n        if (split.length != 2) {\n            throwInvalid(lockExclude, context);\n        }\n        String group = split[0];\n        String module = split[1];\n\n        if ((group.contains(WILDCARD_SUFFIX) && !group.endsWith(WILDCARD_SUFFIX)) || (module.contains(WILDCARD_SUFFIX) && !module.endsWith(WILDCARD_SUFFIX))) {","sourceCodeStart":42,"sourceCodeEnd":78,"githubUrl":"https://github.com/gradle/gradle/blob/534f27719b66953f95cc907aae7f2c1b12f5482d/platforms/software/dependency-management/src/main/java/org/gradle/internal/locking/LockEntryFilterFactory.java#L42-L78","documentation":"Error \"${context} format must be <group>:<artifact> but '${lockExclude}' is invalid.\" thrown in gradle/gradle.","triggerScenarios":"Thrown at platforms/software/dependency-management/src/main/java/org/gradle/internal/locking/LockEntryFilterFactory.java:60 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Format the entry as '<group>:<artifact>', for example 'com.google.guava:guava'.","Fix or remove the invalid entry '${lockExclude}' in the lock exclude/include filter configuration."],"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"}