Reputation: 7368
I've the following build.gradle file:
import org.jetbrains.kotlin.gradle.tasks.FatFrameworkTask
apply plugin: 'kotlin-multiplatform'
apply plugin: 'com.android.library'
android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 19
}
lintOptions {
abortOnError false
}
}
dependencies {
testImplementation 'junit:junit:4.12'
testImplementation 'org.jetbrains.kotlin:kotlin-test'
testImplementation 'org.jetbrains.kotlin:kotlin-test-junit'
testImplementation 'com.google.truth:truth:0.42'
androidTestImplementation 'junit:junit:4.12'
androidTestImplementation 'org.jetbrains.kotlin:kotlin-test'
androidTestImplementation 'org.jetbrains.kotlin:kotlin-test-junit'
androidTestImplementation 'com.google.truth:truth:0.42'
}
kotlin {
targets {
jvm("jvm")
android("android")
iosArm32("ios32")
iosArm64("ios64")
iosX64("emulator")
configure([ios32, ios64, emulator]) {
binaries.framework('HyModule')
}
}
sourceSets {
commonMain.dependencies {
api 'org.jetbrains.kotlin:kotlin-stdlib-common'
}
jvmMain.dependencies {
api 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
}
androidMain.dependencies {
implementation 'org.jetbrains.kotlin:kotlin-stdlib'
}
androidMain.dependsOn jvmMain
}
task fatFramework(type: FatFrameworkTask) {
// the fat framework must have the same base name as the initial frameworks
baseName = "HyModule"
final File frameworkDir = new File(buildDir, "xcode-frameworks")
destinationDir = frameworkDir
// specify the frameworks to be merged
from(
targets.ios32.binaries.getFramework('HyModule', 'RELEASE'),
targets.ios64.binaries.getFramework('HyModule', 'RELEASE'),
targets.emulator.binaries.getFramework('HyModule', 'RELEASE')
)
doLast {
new File(frameworkDir, 'gradlew').with {
text = "#!/bin/bash\nexport 'JAVA_HOME=${System.getProperty("java.home")}'\ncd '${rootProject.rootDir}'\n./gradlew \$@\n"
setExecutable(true)
}
}
}
}
// workaround for https://youtrack.jetbrains.com/issue/KT-27170
configurations {
compileClasspath
}
tasks.build.dependsOn fatFramework
import org.jetbrains.kotlin.gradle.tasks.FatFrameworkTask
is marked in red with an error
Cannot resolve symbol 'FatFrameworkTask'
Even though everything works just fine, I don't like having error in my project.
Upvotes: 3
Views: 2353
Reputation: 4147
In my case, don't use import, use class full path instead, for ex, following org.jetbrains.kotlin.gradle.tasks.KotlinCompile
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
kotlinOptions {
freeCompilerArgs = ['-Xjsr305=strict']
jvmTarget = '17'
}
}
Upvotes: 0
Reputation: 11
Try
import org.jetbrains.kotlin.gradle.tasks.*
I was facing same problem, Don't know why this works
Upvotes: 1
Reputation: 125
If the Gradle Task is working fine can be a visual bug in IntelliJ, this happens normally with me.
Try to restart the IntelliJ or Android Studio
Upvotes: 0