diff --git a/libraries/tools/kotlin-gradle-plugin/pom.xml b/libraries/tools/kotlin-gradle-plugin/pom.xml
index 02a80512bd4..93c8fc5cddb 100644
--- a/libraries/tools/kotlin-gradle-plugin/pom.xml
+++ b/libraries/tools/kotlin-gradle-plugin/pom.xml
@@ -35,6 +35,11 @@
kotlin-android-extensions
${project.version}
+
+ org.jetbrains.kotlin
+ kotlin-gradle-plugin-api
+ ${project.version}
+
org.jetbrains.kotlin
kotlin-compiler-embeddable
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AnnotationProcessingManager.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AnnotationProcessingManager.kt
index b31cf93a00c..458eafa0306 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AnnotationProcessingManager.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/AnnotationProcessingManager.kt
@@ -121,7 +121,7 @@ private fun Project.createKotlinAfterJavaTask(
}
class AnnotationProcessingManager(
- private val task: AbstractCompile,
+ task: AbstractCompile,
private val javaTask: JavaCompile,
private val taskQualifier: String,
private val aptFiles: Set,
@@ -130,7 +130,6 @@ class AnnotationProcessingManager(
private val androidVariant: Any? = null) {
private val project = task.project
- private val random = Random()
val wrappersDirectory = File(aptWorkingDir, "wrappers")
val hackAnnotationDir = File(aptWorkingDir, "java_src")
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt
index 1536201b54d..7aef5af8f85 100755
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt
@@ -49,7 +49,7 @@ abstract class KotlinSourceSetProcessor>(
val taskDescription: String
) {
abstract protected fun doTargetSpecificProcessing()
- val logger = Logging.getLogger(this.javaClass)
+ protected val logger = Logging.getLogger(this.javaClass)!!
protected val sourceSetName: String = sourceSet.name
protected val sourceRootDir: String = "src/$sourceSetName/kotlin"
@@ -179,7 +179,7 @@ class Kotlin2JsSourceSetProcessor(
compileTaskNameSuffix = "kotlin2Js"
) {
override val defaultKotlinDestinationDir: File
- get() = File(project.buildDir, "kotlin2js/${sourceSetName}")
+ get() = File(project.buildDir, "kotlin2js/$sourceSetName")
private val clean = project.tasks.findByName("clean")
private val build = project.tasks.findByName("build")
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/TaskToFriendTaskMapper.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/TaskToFriendTaskMapper.kt
index 95647bc8d49..576a3b5a96b 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/TaskToFriendTaskMapper.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/TaskToFriendTaskMapper.kt
@@ -32,7 +32,7 @@ abstract class TaskToFriendTaskMapper {
sealed class RegexTaskToFriendTaskMapper(
private val prefix: String,
- private val suffix: String
+ suffix: String
) : TaskToFriendTaskMapper() {
class Default : RegexTaskToFriendTaskMapper("compile", "TestKotlin")
class Android : RegexTaskToFriendTaskMapper("compile", "(Unit|Android)TestKotlin")
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/android/AndroidGradleWrapper.groovy b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/android/AndroidGradleWrapper.groovy
index 423fdc35dfe..02c579622ad 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/android/AndroidGradleWrapper.groovy
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/android/AndroidGradleWrapper.groovy
@@ -35,7 +35,7 @@ class AndroidGradleWrapper {
androidSourceSet.getJava().srcDir(kotlinDirSet)
}
- static def PatternFilterable getResourceFilter(Object androidSourceSet) {
+ static PatternFilterable getResourceFilter(Object androidSourceSet) {
def resources = androidSourceSet.getResources()
if (resources != null) {
return resources.getFilter()
@@ -44,12 +44,12 @@ class AndroidGradleWrapper {
}
@NotNull
- static def String getVariantName(Object variant) {
+ static String getVariantName(Object variant) {
return variant.getBuildType().getName()
}
@Nullable
- static def AbstractCompile getJavaCompile(Object baseVariantData) {
+ static AbstractCompile getJavaCompile(Object baseVariantData) {
if (baseVariantData.getMetaClass().getMetaProperty("javaCompileTask")) {
return baseVariantData.javaCompileTask
}
@@ -60,7 +60,7 @@ class AndroidGradleWrapper {
}
@NotNull
- static def Set getJavaSrcDirs(Object androidSourceSet) {
+ static Set getJavaSrcDirs(Object androidSourceSet) {
return androidSourceSet.getJava().getSrcDirs()
}
@@ -69,17 +69,17 @@ class AndroidGradleWrapper {
}
@NotNull
- static def List getProductFlavorsNames(ApkVariant variant) {
+ static List getProductFlavorsNames(ApkVariant variant) {
return variant.getProductFlavors().iterator().collect { it.getName() }
}
@NotNull
- static def List getProductFlavorsSourceSets(BaseExtension extension) {
+ static List getProductFlavorsSourceSets(BaseExtension extension) {
return extension.productFlavors.iterator().collect { extension.sourceSets.findByName(it.name) }
}
@NotNull
- static def DefaultDomainObjectSet getTestVariants(BaseExtension extension) {
+ static DefaultDomainObjectSet getTestVariants(BaseExtension extension) {
if (extension.getMetaClass().getMetaMethod("getTestVariants")) {
return extension.getTestVariants()
}
@@ -87,7 +87,7 @@ class AndroidGradleWrapper {
}
@NotNull
- static def List getRClassFolder(BaseVariant variant) {
+ static List getRClassFolder(BaseVariant variant) {
def list = new ArrayList()
if (variant.getMetaClass().getMetaMethod("getProcessResources")) {
list.add(variant.getProcessResources().getSourceOutputDir())
@@ -100,17 +100,17 @@ class AndroidGradleWrapper {
return list
}
- static def VariantManager getVariantDataManager(BasePlugin plugin) {
+ static VariantManager getVariantDataManager(BasePlugin plugin) {
return plugin.getVariantManager()
}
- static def List getJavaSources(BaseVariantData variantData) {
+ static List getJavaSources(BaseVariantData variantData) {
def result = new LinkedHashSet()
// user sources
- List providers = variantData.variantConfiguration.getSortedSourceProviders();
+ List providers = variantData.variantConfiguration.getSortedSourceProviders()
for (SourceProvider provider : providers) {
- result.addAll((provider as AndroidSourceSet).getJava().getSrcDirs());
+ result.addAll((provider as AndroidSourceSet).getJava().getSrcDirs())
}
// generated sources
@@ -124,24 +124,24 @@ class AndroidGradleWrapper {
}
else {
if (variantData.scope.getGenerateRClassTask() != null) {
- result.add(variantData.scope.getRClassSourceOutputDir());
+ result.add(variantData.scope.getRClassSourceOutputDir())
}
if (variantData.scope.getGenerateBuildConfigTask() != null) {
- result.add(variantData.scope.getBuildConfigSourceOutputDir());
+ result.add(variantData.scope.getBuildConfigSourceOutputDir())
}
if (variantData.scope.getAidlCompileTask() != null) {
- result.add(variantData.scope.getAidlSourceOutputDir());
+ result.add(variantData.scope.getAidlSourceOutputDir())
}
if (variantData.scope.getGlobalScope().getExtension().getDataBinding().isEnabled()) {
- result.add(variantData.scope.getClassOutputForDataBinding());
+ result.add(variantData.scope.getClassOutputForDataBinding())
}
if (!variantData.variantConfiguration.getRenderscriptNdkModeEnabled()
&& variantData.scope.getRenderscriptCompileTask() != null) {
- result.add(variantData.scope.getRenderscriptSourceOutputDir());
+ result.add(variantData.scope.getRenderscriptSourceOutputDir())
}
}
@@ -157,7 +157,7 @@ class AndroidGradleWrapper {
}
@NotNull
- static def Map getJarToAarMapping(BaseVariantData variantData) {
+ static Map getJarToAarMapping(BaseVariantData variantData) {
def jarToLibraryArtifactMap = new HashMap()
def libraries = getVariantLibraryDependencies(variantData)
@@ -185,7 +185,7 @@ class AndroidGradleWrapper {
}
@Nullable
- private static def Iterable getVariantLibraryDependencies(BaseVariantData variantData) {
+ private static Iterable getVariantLibraryDependencies(BaseVariantData variantData) {
def variantDependency = variantData.variantDependency
if (variantDependency instanceof DependencyContainer) {
// android tools < 2.2
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/GradleIncrementalCacheImpl.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/GradleIncrementalCacheImpl.kt
index f6b7c9fa520..6effd8e2b55 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/GradleIncrementalCacheImpl.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/GradleIncrementalCacheImpl.kt
@@ -58,7 +58,7 @@ internal class GradleIncrementalCacheImpl(targetDataRoot: File, targetOutputDir:
}
operator fun get(sourceFile: File): Collection =
- storage[sourceFile.absolutePath].orEmpty().map { File(it) }
+ storage[sourceFile.absolutePath].orEmpty().map(::File)
override fun dumpValue(value: Collection) = value.dumpCollection()
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/SyncOutputTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/SyncOutputTask.kt
index ea21ad25558..9db60d581c7 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/SyncOutputTask.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/SyncOutputTask.kt
@@ -25,8 +25,6 @@ import org.gradle.api.tasks.incremental.IncrementalTaskInputs
import org.gradle.api.tasks.incremental.InputFileDetails
import org.jetbrains.kotlin.bytecode.AnnotationsRemover
import org.jetbrains.kotlin.gradle.plugin.kotlinDebug
-import org.jetbrains.kotlin.incremental.md5
-import org.jetbrains.org.objectweb.asm.*
import java.io.*
import java.util.*
import kotlin.properties.Delegates
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt
index c4611a0f9c1..54709402642 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt
@@ -5,8 +5,6 @@ import org.codehaus.groovy.runtime.MethodClosure
import org.gradle.api.GradleException
import org.gradle.api.file.SourceDirectorySet
import org.gradle.api.logging.Logger
-import org.gradle.api.logging.Logging
-import org.gradle.api.plugins.ExtraPropertiesExtension
import org.gradle.api.tasks.SourceTask
import org.gradle.api.tasks.TaskAction
import org.gradle.api.tasks.compile.AbstractCompile
@@ -72,9 +70,6 @@ abstract class AbstractKotlinCompile() : AbstractCo
var javaOutputDir: File? = null
var moduleName: String = "${project.name}-${this.name}"
- private val loggerInstance = Logging.getLogger(this.javaClass)
- override fun getLogger() = loggerInstance
-
override fun compile() {
assert(false, { "unexpected call to compile()" })
}
@@ -143,7 +138,7 @@ open class KotlinCompile : AbstractKotlinCompile(), Kotl
private val additionalClasspath = arrayListOf()
private val compileClasspath: Iterable
get() = (classpath + additionalClasspath)
- .filterTo(LinkedHashSet()) { it.exists() }
+ .filterTo(LinkedHashSet(), File::exists)
private val kapt2GeneratedSourcesDir: File
get() = File(project.buildDir, "generated/source/kapt2")
@@ -619,6 +614,7 @@ open class Kotlin2JsCompile() : AbstractKotlinCompile(),
get() = kotlinOptions.outputFile
init {
+ @Suppress("LeakingThis")
outputs.file(MethodClosure(this, "getOutputFile"))
}
@@ -656,16 +652,6 @@ open class Kotlin2JsCompile() : AbstractKotlinCompile(),
}
}
-private fun ExtraPropertiesExtension.getOrNull(id: String): T? {
- try {
- @Suppress("UNCHECKED_CAST")
- return get(id) as? T
- }
- catch (e: ExtraPropertiesExtension.UnknownPropertyException) {
- return null
- }
-}
-
class GradleMessageCollector(val logger: Logger, val outputCollector: OutputItemsCollector? = null) : MessageCollector {
private var hasErrors = false
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/kapt/kaptStubGeneratorUtils.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/kapt/kaptStubGeneratorUtils.kt
index 1db676a1244..f2a09680106 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/kapt/kaptStubGeneratorUtils.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/kapt/kaptStubGeneratorUtils.kt
@@ -4,12 +4,7 @@ import org.jetbrains.org.objectweb.asm.*
import org.jetbrains.org.objectweb.asm.Opcodes.*
import java.io.File
-/*
- This file should be a part of AnnotationProcessingManager in kotlin-gradle-plugin,
- but org.jetbrains.org.objectweb.asm can't be used there.
- */
-
-public fun generateKotlinAptAnnotation(outputDirectory: File): File {
+fun generateKotlinAptAnnotation(outputDirectory: File): File {
val packageName = "__gen"
val className = "KotlinAptAnnotation"
val classFqName = "$packageName/$className"
@@ -30,7 +25,7 @@ public fun generateKotlinAptAnnotation(outputDirectory: File): File {
return outputFile
}
-public fun generateAnnotationProcessorWrapper(
+fun generateAnnotationProcessorWrapper(
processorFqName: String,
packageName: String,
outputDirectory: File,