1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-28 09:08:13 -07:00

Dynamic tasks can be incremental too.

This commit is contained in:
Cedric Beust 2015-12-22 19:45:30 +04:00
parent ea8a812ed2
commit fd21ec1162
10 changed files with 96 additions and 65 deletions

View file

@ -37,7 +37,7 @@ import java.nio.file.Paths
*/
@Singleton
public class AndroidPlugin @Inject constructor(val javaCompiler: JavaCompiler,
val executors: KobaltExecutors, val dependencyManager: DependencyManager)
val executors: KobaltExecutors, val dependencyManager: DependencyManager, val taskContributor : TaskContributor)
: ConfigPlugin<AndroidConfig>(), IClasspathContributor, IRepoContributor, ICompilerFlagContributor,
ICompilerInterceptor, IBuildDirectoryIncerceptor, IRunnerContributor, IClasspathInterceptor,
ISourceDirectoryContributor, IBuildConfigFieldContributor, ITaskContributor, IMavenIdInterceptor {
@ -52,8 +52,6 @@ public class AndroidPlugin @Inject constructor(val javaCompiler: JavaCompiler,
fun isAndroid(project: Project) = configurationFor(project) != null
val taskContributor : TaskContributor = TaskContributor()
override fun apply(project: Project, context: KobaltContext) {
super.apply(project, context)
if (accept(project)) {

View file

@ -34,7 +34,7 @@ fun Project.application(init: ApplicationConfig.() -> Unit) {
@Singleton
class ApplicationPlugin @Inject constructor(val executors: KobaltExecutors,
val dependencyManager: DependencyManager)
val dependencyManager: DependencyManager, val taskContributor : TaskContributor)
: ConfigPlugin<ApplicationConfig>(), IRunnerContributor, ITaskContributor {
companion object {
@ -43,8 +43,6 @@ class ApplicationPlugin @Inject constructor(val executors: KobaltExecutors,
override val name = PLUGIN_NAME
val taskContributor : TaskContributor = TaskContributor()
override fun apply(project: Project, context: KobaltContext) {
super.apply(project, context)
taskContributor.addVariantTasks(this, project, context, "run", runAfter = listOf("install"),

View file

@ -24,8 +24,9 @@ class JavaPlugin @Inject constructor(
override val dependencyManager: DependencyManager,
override val executors: KobaltExecutors,
val javaCompiler: JavaCompiler,
override val jvmCompiler: JvmCompiler)
: JvmCompilerPlugin(localRepo, files, depFactory, dependencyManager, executors, jvmCompiler),
override val jvmCompiler: JvmCompiler,
override val taskContributor : TaskContributor)
: JvmCompilerPlugin(localRepo, files, depFactory, dependencyManager, executors, jvmCompiler, taskContributor),
ICompilerContributor, IDocContributor, ITestSourceDirectoryContributor {
companion object {
const val PLUGIN_NAME = "Java"

View file

@ -28,8 +28,9 @@ class KotlinPlugin @Inject constructor(
override val depFactory: DepFactory,
override val dependencyManager: DependencyManager,
override val executors: KobaltExecutors,
override val jvmCompiler: JvmCompiler)
: JvmCompilerPlugin(localRepo, files, depFactory, dependencyManager, executors, jvmCompiler),
override val jvmCompiler: JvmCompiler,
override val taskContributor : TaskContributor)
: JvmCompilerPlugin(localRepo, files, depFactory, dependencyManager, executors, jvmCompiler, taskContributor),
IClasspathContributor, ICompilerContributor, IDocContributor {
companion object {

View file

@ -24,7 +24,8 @@ import javax.inject.Singleton
@Singleton
class PackagingPlugin @Inject constructor(val dependencyManager : DependencyManager,
val executors: KobaltExecutors, val jarGenerator: JarGenerator, val warGenerator: WarGenerator,
val zipGenerator: ZipGenerator) : ConfigPlugin<InstallConfig>(), ITaskContributor {
val zipGenerator: ZipGenerator, val taskContributor: TaskContributor)
: ConfigPlugin<InstallConfig>(), ITaskContributor {
companion object {
const val PLUGIN_NAME = "Packaging"
@ -133,8 +134,6 @@ class PackagingPlugin @Inject constructor(val dependencyManager : DependencyMana
private val packages = arrayListOf<PackageConfig>()
val taskContributor : TaskContributor = TaskContributor()
override fun apply(project: Project, context: KobaltContext) {
super.apply(project, context)
project.projectProperties.put(LIBS_DIR, libsDir(project))

View file

@ -18,8 +18,9 @@ import java.io.File
* the most recent retrolambda.jar and it can be configured with the `retrolambda{}` directive.
*/
@Singleton
class RetrolambdaPlugin @Inject constructor(val dependencyManager: DependencyManager)
: ConfigPlugin<RetrolambdaConfig>(), IClasspathContributor, ITaskContributor {
class RetrolambdaPlugin @Inject constructor(val dependencyManager: DependencyManager,
val taskContributor : TaskContributor)
: ConfigPlugin<RetrolambdaConfig>(), IClasspathContributor, ITaskContributor {
override val name = PLUGIN_NAME
@ -73,8 +74,6 @@ class RetrolambdaPlugin @Inject constructor(val dependencyManager: DependencyMan
return result
}
val taskContributor : TaskContributor = TaskContributor()
// ITaskContributor
override fun tasksFor(context: KobaltContext) : List<DynamicTask> = taskContributor.dynamicTasks
}