1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-25 07:57: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)
.filterNotNull()
.distinct()
.map { generatedDir(project, it) }
.map { aptGeneratedDir(project, it) }
.forEach {
it.normalize().absolutePath.let { 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]
if (project != null && kaptConfig != null) {
kaptConfig.let { config ->
val c = generatedClasses(project, config.outputDir)
val c = kaptClassesDir(project, config.outputDir)
File(c).mkdirs()
result.add(FileDependency(c))
}
@ -73,32 +73,32 @@ class AptPlugin @Inject constructor(val dependencyManager: DependencyManager, va
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))
// ISourceDirectoryContributor
override fun sourceDirectoriesFor(project: Project, context: KobaltContext): List<File> {
val result = arrayListOf<File>()
aptConfigs[project.name]?.let { config ->
result.add(generatedDir(project, config.outputDir))
result.add(aptGeneratedDir(project, config.outputDir))
}
kaptConfigs[project.name]?.let { config ->
result.add(File(generatedSources(project, config.outputDir)))
result.add(File(kaptSourcesDir(project, config.outputDir)))
}
return result
}
private fun generated(project: Project, outputDir: String) =
private fun kaptGenerated(project: Project, outputDir: String) =
KFiles.joinAndMakeDir(project.directory, project.buildDirectory, outputDir)
private fun generatedSources(project: Project, outputDir: String) =
KFiles.joinDir(generated(project, outputDir), "sources")
private fun generatedStubs(project: Project, outputDir: String) =
KFiles.joinDir(generated(project, outputDir), "stubs")
private fun generatedClasses(project: Project, outputDir: String) =
KFiles.joinDir(generated(project, outputDir), "classes")
private fun kaptSourcesDir(project: Project, outputDir: String) =
KFiles.joinDir(kaptGenerated(project, outputDir), "sources")
private fun kaptStubsDir(project: Project, outputDir: String) =
KFiles.joinDir(kaptGenerated(project, outputDir), "stubs")
private fun kaptClassesDir(project: Project, outputDir: String) =
KFiles.joinDir(kaptGenerated(project, outputDir), "classes")
// ITaskContributor
override fun tasksFor(project: Project, context: KobaltContext): List<DynamicTask> {
@ -108,11 +108,11 @@ class AptPlugin @Inject constructor(val dependencyManager: DependencyManager, va
listOf(
DynamicTask(this, "runKapt", "Run kapt", AnnotationDefault.GROUP, project,
reverseDependsOn = listOf("compile"), runAfter = listOf("clean"),
closure = {p: Project -> taskRunKapt(p)}),
closure = {p: Project -> taskRunKapt(p)}),
DynamicTask(this, "compileKapt", "Compile the sources generated by kapt",
AnnotationDefault.GROUP, project,
dependsOn = listOf("runKapt"), reverseDependsOn = listOf("compile"),
closure = {p: Project -> taskCompileKapt(p)})
closure = {p: Project -> taskCompileKapt(p)})
)
} else {
emptyList()
@ -124,11 +124,11 @@ class AptPlugin @Inject constructor(val dependencyManager: DependencyManager, va
var success = true
kaptConfigs[project.name]?.let { config ->
val sourceDirs = listOf(
generatedStubs(project, config.outputDir),
generatedSources(project, config.outputDir))
kaptStubsDir(project, config.outputDir),
kaptSourcesDir(project, config.outputDir))
val sourceFiles = KFiles.findSourceFiles(project.directory, sourceDirs, listOf("kt")).toList()
val buildDirectory = File(KFiles.joinDir(project.directory,
generatedClasses(project, config.outputDir)))
kaptClassesDir(project, config.outputDir)))
val flags = listOf<String>()
val cai = CompilerActionInfo(project.directory, allDependencies(project), sourceFiles, listOf(".kt"),
buildDirectory, flags, emptyList(), forceRecompile = true, compilerSeparateProcess = true)
@ -160,8 +160,8 @@ class AptPlugin @Inject constructor(val dependencyManager: DependencyManager, va
val flags = arrayListOf<String>()
val kaptConfig = kaptConfigs[project.name]
kaptConfig?.let { config ->
val generated = generated(project, config.outputDir)
val generatedSources = generatedSources(project, config.outputDir).replace("//", "/")
val generated = kaptGenerated(project, config.outputDir)
val generatedSources = kaptSourcesDir(project, config.outputDir).replace("//", "/")
File(generatedSources).mkdirs()
//
@ -192,8 +192,8 @@ class AptPlugin @Inject constructor(val dependencyManager: DependencyManager, va
val kaptPluginFlags = arrayListOf<String>()
val verbose = KobaltLogger.LOG_LEVEL >= 2
listOf("sources=" + generatedSources,
"classes=" + generatedClasses(project, config.outputDir),
"stubs=" + generatedStubs(project, config.outputDir),
"classes=" + kaptClassesDir(project, config.outputDir),
"stubs=" + kaptStubsDir(project, config.outputDir),
"verbose=$verbose",
"aptOnly=true").forEach {
kaptPluginFlags.add(kaptPluginFlag(it))
@ -244,7 +244,7 @@ class AptPlugin @Inject constructor(val dependencyManager: DependencyManager, va
fun addFlags(outputDir: String) {
aptDependencies[project.name]?.let {
result.add("-s")
generatedDir(project, outputDir).let { generatedSource ->
aptGeneratedDir(project, outputDir).let { generatedSource ->
generatedSource.mkdirs()
result.add(generatedSource.path)
}