Lint rules for using Grumpy architecture correctly.
| Rule | Overview | Severity | Fix Available | Codes |
|---|---|---|---|---|
| must_call_in_constructor | Require constructors to call methods annotated with @mustCallInConstructor on supertypes or mixins. | ERROR | ✅ | 3 |
| abstract_classes_should_set_log_group | Abstract classes using LogMixin must override group with their class name, or append to super.group. | ERROR | ✅ | 1 |
| concrete_classes_should_set_log_tag | Concrete classes using LogMixin must override logTag with their class name. | ERROR | ✅ | 1 |
Require constructors to call methods annotated with @mustCallInConstructor on supertypes or mixins.
missing_required_constructor_call(ERROR)avoid_abstract_constructor_calls(ERROR)avoid_exempt_constructor_calls(ERROR)
No examples provided.
Abstract classes using LogMixin must override group with their class name, or append to super.group.
abstract_classes_should_set_log_group(ERROR)
❌ DON'T
abstract class MyAbstractClass with LogMixin {
}
✅ DO
abstract class MyAbstractClass with LogMixin {
@override
String get group => 'MyAbstractClass';
}
✅ DO
abstract class BaseAbstractClass with LogMixin {
@override
String get group => 'BaseAbstractClass';
}
abstract class DerivedAbstractClass extends BaseAbstractClass {
@override
String get group => '${super.group}.DerivedAbstractClass';
}
Concrete classes using LogMixin must override logTag with their class name.
concrete_classes_should_set_log_tag(ERROR)
❌ DON'T
class MyConcreteClass with LogMixin {
}
✅ DO
class MyConcreteClass with LogMixin {
@override
String get logTag => 'MyConcreteClass';
}