pernilla
08/22/2023, 2:51 PMimport org.jetbrains.kotlin.gradle.dsl.KotlinCompile
import org.jetbrains.kotlin.gradle.plugin.mpp.apple.XCFramework
import org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode
import org.jfrog.gradle.plugin.artifactory.dsl.PublisherConfig
plugins {
kotlin("multiplatform") version "1.8.20"
id("com.android.library")
id("org.jetbrains.kotlinx.kover") version "0.7.1"
id("org.kodein.mock.mockmp") version "1.14.0"
id("maven-publish")
id("com.jfrog.artifactory") version "5.0.3"
}
group = "com.company.mowerplatform"
version = "0.1-SNAPSHOT"
repositories {
maven(url = "<https://url/libs-release>")
mavenCentral()
google()
}
tasks.named<Wrapper>("wrapper") {
gradleVersion = "7.6"
}
mockmp {
usesHelper = true
}
kotlin {
targets.withType<org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget> {
compilations.get("main").compilerOptions.options.freeCompilerArgs.add("-Xexport-kdoc")
}
}
kotlin {
val xcFrameworkName = "MowerPlatform"
val xcFramework = XCFramework(xcFrameworkName)
jvm {
compilations.all {
kotlinOptions.jvmTarget = "11"
}
testRuns["test"].executionTask.configure {
useJUnitPlatform()
}
}
ios {
binaries.framework(xcFrameworkName) {
embedBitcode(BitcodeEmbeddingMode.DISABLE)
xcFramework.add(this)
}
}
iosSimulatorArm64 {
binaries.framework(xcFrameworkName) {
embedBitcode(BitcodeEmbeddingMode.DISABLE)
xcFramework.add(this)
}
}
android {
publishLibraryVariants("release", "debug")
}
sourceSets {
val kermitVersion = "1.2.2"
val kotlinxCoroutinesVersion = "1.7.1"
val turbineVersion = "1.0.0"
val commonMain by getting {
dependencies {
implementation("co.touchlab:kermit:$kermitVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxCoroutinesVersion")
}
}
val commonTest by getting {
dependencies {
implementation(kotlin("test"))
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxCoroutinesVersion")
implementation("app.cash.turbine:turbine:$turbineVersion")
}
}
val iosMain by getting
val iosArm64Main by getting {
dependsOn(iosMain)
dependencies {
implementation("co.touchlab:kermit-iosarm64:$kermitVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-iosarm64:$kotlinxCoroutinesVersion")
}
}
val iosX64Main by getting {
dependsOn(iosMain)
dependencies {
implementation("co.touchlab:kermit-iosx64:$kermitVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-iosx64:$kotlinxCoroutinesVersion")
}
}
val iosSimulatorArm64Main by getting {
dependsOn(iosMain)
dependencies {
implementation("co.touchlab:kermit-iossimulatorarm64:$kermitVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-iossimulatorarm64:$kotlinxCoroutinesVersion")
}
}
val jvmMain by getting
val androidMain by getting {
dependsOn(jvmMain)
}
}
artifactory {
setContextUrl("url")
publish(delegateClosureOf<org.jfrog.gradle.plugin.artifactory.dsl.PublisherConfig> {
repository(delegateClosureOf<PublisherConfig> {
setProperty("repoKey", "libs-release-local")
setProperty("maven", true)
})
defaults(delegateClosureOf<groovy.lang.GroovyObject> {
invokeMethod("publications", "aar")
setProperty("publishArtifacts", true)
setProperty("publishPom", true)
})
})
}
}
android {
namespace = "com.company.multiplatform"
compileSdk = 33
sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
buildFeatures {
viewBinding = true
}
defaultConfig {
minSdk = 26
targetSdk = 33
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
But this gives me following error:
e: build.gradle.kts:116:9: None of the following functions can be called with the arguments supplied:
public open fun publish(p0: Closure<PublisherConfig!>!): Unit defined in org.jfrog.gradle.plugin.artifactory.dsl.ArtifactoryPluginConvention
public open fun publish(p0: Action<PublisherConfig!>!): Unit defined in org.jfrog.gradle.plugin.artifactory.dsl.ArtifactoryPluginConvention
Can someone point me the right direction?Adam S
08/22/2023, 3:05 PMpublish(delegateClosureOf<org.jfrog.gradle.plugin.artifactory.dsl.PublisherConfig> {
Do you know where that came from? The example (under the 'Kotlin Format' section) https://github.com/jfrog/artifactory-gradle-plugin#-installation uses a different config blockpernilla
08/22/2023, 6:32 PMimport org.jfrog.gradle.plugin.artifactory.dsl.ArtifactoryPluginConvention
import org.jfrog.gradle.plugin.artifactory.task.ArtifactoryTask