mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-28 00:58:12 -07:00
Dynamic tasks can be incremental too.
This commit is contained in:
parent
ea8a812ed2
commit
fd21ec1162
10 changed files with 96 additions and 65 deletions
|
@ -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)) {
|
||||
|
|
|
@ -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"),
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue