data class ModuleFeature(val name: String, val explanation: String, val advice: String, val removalPatterns: Set<Regex>?, val generatedSourcesDir: String? = null, val generatedSourcesExtensions: Set<String> = emptySet(), val matchingText: Set<String> = emptySet(), val matchingTextFileExtensions: Set<String> = emptySet(), val matchingSourcesDir: String? = null, val matchingPlugin: String? = null)