mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-26 08:27:12 -07:00
initial work on parallel logs.
This commit is contained in:
parent
fa86f90e31
commit
b5e9962d31
11 changed files with 169 additions and 29 deletions
|
@ -9,6 +9,7 @@ import com.beust.kobalt.api.KobaltContext
|
|||
import com.beust.kobalt.api.Project
|
||||
import com.beust.kobalt.internal.ICompilerAction
|
||||
import com.beust.kobalt.internal.JvmCompiler
|
||||
import com.beust.kobalt.internal.KobaltLog
|
||||
import com.beust.kobalt.misc.KFiles
|
||||
import com.beust.kobalt.misc.Strings
|
||||
import com.beust.kobalt.misc.log
|
||||
|
@ -22,7 +23,8 @@ import javax.tools.JavaFileObject
|
|||
import javax.tools.ToolProvider
|
||||
|
||||
@Singleton
|
||||
class JavaCompiler @Inject constructor(val jvmCompiler: JvmCompiler) : ICompiler {
|
||||
class JavaCompiler @Inject constructor(val jvmCompiler: JvmCompiler,
|
||||
val kobaltLog: KobaltLog) : ICompiler {
|
||||
fun compilerAction(executable: File) = object : ICompilerAction {
|
||||
override fun compile(projectName: String?, info: CompilerActionInfo): TaskResult {
|
||||
if (info.sourceFiles.isEmpty()) {
|
||||
|
@ -58,7 +60,8 @@ class JavaCompiler @Inject constructor(val jvmCompiler: JvmCompiler) : ICompiler
|
|||
command = "javac " + allArgs.joinToString(" ") + " " + info.sourceFiles.joinToString(" ")
|
||||
log(2, "Launching\n$command")
|
||||
|
||||
log(1, " Java compiling " + Strings.pluralizeAll(info.sourceFiles.size, "file"))
|
||||
kobaltLog.log(projectName!!, 1,
|
||||
" Java compiling " + Strings.pluralizeAll(info.sourceFiles.size, "file"))
|
||||
val result = task.call()
|
||||
errorMessage = dc.diagnostics.joinToString("\n")
|
||||
result
|
||||
|
|
|
@ -3,10 +3,7 @@ package com.beust.kobalt.plugin.kotlin
|
|||
import com.beust.kobalt.KobaltException
|
||||
import com.beust.kobalt.TaskResult
|
||||
import com.beust.kobalt.api.*
|
||||
import com.beust.kobalt.internal.ICompilerAction
|
||||
import com.beust.kobalt.internal.JvmCompiler
|
||||
import com.beust.kobalt.internal.KobaltSettings
|
||||
import com.beust.kobalt.internal.KotlinJarFiles
|
||||
import com.beust.kobalt.internal.*
|
||||
import com.beust.kobalt.kotlin.ParentLastClassLoader
|
||||
import com.beust.kobalt.maven.DependencyManager
|
||||
import com.beust.kobalt.maven.dependency.FileDependency
|
||||
|
@ -38,14 +35,16 @@ class KotlinCompiler @Inject constructor(
|
|||
val executors: KobaltExecutors,
|
||||
val settings: KobaltSettings,
|
||||
val jvmCompiler: JvmCompiler,
|
||||
val kotlinJarFiles: KotlinJarFiles) {
|
||||
val kotlinJarFiles: KotlinJarFiles,
|
||||
val kobaltLog: KobaltLog) {
|
||||
|
||||
val compilerAction = object: ICompilerAction {
|
||||
override fun compile(projectName: String?, info: CompilerActionInfo): TaskResult {
|
||||
val version = settings.kobaltCompilerVersion
|
||||
if (! info.outputDir.path.endsWith("ript.jar")) {
|
||||
// Don't display the message if compiling Build.kt
|
||||
log(1, " Kotlin $version compiling " + Strings.pluralizeAll(info.sourceFiles.size, "file"))
|
||||
kobaltLog.log(projectName!!, 1,
|
||||
" Kotlin $version compiling " + Strings.pluralizeAll(info.sourceFiles.size, "file"))
|
||||
}
|
||||
val cp = compilerFirst(info.dependencies.map { it.jarFile.get() })
|
||||
val infoDir = info.directory
|
||||
|
|
|
@ -9,6 +9,7 @@ import com.beust.kobalt.api.annotation.Task
|
|||
import com.beust.kobalt.archive.*
|
||||
import com.beust.kobalt.internal.IncrementalManager
|
||||
import com.beust.kobalt.internal.JvmCompilerPlugin
|
||||
import com.beust.kobalt.internal.KobaltLog
|
||||
import com.beust.kobalt.maven.DependencyManager
|
||||
import com.beust.kobalt.maven.PomGenerator
|
||||
import com.beust.kobalt.misc.KFiles
|
||||
|
@ -23,6 +24,7 @@ class PackagingPlugin @Inject constructor(val dependencyManager : DependencyMana
|
|||
val incrementalManagerFactory: IncrementalManager.IFactory,
|
||||
val executors: KobaltExecutors, val jarGenerator: JarGenerator, val warGenerator: WarGenerator,
|
||||
val zipGenerator: ZipGenerator, val taskContributor: TaskContributor,
|
||||
val kobaltLog: KobaltLog,
|
||||
val pomFactory: PomGenerator.IFactory, val configActor: ConfigActor<InstallConfig>)
|
||||
: BasePlugin(), ITaskContributor, IIncrementalAssemblyContributor,
|
||||
IConfigActor<InstallConfig> by configActor {
|
||||
|
@ -73,7 +75,8 @@ class PackagingPlugin @Inject constructor(val dependencyManager : DependencyMana
|
|||
{ project ->
|
||||
try {
|
||||
packages.filter { it.project.name == project.name }.forEach { packageConfig ->
|
||||
packageConfig.jars.forEach { jarGenerator.generateJar(packageConfig.project, context, it) }
|
||||
packageConfig.jars.forEach { jarGenerator.generateJar(packageConfig.project, context, it,
|
||||
kobaltLog) }
|
||||
packageConfig.wars.forEach { warGenerator.generateWar(packageConfig.project, context, it) }
|
||||
packageConfig.zips.forEach { zipGenerator.generateZip(packageConfig.project, context, it) }
|
||||
if (packageConfig.generatePom) {
|
||||
|
|
|
@ -7,6 +7,7 @@ import com.beust.kobalt.api.KobaltContext
|
|||
import com.beust.kobalt.api.Project
|
||||
import com.beust.kobalt.archive.Archives
|
||||
import com.beust.kobalt.archive.War
|
||||
import com.beust.kobalt.internal.KobaltLog
|
||||
import com.beust.kobalt.maven.DependencyManager
|
||||
import com.beust.kobalt.misc.From
|
||||
import com.beust.kobalt.misc.IncludedFile
|
||||
|
@ -18,7 +19,7 @@ import java.io.OutputStream
|
|||
import java.nio.file.Paths
|
||||
import java.util.jar.JarOutputStream
|
||||
|
||||
class WarGenerator @Inject constructor(val dependencyManager: DependencyManager){
|
||||
class WarGenerator @Inject constructor(val dependencyManager: DependencyManager, val kobaltLog: KobaltLog) {
|
||||
|
||||
companion object {
|
||||
val WEB_INF = "WEB-INF"
|
||||
|
@ -88,7 +89,7 @@ class WarGenerator @Inject constructor(val dependencyManager: DependencyManager)
|
|||
val allFiles = findIncludedFiles(project, context, war)
|
||||
val jarFactory = { os: OutputStream -> JarOutputStream(os, manifest) }
|
||||
return Archives.generateArchive(project, context, war.name, ".war", allFiles,
|
||||
false /* don't expand jar files */, jarFactory)
|
||||
false /* don't expand jar files */, jarFactory, kobaltLog)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -5,12 +5,13 @@ import com.beust.kobalt.api.KobaltContext
|
|||
import com.beust.kobalt.api.Project
|
||||
import com.beust.kobalt.archive.Archives
|
||||
import com.beust.kobalt.archive.Zip
|
||||
import com.beust.kobalt.internal.KobaltLog
|
||||
import com.beust.kobalt.maven.DependencyManager
|
||||
import com.google.inject.Inject
|
||||
|
||||
class ZipGenerator @Inject constructor(val dependencyManager: DependencyManager){
|
||||
class ZipGenerator @Inject constructor(val dependencyManager: DependencyManager, val kobaltLog: KobaltLog) {
|
||||
fun generateZip(project: Project, context: KobaltContext, zip: Zip) {
|
||||
val allFiles = JarGenerator.findIncludedFiles(project.directory, zip.includedFiles, zip.excludes)
|
||||
Archives.generateArchive(project, context, zip.name, ".zip", allFiles)
|
||||
Archives.generateArchive(project, context, zip.name, ".zip", allFiles, kobaltLog = kobaltLog)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue