Changes:
* add new gradle module e2e-tests
* add new reusable github workflow e2e
Enhancement:
* update main workflow to use setup-build composite action
* update main workflow to use .plugin file for listing plugins
* update docker workflow to use .plugin file for listing plugins
Changes:
- add new top level interface `Plugin`
- add new `JsonDeserializer` aware of the `PluginRegistry`
- add new annotation processor for plugin
- migrate to hibernate-validator for the JSR-303 (no bean introspection dependencies)
- update all Validation annotations to be complitant with the JSR-303
- remove all KestraApplicationContext stuffs
- fix some tests
part-of: kestra-io/plugin-template-test#25
part-of: kestra-io/plugin-serdes#103
Listeners allow to execute some task after the flow. They are still considered as a TaskRun and save in the execution. They can have condition.
- add SlackIncomingWebhook notifications task
- add SlackExecution task with a message about the result of the execution
Tasks package that will handle file conversion.
- new tasks: CsvReader & CsvWriter
- new tasks: JsonReader & JsonWriter
- Refactor the CsvToAvro to AvroWriter and handle conversion from all type depending on schema.
- Remove the task-avro in favor of a more general task-serdes