- (breaking) Drop gradle 5 and 6 support
- (breaking) Fail check when no signatures declared (required to catch early configuration errors)
- Now additional configuration required when only build signature tasks used (to disable check)
- Add failWithoutSignatures option (true by default). Set to false for legacy behavior
- Add android projects support (activates for android library and application plugins
and use variant components (debug, release and test) instead of source sets).
- Add kotlin multiplatform projects support (tasks created for each platform compilation, except metadata (common))
- Improve debug:
- Add printAnimalsnifferSourceInfo task for debug purposes (shows registered source sets, tasks, plugins)
- Add printAnimalsnifferTasks task to print info about all registered tasks
- Put all animalsniffer tasks under 'animalsniffer' group
- Rename signature cache tasks to differentiate with check tasks (cache tasks starts with 'cache' keyword)
- change cache tasks output path: /animalsniffer/cache/[checkTargetName]/[checkTaskName]Cache.sig
- Change default tasks selection (tasks applied as dependency to the check task):
- Add checkTestSources = false option to avoid tests sources checks by default
- Add defaultTargets = [] (strings) option to limit default animalsniffer tasks.
- Legacy sourceSets option still supported, but checkTestSources and defaultTargets override it
- Add CSV report: used internally for building console and text reports, but could be
used by an external tool to collect errors
- Change field references in reports (when animalsniffer identifies field):
before was "fieldName field", now only "#fieldName"
- Add new properties to AnimalSniffer task to simplify detailed configuration:
- targetType: type of task (SourceSet, MultiplatformTarget, AndroidVariant)
- targetName: name of target (used in animalsniffer task name)
- Call animalsniffer directly instead of ant tasks
- Configuration cache compatibility
Detailed release notes with migration guide