1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-26 00:17:11 -07:00

Tests can now run full builds.

This commit is contained in:
Cedric Beust 2017-04-06 11:31:05 -07:00
parent 24d902bfbf
commit ba98592f49
6 changed files with 75 additions and 28 deletions

View file

@ -28,7 +28,6 @@ class Plugins @Inject constructor (val taskManagerProvider : Provider<TaskManage
val depManager: DependencyManager,
val settings: KobaltSettings,
val executors: KobaltExecutors,
val pluginInfo: PluginInfo,
val incrementalManagerFactory: IncrementalManager.IFactory,
val taskManager: TaskManager) {
@ -171,6 +170,9 @@ class Plugins @Inject constructor (val taskManagerProvider : Provider<TaskManage
val dependencies = arrayListOf<IClasspathDependency>()
// @Inject
// lateinit var pluginInfo: PluginInfo
fun installPlugins(dependencies: List<IClasspathDependency>, scriptClassLoader: ClassLoader) {
val executor = executors.newExecutor("Plugins", 5)
dependencies.forEach {
@ -191,6 +193,8 @@ class Plugins @Inject constructor (val taskManagerProvider : Provider<TaskManage
// The plug-in is pointing to a jar file, read kobalt-plugin.xml from it
JarUtils.extractTextFile(JarFile(file), PluginInfo.PLUGIN_XML)
}
val pluginInfo = Kobalt.INJECTOR.getInstance(PluginInfo::class.java)
if (pluginXml != null) {
val pluginClassLoader = URLClassLoader(arrayOf(file.toURI().toURL()))
val thisPluginInfo = PluginInfo.readPluginXml(pluginXml, pluginClassLoader, scriptClassLoader)

View file

@ -17,7 +17,7 @@ import javax.inject.Singleton
@Singleton
class TaskManager @Inject constructor(val args: Args,
val incrementalManagerFactory: IncrementalManager.IFactory,
val pluginInfo: PluginInfo, val kobaltLog: ParallelLogger) {
val kobaltLog: ParallelLogger) {
private val dependsOn = TreeMultimap.create<String, String>()
private val reverseDependsOn = TreeMultimap.create<String, String>()
private val runBefore = TreeMultimap.create<String, String>()
@ -80,6 +80,9 @@ class TaskManager @Inject constructor(val args: Args,
}
}
// @Inject
// lateinit var pluginInfo: PluginInfo
fun runTargets(passedTaskNames: List<String>, allProjects: List<Project>): RunTargetResult {
// Check whether tasks passed at command line exist
passedTaskNames.forEach {
@ -87,6 +90,7 @@ class TaskManager @Inject constructor(val args: Args,
throw KobaltException("Unknown task: $it")
}
val pluginInfo = Kobalt.INJECTOR.getInstance(PluginInfo::class.java)
var taskInfos = calculateDependentTaskNames(passedTaskNames, allProjects)
// Remove non existing tasks (e.g. dynamic task defined for a single project)