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 7422d5f491d..b52bdce5cd9 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 @@ -7,20 +7,13 @@ import org.jetbrains.kotlin.gradle.plugin.KSpec import java.io.File import org.gradle.api.GradleException import org.jetbrains.jet.cli.common.ExitCode -import org.gradle.api.Task import org.gradle.api.tasks.SourceTask import org.jetbrains.kotlin.doc.KDocArguments -import org.jetbrains.kotlin.doc.KDocConfig import java.util.HashMap import java.util.HashSet import org.jetbrains.kotlin.doc.KDocCompiler import org.gradle.api.tasks.TaskAction -import java.util.LinkedList -import com.google.common.io.Resources -import java.net.URL -import com.google.common.io.Files import org.gradle.api.file.SourceDirectorySet -import com.google.common.base.Joiner import java.util.ArrayList import org.apache.commons.io.FilenameUtils import org.jetbrains.jet.cli.common.messages.MessageCollector @@ -28,8 +21,6 @@ import org.jetbrains.jet.cli.common.messages.CompilerMessageSeverity import org.jetbrains.jet.cli.common.messages.CompilerMessageLocation import org.gradle.api.logging.Logger import org.gradle.api.logging.Logging -import org.apache.commons.io.FileUtils -import java.io.IOException import org.apache.commons.lang.StringUtils import org.gradle.api.initialization.dsl.ScriptHandler @@ -41,11 +32,6 @@ public open class KotlinCompile(): AbstractCompile() { public val kotlinOptions: K2JVMCompilerArguments = K2JVMCompilerArguments(); - { - kotlinOptions.noStdlib = true - kotlinOptions.noJdkAnnotations = true - } - // override setSource to track source directory sets override fun setSource(source: Any?) { srcDirsRoots.clear() @@ -78,7 +64,6 @@ public open class KotlinCompile(): AbstractCompile() { override fun compile() { - val args = kotlinOptions val javaSrcRoots = HashSet() @@ -113,9 +98,15 @@ public open class KotlinCompile(): AbstractCompile() { args.setClasspath(effectiveClassPath) } + args.outputDir = if (StringUtils.isEmpty(kotlinOptions.outputDir)) { getDestinationDir()?.getPath() } else { kotlinOptions.outputDir } + val embeddedAnnotations = getAnnotations() - args.outputDir =if (StringUtils.isEmpty(kotlinOptions.outputDir)) { getDestinationDir()?.getPath() } else { kotlinOptions.outputDir } - args.annotations = if (StringUtils.isEmpty(kotlinOptions.annotations)) { embeddedAnnotations.getPath() } else { kotlinOptions.annotations } + val userAnnotations = (kotlinOptions.annotations ?: "").split(File.pathSeparatorChar).toList() + val allAnnotations = if (kotlinOptions.noJdkAnnotations) userAnnotations else userAnnotations.plus(embeddedAnnotations.getPath()) + args.annotations = allAnnotations.makeString(File.pathSeparator) + + args.noStdlib = true + args.noJdkAnnotations = true val messageCollector = GradleMessageCollector(logger) val exitCode = compiler.exec(messageCollector, args)