Dynamically get the compile task for the language
Extract a VariantConfigurator to hide most of the complexity
Unnecessary qualified reference
Extract SourceSetConfigurator

It will deal with the specific language compile tasks
Upload plugin verison
Correctly pass in the language as a parameter