- Add new field to Update
- Add new entry to UpdateType
- Add new ProcessedUpdate subclass
- Add new clause to processUpdate()
- Update KSP module:
- Add TypeName constant to TypeConstants
- Add mapping entry to TypeMapper
- Run helper ksp to add a new section for FunctionalDSLUtils
The KSP processor is organized into the following packages:
- annotation/ - Annotation parsing and extraction
AnnotationParser- Parses annotation arguments into typed valuesAnnotationExtractor- Extracts annotations from functions with priority handling (function > class > default)
- codegen/ - Code generation components
ActivityCodeGenerator- Generates Activity objects from function declarationsInvocationCodeGenerator- Generates invocation code blocks for ActivitiesParameterResolver- Resolves function parameters to resolution strategiesTypeMapper- Maps TypeNames to update type classes
- collectors/ - Handler collectors
BaseCollector- Base class with common functionalityCommandCollector,InputCollector,CommonCollector, etc.
- dto/ - Data transfer objects
ParameterResolutionStrategy- Sealed class for parameter resolution strategiesActivityMetadata,CollectorsContext, etc.
- utils/ - Utility functions and constants
TypeConstants- Centralized type name constants
- If there's some api changes hit gradle
apiDumptask. - Run gradle's
prepareReleasetask.