2

I'm writing a gradle extension in an init-script but I don't know how to reference the extension in build.gralde.

// init.gradle.kts


allprojects {
  extensions.create("message", MessageExtension::class)
}

open class MessageExtension(objects: ObjectFactory) {
    // A configurable greeting
    val greeting: Property<String> = objects.property()
}

I can reference message in groovy build.gradle, it's happy to pull message from thin air.

// build.gradle (groovy)
message.greeting = "hi"

But build.gradle.kts references to messages are unresolved.

// build.gradle.kts
   message.greeting = "hi"
// ^ Unresolved reference: message

If I try to find the extension by type the class is also unresolved.

// build.gradle.kts
val messages = project.extensions.findByType(MessageExtension::class)
//                                           ^ Unresolved reference: MessageExtension

I've tried declaring a package in my init.gradle.kts and importing it, but the import is also unresolved.

everett1992
  • 2,351
  • 3
  • 27
  • 38
  • Not sure if this is possible. Maybe this might be somehow relevant: https://stackoverflow.com/q/55335866/12042788 – r6q Sep 04 '20 at 10:23

1 Answers1

0

Try this in your build.gradle.kts:

the<MessageExtension>().greeting = "hi"
Saurabh Thorat
  • 18,131
  • 5
  • 53
  • 70