Code cleanup, remove extra logging

This commit is contained in:
Nikita Skvortsov
2013-07-08 21:40:53 +04:00
parent 17ae7c3544
commit c10d4e8479
4 changed files with 42 additions and 33 deletions
@@ -6,12 +6,24 @@
<item name="com.android.build.gradle.api.AndroidSourceSet org.gradle.api.file.SourceDirectorySet getAllSource()">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name="com.android.build.gradle.api.AndroidSourceSet org.gradle.api.file.SourceDirectorySet getJava()">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name="com.android.build.gradle.api.ApkVariant com.android.builder.DefaultBuildType getBuildType()">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name="com.android.build.gradle.api.ApkVariant java.util.List&lt;com.android.builder.DefaultProductFlavor&gt; getProductFlavors()">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name="com.android.build.gradle.api.BaseVariant com.android.build.gradle.tasks.AidlCompile getAidlCompile()">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name="com.android.build.gradle.api.BaseVariant com.android.build.gradle.tasks.ProcessAndroidResources getProcessResources()">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name="com.android.build.gradle.api.BaseVariant com.android.build.gradle.tasks.RenderscriptCompile getRenderscriptCompile()">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name="com.android.build.gradle.api.LibraryVariant com.android.builder.DefaultBuildType getBuildType()">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
@@ -8,6 +8,9 @@
<val name="value" val="&quot;fun apply(p0 : T) : Unit&quot;" />
</annotation>
</item>
<item name="org.gradle.api.Project org.gradle.api.file.ConfigurableFileCollection files(java.lang.Object...)">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
<item name="org.gradle.api.Project org.gradle.api.initialization.dsl.ScriptHandler getBuildscript()">
<annotation name="jet.runtime.typeinfo.KotlinSignature">
<val name="value" val="&quot;fun getBuildscript() : ScriptHandler&quot;" />
@@ -2,4 +2,7 @@
<item name='org.gradle.api.file.FileCollection org.gradle.api.file.FileCollection filter(org.gradle.api.specs.Spec&lt;? super java.io.File&gt;)'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item name='org.gradle.api.file.SourceDirectorySet java.util.Set&lt;java.io.File&gt; getSrcDirs()'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
</root>
@@ -162,16 +162,12 @@ open class KotlinAndroidPlugin: Plugin<Project> {
private fun processVariants(variants: DefaultDomainObjectSet<out BaseVariant>, project: Project, androidExt: BaseExtension): Unit {
val logger = project.getLogger()
logger.debug("Kotlin plugin processing variants")
val kotlinOptions = (androidExt as ExtensionAware).getExtensions().getByName("kotlinOptions") as K2JVMCompilerArguments
val kotlinOptions = getExtention<K2JVMCompilerArguments>(androidExt, "kotlinOptions")
val sourceSets = androidExt.getSourceSets()
val mainSourceSet = sourceSets.getByName(BuilderConstants.MAIN)
val testSourceSet = sourceSets.getByName(BuilderConstants.INSTRUMENT_TEST)
logger.debug("Loaded ${BuilderConstants.MAIN} and ${BuilderConstants.INSTRUMENT_TEST} source sets")
for (variant in variants) {
logger.debug("Processing variant [${variant}]")
if (variant is LibraryVariant || variant is ApkVariant) {
val buildType: BuildType = if (variant is LibraryVariant) {
variant.getBuildType()
@@ -202,25 +198,23 @@ open class KotlinAndroidPlugin: Plugin<Project> {
val javaSourceList = ArrayList<Any?>()
if (variant is TestVariant) {
javaSourceList.addAll(testSourceSet.getJava()!!.getSrcDirs()!!)
val testKotlinSource = (testSourceSet as ExtensionAware).getExtensions().getByName("kotlin") as KotlinSourceSet
logger.debug("Attaching ${testKotlinSource.getKotlin().getSrcDirs()} to variant ${variantName}")
javaSourceList.addAll(testSourceSet.getJava().getSrcDirs())
val testKotlinSource = getExtention<KotlinSourceSet>(testSourceSet, "kotlin")
kotlinTask.source(testKotlinSource.getKotlin())
} else {
javaSourceList.addAll(mainSourceSet.getJava()!!.getSrcDirs()!!)
val mainKotlinSource = (mainSourceSet as ExtensionAware).getExtensions().getByName("kotlin") as KotlinSourceSet
logger.debug("Attaching ${mainKotlinSource.getKotlin().getSrcDirs()} to variant ${variantName}")
javaSourceList.addAll(mainSourceSet.getJava().getSrcDirs())
val mainKotlinSource = getExtention<KotlinSourceSet>(mainSourceSet, "kotlin")
kotlinTask.source(mainKotlinSource.getKotlin())
}
if (null != buildTypeSourceSet) {
javaSourceList.add(buildTypeSourceSet.getJava()!!.getSrcDirs()!!)
kotlinTask.source(((buildTypeSourceSet as ExtensionAware).getExtensions().getByName("kotlin") as KotlinSourceSet).getKotlin())
javaSourceList.add(buildTypeSourceSet.getJava().getSrcDirs())
kotlinTask.source(getExtention<KotlinSourceSet>(buildTypeSourceSet, "kotlin").getKotlin())
}
javaSourceList.add(callable<File>{ variant.getProcessResources()!!.getSourceOutputDir()!! })
javaSourceList.add(callable<File>{ variant.getGenerateBuildConfig()!!.getSourceOutputDir()!! })
javaSourceList.add(callable<File>{ variant.getAidlCompile()!!.getSourceOutputDir()!! })
javaSourceList.add(callable<File>{ variant.getRenderscriptCompile()!!.getSourceOutputDir()!! })
javaSourceList.add(callable<File?>{ variant.getProcessResources().getSourceOutputDir() })
javaSourceList.add(callable<File?>{ variant.getGenerateBuildConfig()?.getSourceOutputDir() })
javaSourceList.add(callable<File?>{ variant.getAidlCompile().getSourceOutputDir() })
javaSourceList.add(callable<File?>{ variant.getRenderscriptCompile().getSourceOutputDir() })
if (variant is ApkVariant) {
for (flavour in variant.getProductFlavors().iterator()) {
@@ -233,24 +227,16 @@ open class KotlinAndroidPlugin: Plugin<Project> {
}
}
logger.debug("Kotlin Source list for [${variantName}]")
kotlinTask.getSource().forEach { f -> logger.debug(f.getPath()) }
logger.debug("Kotlin Source list end")
val basePlugin : BasePlugin = project.getPlugins().getPlugin("android") as BasePlugin
kotlinTask.doFirst({ task ->
var plugin = project.getPlugins().getPlugin("android")
if (null == plugin) {
plugin = project.getPlugins().getPlugin("android-library")
}
val basePlugin : BasePlugin = plugin as BasePlugin
val javaSources = project.files(javaSourceList)
logger.debug("Java Source list for [${variantName}]")
javaSources?.forEach { f -> logger.debug(f.getPath()) }
logger.debug("Java Source list end")
val cp = javaTask.getClasspath() + javaSources
val cpWithRt = project.files(basePlugin.getRuntimeJarList())!! + cp
(task as AbstractCompile).setClasspath(cpWithRt)
logger.debug("Final Classpath for variant [${variantName}]")
cpWithRt?.forEach { f -> logger.debug(f.getPath()) }
logger.debug("Final Classpath end")
val androidRT = project.files(basePlugin.getRuntimeJarList())
val fullClasspath = javaTask.getClasspath() + (javaSources + androidRT)
(task as AbstractCompile).setClasspath(fullClasspath)
})
javaTask.dependsOn(kotlinTaskName)
@@ -259,6 +245,11 @@ open class KotlinAndroidPlugin: Plugin<Project> {
}
}
}
fun <T> getExtention(obj: Any, extensionName: String): T {
return (obj as ExtensionAware).getExtensions().getByName(extensionName) as T
}
}
open class KSpec<T: Any?>(val predicate: (T) -> Boolean): Spec<T> {