@Incubating public interface ProblemCategory
A category object follows a pattern similar to URNs, it has a namespace, a main category and a subcategory.
The namespace contains information about the origin of the problem: whether it comes from the Gradle core runtime, or from a third-party plugin.
For example, deprecation
, or compilation
is a main category.
Subcategories can be an arbitrary list of strings, that ideally serve as a unique identifier.
To use compilation as an example, [java, unused-variable]
would be a subcategory, that along with the [compilation]
main category, denotes a particular compiler warning.
The exact definition of subcategories depends on the problem's domain.
Modifier and Type | Method | Description |
---|---|---|
java.lang.String |
getCategory() |
The main problem category.
|
java.lang.String |
getNamespace() |
Returns the namespace.
|
java.util.List<java.lang.String> |
getSubcategories() |
The problem's subcategories.
|
java.lang.String getNamespace()
org.gradle
.
if the problem is reported by a plugin, the namespace should be the plugin ID.java.lang.String getCategory()
- compilation - deprecation - dependency-version-catalog - task-selection - task-validation
java.util.List<java.lang.String> getSubcategories()
- dependency-version-catalog - alias-not-finished - reserved-alias-name - catalog-file-does-not-exist - toml-syntax-error - too-many-import-files - too-many-import-invocation - no-import-files - deprecation - build-invocation - user-code-direct - user-code-indirect - compilation - groovy-dsl:compilation-failed - type-validation - property:annotation-invalid-in-context - property:cannot-use-optional-on-primitive-types - property:cannot-write-output - property:conflicting-annotations - property:ignored-property-must-not-be-annotated - property:implicit-dependency - property:incompatible-annotations - property:incorrect-use-of-input-annotation - property:input-file-does-not-exist - property:missing-annotation - property:missing-normalization-annotation - property:nested-map-unsupported-key-type - property:nested-type-unsupported - property:mutable-type-with-setter - property:private-getter-must-not-be-annotated - property:unexpected-input-file-type - property:unsupported-notation - property:unknown-implementation - property:unsupported-value-type - property:value-not-set - type:ignored-annotations-on-method - type:invalid-use-of-type-annotation - type:not-cacheable-without-reason