Vaibhav Jaiswal
12/21/2023, 10:46 AMCocoapodsExtension
Extension of type 'CocoapodsExtension' does not exist. Currently registered extension types: [ExtraPropertiesExtension, LibrariesForAndroidLibs, LibrariesForLibs, VersionCatalogsExtension, KotlinMultiplatformExtension, KotlinTestsRegistry, BasePluginExtension, DefaultArtifactPublicationSet, SourceSetContainer, ReportingExtension, JavaToolchainService, JavaPluginExtension, KotlinArtifactsExtensionImpl, LibraryExtension, LibraryAndroidComponentsExtension, NamedDomainObjectContainer<BaseVariantOutput>]
This is my plugin
class KotlinMultiplatformPlugin: Plugin<Project> {
override fun apply(target: Project):Unit = with(target){
with(pluginManager){
apply(libs.findPlugin("kotlinMultiplatform").get().get().pluginId)
apply(libs.findPlugin("kotlinCocoapods").get().get().pluginId)
apply(libs.findPlugin("androidLibrary").get().get().pluginId)
apply(libs.findPlugin("kotlin.serialization").get().get().pluginId)
}
extensions.configure<CocoapodsExtension> {
configureKotlinCocoapods(this)
}
extensions.configure<KotlinMultiplatformExtension>(::configureKotlinMultiplatform)
extensions.configure<LibraryExtension>(::configureKotlinAndroid)
}
}
Vaibhav Jaiswal
12/21/2023, 10:55 AMKotlinMultiplatformExtension
but cannot access cocoapods {}
MR3Y
12/21/2023, 11:51 AMcocoapods
plugin isn't on your classpath.
Make sure to add it in the root build.gradle.kts
file:
plugins {
alias(libs.plugins.kotlinCocoapods).apply(false)
}
Then in your convention plugin you'll be able to apply it and access CocoapodsExtension
normally.Vaibhav Jaiswal
12/21/2023, 11:53 AMbuild.gradle.kts
MR3Y
12/21/2023, 11:57 AMbuild.gradle.kts
? like this:
dependencies {
compileOnly(libs.cocoapods)
}
MR3Y
12/21/2023, 11:58 AMbuild.gradle.kts
Vaibhav Jaiswal
12/21/2023, 11:59 AMMR3Y
12/21/2023, 12:07 PMandroidApplication = "com.android.application:8.2.0"
but to use it in your convention plugin's build.gradle.kts
as a dependency in dependencies
block, you have to declare it like:
android-gradlePlugin = "com.android.tools.build:gradle:8.2.0"
Vaibhav Jaiswal
12/21/2023, 12:08 PMorg.jetbrains.kotlin:kotlin-native-cocoapods-gradle-pluginSays cannot resolve
Vaibhav Jaiswal
12/21/2023, 12:09 PMMR3Y
12/21/2023, 12:10 PMMR3Y
12/21/2023, 12:12 PMMR3Y
12/21/2023, 12:13 PMVaibhav Jaiswal
12/21/2023, 12:13 PMcompileOnly(libs.kotlin.gradlePlugin)
MR3Y
12/21/2023, 12:16 PMVaibhav Jaiswal
12/21/2023, 12:17 PMVaibhav Jaiswal
12/21/2023, 12:37 PMMR3Y
12/21/2023, 12:41 PMVaibhav Jaiswal
12/21/2023, 12:41 PMkotlin-cocoapods-gradlePlugin = { group = "org.jetbrains.kotlin.native.cocoapods", name = "org.jetbrains.kotlin.native.cocoapods.gradle.plugin", version.ref = "kotlin" }
MR3Y
12/21/2023, 12:49 PMVaibhav Jaiswal
12/21/2023, 12:58 PMCould not find org.jetbrains.kotlin:org.jetbrains.kotlin.native.cocoapods.gradle.plugin:1.9.20.
Vaibhav Jaiswal
12/21/2023, 12:59 PMCould not find org.jetbrains.kotlin:native.cocoapods.gradle.plugin:1.9.20.
MR3Y
12/21/2023, 12:59 PMVaibhav Jaiswal
12/21/2023, 1:00 PMExtension of type 'CocoapodsExtension' does not exist. Currently registered extension types: [ExtraPropertiesExtension, LibrariesForAndroidLibs, LibrariesForLibs, VersionCatalogsExtension, KotlinMultiplatformExtension, KotlinTestsRegistry, BasePluginExtension, DefaultArtifactPublicationSet, SourceSetContainer, ReportingExtension, JavaToolchainService, JavaPluginExtension, KotlinArtifactsExtensionImpl, LibraryExtension, LibraryAndroidComponentsExtension, NamedDomainObjectContainer<BaseVariantOutput>]
MR3Y
12/21/2023, 1:00 PMVaibhav Jaiswal
12/21/2023, 1:01 PMVaibhav Jaiswal
12/21/2023, 1:01 PMVaibhav Jaiswal
12/21/2023, 1:02 PMpublic fun KotlinMultiplatformExtension.cocoapods(
configure: Action<CocoapodsExtension>
): Unit
org.gradle.kotlin.dsl Accessors2zy97bxtvt3cbfkizav1r0rybKt.class
Vaibhav Jaiswal
12/21/2023, 1:03 PMVaibhav Jaiswal
12/24/2023, 12:48 PMBradleycorn
08/19/2024, 2:41 PMVaibhav Jaiswal
02/27/2025, 12:07 PM