Skip to content

Commit b0fbc31

Browse files
authored
Fixing gradle tasks to get gradle the right context. (#408)
1 parent 8a8821a commit b0fbc31

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

client-sqldelight-gradle-plugin/src/main/kotlin/app/cash/backfila/client/sqldelight/plugin/BackfilaSqlDelightGradlePlugin.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import org.gradle.api.Project
88
import org.gradle.api.file.Directory
99
import org.gradle.api.provider.Property
1010
import org.gradle.api.provider.Provider
11+
import org.gradle.api.tasks.TaskProvider
1112
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
1213

1314
class BackfilaSqlDelightGradlePlugin : Plugin<Project> {
@@ -26,7 +27,8 @@ class BackfilaSqlDelightGradlePlugin : Plugin<Project> {
2627
GenerateBackfilaRecordSourceSqlTask::class.java,
2728
) {
2829
it.backfill.set(backfill.backfill)
29-
it.sqlDirectory.set(baseSqlDirectory.map { baseDir -> baseDir.dir(packageProvider.get()) })
30+
it.sqlDirectory.set(baseSqlDirectory)
31+
it.packageName.set(packageProvider)
3032
}
3133

3234
val sqlDelightExtension = target.extensions.findByType(SqlDelightExtension::class.java)
@@ -36,9 +38,9 @@ class BackfilaSqlDelightGradlePlugin : Plugin<Project> {
3638

3739
sqlDelightExtension.databases.all { sqlDelightDatabase ->
3840
sqlDelightDatabase.srcDirs.from(
39-
baseSqlDirectory.map<List<Directory>> { sqlDirectory ->
41+
baseSqlDirectory.map<List<TaskProvider<*>>> { _ ->
4042
if (packageProvider.get() == sqlDelightDatabase.packageName.get() && databaseClassNameProvider.get() == sqlDelightDatabase.name) {
41-
listOf(sqlDirectory)
43+
listOf(sqlTask)
4244
} else {
4345
listOf()
4446
}

client-sqldelight-gradle-plugin/src/main/kotlin/app/cash/backfila/client/sqldelight/plugin/GenerateBackfilaRecordSourceSqlTask.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,15 @@ import org.gradle.api.provider.Property
66
import org.gradle.api.tasks.Input
77
import org.gradle.api.tasks.OutputDirectory
88
import org.gradle.api.tasks.TaskAction
9+
import java.io.File
910

1011
abstract class GenerateBackfilaRecordSourceSqlTask : DefaultTask() {
1112
@get:Input
1213
abstract val backfill: Property<SqlDelightRecordSource>
1314

15+
@get:Input
16+
abstract val packageName: Property<String>
17+
1418
@get:OutputDirectory
1519
abstract val sqlDirectory: DirectoryProperty
1620

@@ -23,7 +27,7 @@ abstract class GenerateBackfilaRecordSourceSqlTask : DefaultTask() {
2327
val recordColumns = backfillConfig.recordColumns
2428
val name = backfillConfig.name.replaceFirstChar { it.uppercase() }
2529

26-
val sqlFile = sqlDirectory.file("$name.sq").get().asFile
30+
val sqlFile = File(sqlDirectory.get().asFile, "${packageName.get()}/$name.sq")
2731
sqlFile.parentFile.mkdirs()
2832
sqlFile.writeText(
2933
"""

0 commit comments

Comments
 (0)