From 72a03ce1570ec61e70f8704eb1fd6313b10a58a7 Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Sun, 11 Oct 2015 12:01:55 -0700 Subject: [PATCH] Kobalt.findPlugin() --- src/main/kotlin/com/beust/kobalt/Plugins.kt | 8 ++++---- src/main/kotlin/com/beust/kobalt/api/Kobalt.kt | 4 ++++ src/main/kotlin/com/beust/kobalt/api/KobaltContext.kt | 5 ++++- src/main/kotlin/com/beust/kobalt/maven/RepoFinder.kt | 2 +- src/main/kotlin/com/beust/kobalt/plugin/apt/AptPlugin.kt | 3 ++- .../kotlin/com/beust/kobalt/plugin/kotlin/KotlinPlugin.kt | 2 +- .../com/beust/kobalt/plugin/packaging/PackagingPlugin.kt | 3 ++- .../com/beust/kobalt/plugin/publish/PublishPlugin.kt | 6 +++--- 8 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/main/kotlin/com/beust/kobalt/Plugins.kt b/src/main/kotlin/com/beust/kobalt/Plugins.kt index c9a96f18..5b53c6b3 100644 --- a/src/main/kotlin/com/beust/kobalt/Plugins.kt +++ b/src/main/kotlin/com/beust/kobalt/Plugins.kt @@ -51,8 +51,6 @@ public class Plugins @Inject constructor (val taskManagerProvider : Provider) { addPluginInstance(Kobalt.INJECTOR.getInstance(pluginClass)) } @@ -74,8 +72,6 @@ public class Plugins @Inject constructor (val taskManagerProvider : Provider get() = ArrayList(pluginMap.values()) @@ -83,6 +79,10 @@ public class Plugins @Inject constructor (val taskManagerProvider : Provider = arrayListOf() + + val defaultPlugin : Plugin get() = findPlugin(DefaultPlugin.NAME)!! + + public fun findPlugin(name: String) : Plugin? = pluginMap.get(name) } fun applyPlugins(context: KobaltContext, projects: List) { diff --git a/src/main/kotlin/com/beust/kobalt/api/Kobalt.kt b/src/main/kotlin/com/beust/kobalt/api/Kobalt.kt index 00049ea7..e6e67c55 100644 --- a/src/main/kotlin/com/beust/kobalt/api/Kobalt.kt +++ b/src/main/kotlin/com/beust/kobalt/api/Kobalt.kt @@ -1,6 +1,8 @@ package com.beust.kobalt.api +import com.beust.kobalt.Plugins import com.beust.kobalt.misc.Topological +import com.beust.kobalt.plugins import com.google.common.collect.ArrayListMultimap import com.google.inject.Injector import java.io.File @@ -92,5 +94,7 @@ public class Kobalt { */ fun sortProjects(allProjects: ArrayList) : List = topological.sort(allProjects) + + fun findPlugin(name: String) = Plugins.findPlugin(name) } } diff --git a/src/main/kotlin/com/beust/kobalt/api/KobaltContext.kt b/src/main/kotlin/com/beust/kobalt/api/KobaltContext.kt index e98360b4..59d9682a 100644 --- a/src/main/kotlin/com/beust/kobalt/api/KobaltContext.kt +++ b/src/main/kotlin/com/beust/kobalt/api/KobaltContext.kt @@ -1,6 +1,9 @@ package com.beust.kobalt.api import com.beust.kobalt.Args +import com.beust.kobalt.Plugins -public class KobaltContext(val args: Args) +public class KobaltContext(val args: Args) { + fun findPlugin(name: String) = Plugins.findPlugin(name) +} diff --git a/src/main/kotlin/com/beust/kobalt/maven/RepoFinder.kt b/src/main/kotlin/com/beust/kobalt/maven/RepoFinder.kt index c1a8d5a9..2933e62e 100644 --- a/src/main/kotlin/com/beust/kobalt/maven/RepoFinder.kt +++ b/src/main/kotlin/com/beust/kobalt/maven/RepoFinder.kt @@ -42,7 +42,7 @@ public class RepoFinder @Inject constructor(val http: Http, val executors: Kobal val cs = ExecutorCompletionService(executor) try { - log(2, "Looking for ${id}") + log(2, "Looking for $id") Kobalt.repos.forEach { cs.submit(RepoFinderCallable(id, it)) } for (i in 0..Kobalt.repos.size() - 1) { try { diff --git a/src/main/kotlin/com/beust/kobalt/plugin/apt/AptPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/apt/AptPlugin.kt index 68f0011e..d4b00a94 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/apt/AptPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/apt/AptPlugin.kt @@ -3,6 +3,7 @@ package com.beust.kobalt.plugin.apt import com.beust.kobalt.Plugins import com.beust.kobalt.api.BasePlugin import com.beust.kobalt.api.Dependencies +import com.beust.kobalt.api.Kobalt import com.beust.kobalt.api.Project import com.beust.kobalt.api.annotation.Directive import com.beust.kobalt.api.annotation.Task @@ -33,5 +34,5 @@ public class AptPlugin : BasePlugin(), KobaltLogger { @Directive public fun Dependencies.apt(dep: String) { - (Plugins.getPlugin("apt") as AptPlugin).addApt(dep) + (Kobalt.findPlugin("apt") as AptPlugin).addApt(dep) } \ No newline at end of file diff --git a/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinPlugin.kt index df91ab2d..05d39ca9 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/kotlin/KotlinPlugin.kt @@ -113,7 +113,7 @@ public fun kotlinProject(vararg project: Project, init: KotlinProject.() -> Unit class KotlinCompilerConfig { fun args(vararg options: String) { - (Plugins.getPlugin("kotlin") as KotlinPlugin).addCompilerArgs(*options) + (Kobalt.findPlugin("kotlin") as KotlinPlugin).addCompilerArgs(*options) } } diff --git a/src/main/kotlin/com/beust/kobalt/plugin/packaging/PackagingPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/packaging/PackagingPlugin.kt index 40fe69e2..f0467e63 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/packaging/PackagingPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/packaging/PackagingPlugin.kt @@ -5,6 +5,7 @@ import com.beust.kobalt.IFileSpec.Glob import com.beust.kobalt.IFileSpec import com.beust.kobalt.Plugins import com.beust.kobalt.api.BasePlugin +import com.beust.kobalt.api.Kobalt import com.beust.kobalt.api.Project import com.beust.kobalt.api.annotation.Directive import com.beust.kobalt.api.annotation.Task @@ -239,7 +240,7 @@ class Package(val project: Project) : AttributeHolder { val zips = arrayListOf() init { - (Plugins.getPlugin("packaging") as PackagingPlugin).addPackage(this) + (Kobalt.findPlugin("packaging") as PackagingPlugin).addPackage(this) } @Directive diff --git a/src/main/kotlin/com/beust/kobalt/plugin/publish/PublishPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/publish/PublishPlugin.kt index 19e16420..f63ca471 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/publish/PublishPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/publish/PublishPlugin.kt @@ -3,6 +3,7 @@ package com.beust.kobalt.plugin.publish import com.beust.klaxon.string import com.beust.kobalt.Plugins import com.beust.kobalt.api.BasePlugin +import com.beust.kobalt.api.Kobalt import com.beust.kobalt.api.Project import com.beust.kobalt.api.annotation.Directive import com.beust.kobalt.api.annotation.Task @@ -87,8 +88,7 @@ public class PublishPlugin @Inject constructor(val http: Http, val files: com.be // configuration?.let { conf : JCenterConfiguration -> conf.files.forEach { - val taskResult = jcenter.uploadFile(File(project.directory, it.first), it.second /* url */, - conf) + val taskResult = jcenter.uploadFile(File(project.directory, it.first), it.second /* url */, conf) success = success and taskResult.success if (!taskResult.success) { messages.add(taskResult.errorMessage!!) @@ -123,6 +123,6 @@ public fun jcenter(project: Project, ini: JCenterConfiguration.() -> Unit) : JCenterConfiguration { val pd = JCenterConfiguration(project) pd.ini() - (Plugins.getPlugin("publish") as PublishPlugin).addConfiguration(project.name!!, pd) + (Kobalt.findPlugin("publish") as PublishPlugin).addConfiguration(project.name!!, pd) return pd }