create a gradle task per provider, allow users to define a before and after task