File tree Expand file tree Collapse file tree 2 files changed +10
-4
lines changed
client-sqldelight-gradle-plugin/src/main/kotlin/app/cash/backfila/client/sqldelight/plugin Expand file tree Collapse file tree 2 files changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ import org.gradle.api.Project
8
8
import org.gradle.api.file.Directory
9
9
import org.gradle.api.provider.Property
10
10
import org.gradle.api.provider.Provider
11
+ import org.gradle.api.tasks.TaskProvider
11
12
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
12
13
13
14
class BackfilaSqlDelightGradlePlugin : Plugin <Project > {
@@ -26,7 +27,8 @@ class BackfilaSqlDelightGradlePlugin : Plugin<Project> {
26
27
GenerateBackfilaRecordSourceSqlTask ::class .java,
27
28
) {
28
29
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)
30
32
}
31
33
32
34
val sqlDelightExtension = target.extensions.findByType(SqlDelightExtension ::class .java)
@@ -36,9 +38,9 @@ class BackfilaSqlDelightGradlePlugin : Plugin<Project> {
36
38
37
39
sqlDelightExtension.databases.all { sqlDelightDatabase ->
38
40
sqlDelightDatabase.srcDirs.from(
39
- baseSqlDirectory.map<List <Directory >> { sqlDirectory ->
41
+ baseSqlDirectory.map<List <TaskProvider < * >>> { _ ->
40
42
if (packageProvider.get() == sqlDelightDatabase.packageName.get() && databaseClassNameProvider.get() == sqlDelightDatabase.name) {
41
- listOf (sqlDirectory )
43
+ listOf (sqlTask )
42
44
} else {
43
45
listOf ()
44
46
}
Original file line number Diff line number Diff line change @@ -6,11 +6,15 @@ import org.gradle.api.provider.Property
6
6
import org.gradle.api.tasks.Input
7
7
import org.gradle.api.tasks.OutputDirectory
8
8
import org.gradle.api.tasks.TaskAction
9
+ import java.io.File
9
10
10
11
abstract class GenerateBackfilaRecordSourceSqlTask : DefaultTask () {
11
12
@get:Input
12
13
abstract val backfill: Property <SqlDelightRecordSource >
13
14
15
+ @get:Input
16
+ abstract val packageName: Property <String >
17
+
14
18
@get:OutputDirectory
15
19
abstract val sqlDirectory: DirectoryProperty
16
20
@@ -23,7 +27,7 @@ abstract class GenerateBackfilaRecordSourceSqlTask : DefaultTask() {
23
27
val recordColumns = backfillConfig.recordColumns
24
28
val name = backfillConfig.name.replaceFirstChar { it.uppercase() }
25
29
26
- val sqlFile = sqlDirectory.file( " $name .sq " ). get().asFile
30
+ val sqlFile = File ( sqlDirectory.get().asFile, " ${packageName. get()} / $name .sq " )
27
31
sqlFile.parentFile.mkdirs()
28
32
sqlFile.writeText(
29
33
"""
You can’t perform that action at this time.
0 commit comments