Gradle seems to have settled on a Property<String> named mainClass for configuring the name of the main class. See, for example, JavaApplication, JavaExecSpec, and CreateStartScripts.

We should align by introducing a new Property<String> and deprecating the old String property. Moving to a Property<String> will also help with supporting the configuration cache.