Refactoring: extract function to map classpath

This commit is contained in:
Alexey Tsvetkov
2016-07-28 18:30:30 +03:00
parent 2cae5f01cf
commit ef70814f60
3 changed files with 7 additions and 2 deletions
@@ -106,7 +106,7 @@ private fun Project.createKotlinAfterJavaTask(
tasksProvider: KotlinTasksProvider
): KotlinCompile {
val kotlinAfterJavaTask = with (tasksProvider.createKotlinJVMTask(this, kotlinTask.name + KOTLIN_AFTER_JAVA_TASK_SUFFIX)) {
conventionMapping.map("classpath") { kotlinTask.classpath }
mapClasspath { kotlinTask.classpath }
this
}
@@ -105,6 +105,7 @@ abstract class KotlinSourceSetProcessor<T : AbstractCompile>(
val kotlinCompile = doCreateTask(project, name)
kotlinCompile.description = taskDescription
kotlinCompile.extensions.extraProperties.set("defaultModuleName", "${project.name}-$name")
kotlinCompile.mapClasspath { sourceSet.compileClasspath }
return kotlinCompile
}
@@ -371,7 +372,7 @@ open class KotlinAndroidPlugin @Inject constructor(val scriptHandler: ScriptHand
}
subpluginEnvironment.addSubpluginArguments(project, kotlinTask)
kotlinTask.conventionMapping.map("classpath") { javaTask.classpath + project.files(AndroidGradleWrapper.getRuntimeJars(androidPlugin, androidExt)) }
kotlinTask.mapClasspath { javaTask.classpath + project.files(AndroidGradleWrapper.getRuntimeJars(androidPlugin, androidExt)) }
val (aptOutputDir, aptWorkingDir) = project.getAptDirsForSourceSet(variantDataName)
variantData.addJavaSourceFoldersToModel(aptOutputDir)
var kotlinAfterJavaTask: KotlinCompile? = null
@@ -27,4 +27,8 @@ internal fun AbstractCompile.appendClasspathDynamically(file: File) {
internal fun Task.finalizedByIfNotFailed(finalizer: Task) {
finalizer.onlyIf { this@finalizedByIfNotFailed.state.failure == null }
this.finalizedBy(finalizer)
}
fun AbstractCompile.mapClasspath(fn: ()->FileCollection) {
conventionMapping.map("classpath", fn)
}