1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-25 16:07:12 -07:00
This commit is contained in:
Cedric Beust 2017-05-04 09:39:52 -07:00
parent b74c4d65b2
commit 686d98cdc9

View file

@ -49,7 +49,7 @@ class AptPlugin @Inject constructor(val dependencyManager: DependencyManager, va
listOf(aptConfigs[project.name]?.outputDir, kaptConfig?.outputDir) listOf(aptConfigs[project.name]?.outputDir, kaptConfig?.outputDir)
.filterNotNull() .filterNotNull()
.distinct() .distinct()
.map { generatedDir(project, it) } .map { aptGeneratedDir(project, it) }
.forEach { .forEach {
it.normalize().absolutePath.let { path -> it.normalize().absolutePath.let { path ->
context.logger.log(project.name, 1, " Deleting " + path) context.logger.log(project.name, 1, " Deleting " + path)
@ -65,7 +65,7 @@ class AptPlugin @Inject constructor(val dependencyManager: DependencyManager, va
val kaptConfig = kaptConfigs[project?.name] val kaptConfig = kaptConfigs[project?.name]
if (project != null && kaptConfig != null) { if (project != null && kaptConfig != null) {
kaptConfig.let { config -> kaptConfig.let { config ->
val c = generatedClasses(project, config.outputDir) val c = kaptClassesDir(project, config.outputDir)
File(c).mkdirs() File(c).mkdirs()
result.add(FileDependency(c)) result.add(FileDependency(c))
} }
@ -73,32 +73,32 @@ class AptPlugin @Inject constructor(val dependencyManager: DependencyManager, va
return result return result
} }
private fun generatedDir(project: Project, outputDir: String) : File private fun aptGeneratedDir(project: Project, outputDir: String) : File
= File(KFiles.joinDir(project.directory, KFiles.KOBALT_BUILD_DIR, outputDir)) = File(KFiles.joinDir(project.directory, KFiles.KOBALT_BUILD_DIR, outputDir))
// ISourceDirectoryContributor // ISourceDirectoryContributor
override fun sourceDirectoriesFor(project: Project, context: KobaltContext): List<File> { override fun sourceDirectoriesFor(project: Project, context: KobaltContext): List<File> {
val result = arrayListOf<File>() val result = arrayListOf<File>()
aptConfigs[project.name]?.let { config -> aptConfigs[project.name]?.let { config ->
result.add(generatedDir(project, config.outputDir)) result.add(aptGeneratedDir(project, config.outputDir))
} }
kaptConfigs[project.name]?.let { config -> kaptConfigs[project.name]?.let { config ->
result.add(File(generatedSources(project, config.outputDir))) result.add(File(kaptSourcesDir(project, config.outputDir)))
} }
return result return result
} }
private fun generated(project: Project, outputDir: String) = private fun kaptGenerated(project: Project, outputDir: String) =
KFiles.joinAndMakeDir(project.directory, project.buildDirectory, outputDir) KFiles.joinAndMakeDir(project.directory, project.buildDirectory, outputDir)
private fun generatedSources(project: Project, outputDir: String) = private fun kaptSourcesDir(project: Project, outputDir: String) =
KFiles.joinDir(generated(project, outputDir), "sources") KFiles.joinDir(kaptGenerated(project, outputDir), "sources")
private fun generatedStubs(project: Project, outputDir: String) = private fun kaptStubsDir(project: Project, outputDir: String) =
KFiles.joinDir(generated(project, outputDir), "stubs") KFiles.joinDir(kaptGenerated(project, outputDir), "stubs")
private fun generatedClasses(project: Project, outputDir: String) = private fun kaptClassesDir(project: Project, outputDir: String) =
KFiles.joinDir(generated(project, outputDir), "classes") KFiles.joinDir(kaptGenerated(project, outputDir), "classes")
// ITaskContributor // ITaskContributor
override fun tasksFor(project: Project, context: KobaltContext): List<DynamicTask> { override fun tasksFor(project: Project, context: KobaltContext): List<DynamicTask> {
@ -124,11 +124,11 @@ class AptPlugin @Inject constructor(val dependencyManager: DependencyManager, va
var success = true var success = true
kaptConfigs[project.name]?.let { config -> kaptConfigs[project.name]?.let { config ->
val sourceDirs = listOf( val sourceDirs = listOf(
generatedStubs(project, config.outputDir), kaptStubsDir(project, config.outputDir),
generatedSources(project, config.outputDir)) kaptSourcesDir(project, config.outputDir))
val sourceFiles = KFiles.findSourceFiles(project.directory, sourceDirs, listOf("kt")).toList() val sourceFiles = KFiles.findSourceFiles(project.directory, sourceDirs, listOf("kt")).toList()
val buildDirectory = File(KFiles.joinDir(project.directory, val buildDirectory = File(KFiles.joinDir(project.directory,
generatedClasses(project, config.outputDir))) kaptClassesDir(project, config.outputDir)))
val flags = listOf<String>() val flags = listOf<String>()
val cai = CompilerActionInfo(project.directory, allDependencies(project), sourceFiles, listOf(".kt"), val cai = CompilerActionInfo(project.directory, allDependencies(project), sourceFiles, listOf(".kt"),
buildDirectory, flags, emptyList(), forceRecompile = true, compilerSeparateProcess = true) buildDirectory, flags, emptyList(), forceRecompile = true, compilerSeparateProcess = true)
@ -160,8 +160,8 @@ class AptPlugin @Inject constructor(val dependencyManager: DependencyManager, va
val flags = arrayListOf<String>() val flags = arrayListOf<String>()
val kaptConfig = kaptConfigs[project.name] val kaptConfig = kaptConfigs[project.name]
kaptConfig?.let { config -> kaptConfig?.let { config ->
val generated = generated(project, config.outputDir) val generated = kaptGenerated(project, config.outputDir)
val generatedSources = generatedSources(project, config.outputDir).replace("//", "/") val generatedSources = kaptSourcesDir(project, config.outputDir).replace("//", "/")
File(generatedSources).mkdirs() File(generatedSources).mkdirs()
// //
@ -192,8 +192,8 @@ class AptPlugin @Inject constructor(val dependencyManager: DependencyManager, va
val kaptPluginFlags = arrayListOf<String>() val kaptPluginFlags = arrayListOf<String>()
val verbose = KobaltLogger.LOG_LEVEL >= 2 val verbose = KobaltLogger.LOG_LEVEL >= 2
listOf("sources=" + generatedSources, listOf("sources=" + generatedSources,
"classes=" + generatedClasses(project, config.outputDir), "classes=" + kaptClassesDir(project, config.outputDir),
"stubs=" + generatedStubs(project, config.outputDir), "stubs=" + kaptStubsDir(project, config.outputDir),
"verbose=$verbose", "verbose=$verbose",
"aptOnly=true").forEach { "aptOnly=true").forEach {
kaptPluginFlags.add(kaptPluginFlag(it)) kaptPluginFlags.add(kaptPluginFlag(it))
@ -244,7 +244,7 @@ class AptPlugin @Inject constructor(val dependencyManager: DependencyManager, va
fun addFlags(outputDir: String) { fun addFlags(outputDir: String) {
aptDependencies[project.name]?.let { aptDependencies[project.name]?.let {
result.add("-s") result.add("-s")
generatedDir(project, outputDir).let { generatedSource -> aptGeneratedDir(project, outputDir).let { generatedSource ->
generatedSource.mkdirs() generatedSource.mkdirs()
result.add(generatedSource.path) result.add(generatedSource.path)
} }