Skip to content

Commit 7b2a61f

Browse files
committed
Try fixing some Gradle dependency issues
1 parent e144fcc commit 7b2a61f

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

sqlite3multipleciphers/build.gradle.kts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import com.android.build.gradle.tasks.ExternalNativeBuildJsonTask
12
import com.powersync.compile.CreateSqliteCInterop
23
import com.powersync.plugins.utils.powersyncTargets
34
import org.gradle.kotlin.dsl.register
@@ -35,6 +36,7 @@ fun linkSqlite3McCInterop(target: KotlinNativeTarget): TaskProvider<CreateSqlite
3536
val buildCInteropDef = tasks.register("${target.name}CinteropSqlite3Mc", CreateSqliteCInterop::class) {
3637
val precompiledSqlite: FileCollection = nativeSqliteConfiguration
3738
inputs.files(precompiledSqlite)
39+
dependsOn(precompiledSqlite)
3840

3941
val staticLibrary = precompiledSqlite.singleFile.resolve("${target.konanTarget.name}sqlite3mc.a")
4042
archiveFile.set(staticLibrary)
@@ -96,6 +98,11 @@ kotlin {
9698
}
9799
}
98100

101+
val generateCmake by tasks.registering(Copy::class) {
102+
from(androidBuildSourceConfiguration)
103+
into(layout.buildDirectory.dir("androidJniBuild"))
104+
}
105+
99106
android {
100107
compileOptions {
101108
targetCompatibility = JavaVersion.VERSION_17
@@ -116,7 +123,7 @@ android {
116123

117124
externalNativeBuild {
118125
cmake {
119-
path(File(androidBuildSourceConfiguration.singleFile, "CMakeLists.txt"))
126+
path("build/androidJniBuild/CMakeLists.txt")
120127
}
121128
}
122129

@@ -126,3 +133,10 @@ android {
126133
tasks.named<ProcessResources>(kotlin.jvm().compilations["main"].processResourcesTaskName) {
127134
from(jniSqlite3McConfiguration)
128135
}
136+
137+
tasks.withType(ExternalNativeBuildJsonTask::class.java).configureEach {
138+
// Android runs these tasks to configure the CMake build. Since the CMake build in this case
139+
// is generated by a Gradle task (which copies artifacts around), we need to make sure that task
140+
// runs before CMake is invoked.
141+
dependsOn(generateCmake)
142+
}

static-sqlite-driver/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ fun linkSqliteCInterop(target: KotlinNativeTarget): TaskProvider<CreateSqliteCIn
2222
val buildCInteropDef = tasks.register("${target.name}CinteropSqlite", CreateSqliteCInterop::class) {
2323
val precompiledSqlite: FileCollection = nativeSqliteConfiguration
2424
inputs.files(precompiledSqlite)
25+
dependsOn(precompiledSqlite)
2526

2627
val staticLibrary = precompiledSqlite.singleFile.resolve("${target.konanTarget.name}sqlite3.a")
2728
archiveFile.set(staticLibrary)

0 commit comments

Comments
 (0)