Skip to content

Commit 10d2c78

Browse files
committed
Sync all vite directory
1 parent 12d4723 commit 10d2c78

2 files changed

Lines changed: 35 additions & 13 deletions

File tree

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
11
package io.github.turansky.kfc.gradle.plugin
22

3-
internal const val DOT_ENV = ".env"
4-
internal const val DOT_ENV_PRODUCTION = ".env.production"
5-
internal const val DOT_ENV_DEVELOPMENT = ".env.development"
6-
73
internal const val DOT_ENV_LOCAL = ".env.local"

kfc/kfc-gradle-plugin/src/main/kotlin/io/github/turansky/kfc/gradle/plugin/KotlinVitePrepareTask.kt

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,6 @@ import org.gradle.api.tasks.*
88
import org.gradle.kotlin.dsl.listProperty
99
import javax.inject.Inject
1010

11-
private val DOT_ENV_FILES = setOf(
12-
DOT_ENV,
13-
DOT_ENV_PRODUCTION,
14-
DOT_ENV_DEVELOPMENT,
15-
)
16-
1711
@CacheableTask
1812
abstract class KotlinVitePrepareTask :
1913
KotlinViteTaskBase() {
@@ -34,13 +28,20 @@ abstract class KotlinVitePrepareTask :
3428
private val workingDirectory: Provider<Directory> =
3529
npmProject.dir
3630

31+
@get:InputDirectory
32+
private val viteConfigDirectory: DirectoryProperty =
33+
objectFactory.directoryProperty()
34+
.convention(projectDir.dir("vite"))
35+
3736
@get:InputFile
3837
@get:PathSensitive(PathSensitivity.RELATIVE)
3938
abstract val defaultConfigFile: RegularFileProperty
4039

40+
@get:InputFile
41+
@get:PathSensitive(PathSensitivity.RELATIVE)
4142
private val configFile: Provider<RegularFile> =
4243
objectFactory.fileProperty()
43-
.convention(projectDir.file("vite/${Vite.CONFIG_FILE}"))
44+
.convention(viteConfigDirectory.file(Vite.CONFIG_FILE))
4445
.filter { it.asFile.exists() }
4546
.orElse(defaultConfigFile)
4647

@@ -60,12 +61,37 @@ abstract class KotlinVitePrepareTask :
6061
fs.syncFile(configFile, workingDirectory)
6162
fs.syncFile(envFile, workingDirectory)
6263

63-
for (fileName in DOT_ENV_FILES) {
64+
val additionalFiles = buildSet<String> {
65+
addAll(getViteConfigFiles(viteConfigDirectory))
66+
addAll(getViteConfigFiles(workingDirectory))
67+
68+
remove(configFile.get().asFile.name)
69+
remove(envFile.get().asFile.name)
70+
}
71+
72+
for (fileName in additionalFiles) {
6473
fs.syncFile(
65-
source = projectDir.file("vite/$fileName"),
74+
source = viteConfigDirectory.file(fileName),
6675
destination = workingDirectory,
6776
strategy = SyncFileStrategy.OPTIONAL_SOURCE,
6877
)
6978
}
7079
}
7180
}
81+
82+
private val EXCLUDED_FILES = setOf(
83+
"package.json",
84+
"karma.conf.js",
85+
)
86+
87+
private fun getViteConfigFiles(
88+
directory: Provider<Directory>
89+
): List<String> {
90+
val allFiles = directory.get().asFile
91+
.listFiles { file -> file.isFile }
92+
?: return emptyList()
93+
94+
return allFiles
95+
.map { it.name }
96+
.filter { it !in EXCLUDED_FILES }
97+
}

0 commit comments

Comments
 (0)