mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-26 00:17:11 -07:00
Allow multiple install{} tags.
Fixes https://github.com/cbeust/kobalt/issues/430.
This commit is contained in:
parent
5b1c9150a5
commit
ba6ab5592e
1 changed files with 18 additions and 10 deletions
|
@ -26,9 +26,9 @@ class PackagingPlugin @Inject constructor(val dependencyManager : DependencyMana
|
|||
val executors: KobaltExecutors, val jarGenerator: JarGenerator, val warGenerator: WarGenerator,
|
||||
val zipGenerator: ZipGenerator, val taskContributor: TaskContributor,
|
||||
val kobaltLog: ParallelLogger,
|
||||
val pomFactory: PomGenerator.IFactory, val configActor: ConfigActor<InstallConfig>)
|
||||
val pomFactory: PomGenerator.IFactory, val configActor: ConfigsActor<InstallConfig>)
|
||||
: BasePlugin(), ITaskContributor, IIncrementalAssemblyContributor,
|
||||
IConfigActor<InstallConfig> by configActor {
|
||||
IConfigsActor<InstallConfig> by configActor {
|
||||
|
||||
companion object {
|
||||
const val PLUGIN_NAME = "Packaging"
|
||||
|
@ -56,9 +56,20 @@ class PackagingPlugin @Inject constructor(val dependencyManager : DependencyMana
|
|||
taskContributor.addVariantTasks(this, project, context, "assemble", group = "build",
|
||||
dependsOn = listOf("compile"),
|
||||
runTask = { doTaskAssemble(project) })
|
||||
taskContributor.addVariantTasks(this, project, context, "install",
|
||||
dependsOn = listOf("assemble"),
|
||||
runTask = { taskInstall(project) })
|
||||
|
||||
configurationFor(project)?.let { configs ->
|
||||
configs.forEach { config ->
|
||||
taskManager.addTask(this, project, config.taskName,
|
||||
description = "Install to \"" + config.target + "\"",
|
||||
group = "build",
|
||||
dependsOn = listOf(PackagingPlugin.TASK_ASSEMBLE),
|
||||
task = { taskInstall(project, context, config) })
|
||||
taskContributor.addVariantTasks(this, project, context, "config.taskName",
|
||||
dependsOn = listOf("assemble"),
|
||||
runTask = { taskInstall(project, context, config) })
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
override fun assemble(project: Project, context: KobaltContext) : IncrementalTaskInfo {
|
||||
|
@ -207,10 +218,7 @@ class PackagingPlugin @Inject constructor(val dependencyManager : DependencyMana
|
|||
// }
|
||||
|
||||
|
||||
@Task(name = PackagingPlugin.TASK_INSTALL, description = "Install the artifacts",
|
||||
dependsOn = arrayOf(PackagingPlugin.TASK_ASSEMBLE))
|
||||
fun taskInstall(project: Project) : TaskResult {
|
||||
val config = configurationFor(project) ?: InstallConfig()
|
||||
private fun taskInstall(project: Project, context: KobaltContext, config: InstallConfig) : TaskResult {
|
||||
val buildDir = project.projectProperties.getString(LIBS_DIR)
|
||||
val buildDirFile = File(buildDir)
|
||||
if (buildDirFile.exists()) {
|
||||
|
@ -254,7 +262,7 @@ fun Project.install(init: InstallConfig.() -> Unit) {
|
|||
}
|
||||
}
|
||||
|
||||
class InstallConfig(var target : String = "libs") : IncludeFromTo()
|
||||
class InstallConfig(var target : String = "libs", var taskName : String = "install") : IncludeFromTo()
|
||||
|
||||
@Directive
|
||||
fun Project.assemble(init: PackageConfig.(p: Project) -> Unit): PackageConfig = let {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue