package org.mjdev.gradle.extensions import org.gradle.accessors.dm.LibrariesForLibs import org.gradle.api.* import org.gradle.internal.impldep.jakarta.xml.bind.DatatypeConverter import org.gradle.kotlin.dsl.extra import org.gradle.kotlin.dsl.the @Suppress("HasPlatformType", "unused", "MemberVisibilityCanBePrivate") object ProjectExt { val Project.androidStudioVersion get() = project.extra.properties["android.studio.version"] val Project.runningFromAndroidStudio get() = DatatypeConverter.parseBoolean(project.extra.properties["android.injected.invoked.from.ide"].toString()) val Project.isAndroidStudio get() = project.extra.properties.keys.contains("android.studio.version") val Project.libs get() = the() // fun Project.apply(plugin: Provider<*>) = // project.plugins.apply(plugin.get().toString()) // fun Project.apply(plugin: String) = // project.plugins.apply(plugin) // fun Project.createTask(name: String, configureAction: T.() -> Unit) = tasks.create(name).apply { // configureAction.invoke(this as T) // } fun Project.createTask( name: String, group: String = "mjdev", description: String = "", configureAction: Task.() -> Unit ) = tasks.create(name).apply { this.group = group this.description = description configureAction.invoke(this) } // inline fun > Project.apply() = // project.plugins.apply(T::class.java) }