class GreetingPluginExtension { String message String greeter } class GreetingPlugin implements Plugin { void apply(Project project) { def extension = project.extensions.create('greeting', GreetingPluginExtension) project.task('hello') { doLast { println "${extension.message} from ${extension.greeter}" } } } } apply plugin: GreetingPlugin // Configure the extension using a DSL block greeting { message = 'Hi' greeter = 'Gradle' }