Diana M
10/01/2021, 4:13 PM* What went wrong:
Could not determine the dependencies of task ':linkReleaseFrameworkIos'.
> Collection is empty.
* Try:
Run with --scan to get full insights.
* Exception is:
org.gradle.api.internal.tasks.TaskDependencyResolveException: Could not determine the dependencies of task ':linkReleaseFrameworkIos'.
at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.getDependencies(CachingTaskDependencyResolveContext.java:71)
at org.gradle.execution.plan.TaskDependencyResolver.resolveDependenciesFor(TaskDependencyResolver.java:46)
at org.gradle.execution.plan.LocalTaskNode.getDependencies(LocalTaskNode.java:161)
at org.gradle.execution.plan.LocalTaskNode.resolveDependencies(LocalTaskNode.java:129)
at org.gradle.execution.plan.DefaultExecutionPlan.doAddNodes(DefaultExecutionPlan.java:186)
at org.gradle.execution.plan.DefaultExecutionPlan.addEntryTasks(DefaultExecutionPlan.java:150)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.addEntryTasks(DefaultTaskExecutionGraph.java:146)
This is the build.gradle snippit:
import org.jetbrains.kotlin.gradle.tasks.FatFrameworkTask
apply plugin: 'com.android.library'
apply plugin: 'kotlin-multiplatform'
apply plugin: 'maven-publish'
buildscript {
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31"
}
ext.ios_framework_name = 'customclassFramework'
}
repositories {
mavenCentral()
google()
jcenter()
}
group 'com.xyz.testApp'
version '0.0.1'
android {
compileSdkVersion 31
defaultConfig {
minSdkVersion 30
targetSdkVersion 31
versionCode 1
versionName '1.0'
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}
buildTypes {
debug {
debuggable true
}
release {
minifyEnabled true
}
}
sourceSets {
main {
manifest.srcFile 'src/androidMain/AndroidManifest.xml'
java.srcDirs = ['src/androidMain/kotlin']
res.srcDirs = ['src/androidMain/res']
}
}
}
kotlin {
targets {
fromPreset(presets.jvm, 'android')
iosX64('ios')
iosArm32('iosArm32')
iosArm64('iosArm64')
configure([iosArm32, iosArm64, ios]) {
binaries.framework {
baseName = "$ios_framework_name"
freeCompilerArgs += "-Xobjc-generics"
}
}
}
sourceSets {
commonMain.dependencies {
api 'org.jetbrains.kotlin:kotlin-stdlib-common'
}
androidMain.dependencies {
api 'org.jetbrains.kotlin:kotlin-stdlib'
}
iosMain.dependencies { }
configure([iosArm32Main, iosArm64Main]) {
dependsOn iosMain
}
configure([iosArm32Test, iosArm64Test]) {
dependsOn iosTest
}
}
task releaseFatFramework(type: FatFrameworkTask) {
baseName = ios_framework_name
destinationDir = file("$projectDir/xcode-framework")
from(
targets.ios.binaries.getFramework("RELEASE"),
targets.iosArm32.binaries.getFramework("RELEASE"),
targets.iosArm64.binaries.getFramework("RELEASE")
)
doLast {
new File(destinationDir, 'gradlew').with {
text = "#!/bin/bash\nexport 'JAVA_HOME=${System.getProperty("java.home")}'\ncd '${rootProject.rootDir}'\n./gradlew \$@\n"
setExecutable(true)
}
}
}
}
configurations {
compileClasspath
}
publishing {
repositories {
maven {
url "<path/to/private/maven>"
name 'customclass'
credentials {
username = "${vsts_user_publish}"
password = "${vsts_password_publish}"
}
}
}
publications {
maven(MavenPublication) {
groupId = 'com.xyz.testApp'
artifactId 'customclass'
version = version
artifact ("${project.buildDir}/outputs/aar/${project.name}-release.aar")
}
}
}
tasks.build.dependsOn releaseFatFramework
Sam
10/01/2021, 7:02 PM