diff --git a/buildSrc/src/main/kotlin/sourceSets.kt b/buildSrc/src/main/kotlin/sourceSets.kt index 1296409eb4f..996974afe87 100644 --- a/buildSrc/src/main/kotlin/sourceSets.kt +++ b/buildSrc/src/main/kotlin/sourceSets.kt @@ -1,15 +1,8 @@ -@file:Suppress("unused") // usages in build scripts are not tracked properly +import org.gradle.api.Project +import org.gradle.api.tasks.SourceSet +import org.gradle.api.tasks.SourceSetContainer -import org.gradle.api.* -import org.gradle.api.plugins.JavaPluginConvention -import org.gradle.api.tasks.* -import org.gradle.kotlin.dsl.* -import org.gradle.language.jvm.tasks.ProcessResources - -//import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet - -inline fun Project.sourceSets(crossinline body: SourceSetsBuilder.() -> Unit) = - SourceSetsBuilder(this).body() +inline fun Project.sourceSets(crossinline body: SourceSetsBuilder.() -> Unit) = SourceSetsBuilder(this).body() class SourceSetsBuilder(val project: Project) { @@ -40,23 +33,6 @@ val SourceSet.projectDefault: Project.() -> Unit } } -// TODO: adding KotlinSourceSet dep to the plugin breaks the build unexpectedly, resolve and uncomment -//val SourceSet.kotlin: SourceDirectorySet -// get() = -// (this as HasConvention) -// .convention -// .getPlugin(KotlinSourceSet::class.java) -// .kotlin -// -// -//fun SourceSet.kotlin(action: SourceDirectorySet.() -> Unit) = -// kotlin.action() - -fun Project.getSourceSetsFrom(projectPath: String): SourceSetContainer { - evaluationDependsOn(projectPath) - return project(projectPath).sourceSets -} - val Project.sourceSets: SourceSetContainer get() = javaPluginConvention().sourceSets diff --git a/libraries/tools/kotlin-allopen/build.gradle b/libraries/tools/kotlin-allopen/build.gradle index 56441b8b60d..55db19286a3 100644 --- a/libraries/tools/kotlin-allopen/build.gradle +++ b/libraries/tools/kotlin-allopen/build.gradle @@ -4,11 +4,6 @@ apply plugin: 'jps-compatible' configureJvmProject(project) configurePublishing(project) -repositories { - mavenLocal() - jcenter() -} - pill { variant = 'FULL' } @@ -25,9 +20,9 @@ dependencies { testCompile gradleApi() testCompile "junit:junit:4.12" -} -evaluationDependsOn(":kotlin-allopen-compiler-plugin") + embedded(project(":kotlin-allopen-compiler-plugin")) { transitive = false } +} tasks.withType(project.compileKotlin.class) { kotlinOptions.languageVersion = "1.2" @@ -36,8 +31,6 @@ tasks.withType(project.compileKotlin.class) { } jar { - from(project(":kotlin-allopen-compiler-plugin").sourceSets.main.output.classesDirs) - from(project(":kotlin-allopen-compiler-plugin").sourceSets.main.output.resourcesDir) manifestAttributes(manifest, project) } diff --git a/libraries/tools/kotlin-noarg/build.gradle b/libraries/tools/kotlin-noarg/build.gradle index 4ff84864c25..be3ac0ae88a 100644 --- a/libraries/tools/kotlin-noarg/build.gradle +++ b/libraries/tools/kotlin-noarg/build.gradle @@ -10,11 +10,6 @@ compileJava { options.fork = false } -repositories { - mavenLocal() - jcenter() -} - pill { variant = 'FULL' } @@ -31,9 +26,9 @@ dependencies { testCompile gradleApi() testCompile "junit:junit:4.12" -} -evaluationDependsOn(":kotlin-noarg-compiler-plugin") + embedded(project(":kotlin-noarg-compiler-plugin")) { transitive = false } +} tasks.withType(project.compileKotlin.class) { kotlinOptions.languageVersion = "1.2" @@ -42,8 +37,6 @@ tasks.withType(project.compileKotlin.class) { } jar { - from(project(":kotlin-noarg-compiler-plugin").sourceSets.main.output.classesDirs) - from(project(":kotlin-noarg-compiler-plugin").sourceSets.main.output.resourcesDir) manifestAttributes(manifest, project) } diff --git a/libraries/tools/kotlin-sam-with-receiver/build.gradle b/libraries/tools/kotlin-sam-with-receiver/build.gradle index d64f68855f0..86b8d40f902 100644 --- a/libraries/tools/kotlin-sam-with-receiver/build.gradle +++ b/libraries/tools/kotlin-sam-with-receiver/build.gradle @@ -14,11 +14,6 @@ pill { variant = 'FULL' } -repositories { - mavenLocal() - jcenter() -} - dependencies { compile project(':kotlin-gradle-plugin-api') compile project(':kotlin-gradle-plugin-model') @@ -31,9 +26,9 @@ dependencies { testCompile gradleApi() testCompile "junit:junit:4.12" -} -evaluationDependsOn(":kotlin-sam-with-receiver-compiler-plugin") + embedded(project(":kotlin-sam-with-receiver-compiler-plugin")) { transitive = false } +} tasks.withType(project.compileKotlin.class) { kotlinOptions.languageVersion = "1.2" @@ -42,8 +37,6 @@ tasks.withType(project.compileKotlin.class) { } jar { - from(project(":kotlin-sam-with-receiver-compiler-plugin").sourceSets.main.output.classesDirs) - from(project(":kotlin-sam-with-receiver-compiler-plugin").sourceSets.main.output.resourcesDir) manifestAttributes(manifest, project) } diff --git a/libraries/tools/kotlin-serialization-unshaded/build.gradle b/libraries/tools/kotlin-serialization-unshaded/build.gradle index 2519801c580..73c4f46b551 100644 --- a/libraries/tools/kotlin-serialization-unshaded/build.gradle +++ b/libraries/tools/kotlin-serialization-unshaded/build.gradle @@ -3,17 +3,17 @@ apply plugin: 'kotlin' configureJvmProject(project) configurePublishing(project) +dependencies { + embedded(project(":kotlinx-serialization-compiler-plugin")) { transitive = false } +} + compileJava { sourceCompatibility = 1.8 targetCompatibility = 1.8 options.fork = false } -evaluationDependsOn(":kotlinx-serialization-compiler-plugin") - jar { - from(project(":kotlinx-serialization-compiler-plugin").sourceSets.main.output.classesDirs) - from(project(":kotlinx-serialization-compiler-plugin").sourceSets.main.output.resourcesDir) manifestAttributes(manifest, project) } diff --git a/libraries/tools/kotlin-serialization/build.gradle b/libraries/tools/kotlin-serialization/build.gradle index 047e1947cb7..007664cec65 100644 --- a/libraries/tools/kotlin-serialization/build.gradle +++ b/libraries/tools/kotlin-serialization/build.gradle @@ -20,13 +20,11 @@ dependencies { compileOnly kotlinStdlib() compileOnly project(path: ':kotlin-compiler-embeddable', configuration: 'runtimeJar') + + embedded(project(":kotlinx-serialization-compiler-plugin")) { transitive = false } } -evaluationDependsOn(":kotlinx-serialization-compiler-plugin") - jar { - from(project(":kotlinx-serialization-compiler-plugin").sourceSets.main.output.classesDirs) - from(project(":kotlinx-serialization-compiler-plugin").sourceSets.main.output.resourcesDir) manifestAttributes(manifest, project) } diff --git a/prepare/android-extensions-compiler-gradle/build.gradle.kts b/prepare/android-extensions-compiler-gradle/build.gradle.kts index f65c810cbc9..feca579977c 100644 --- a/prepare/android-extensions-compiler-gradle/build.gradle.kts +++ b/prepare/android-extensions-compiler-gradle/build.gradle.kts @@ -17,6 +17,9 @@ dependencies { runtime(projectRuntimeJar(":kotlin-compiler-embeddable")) compileOnly(commonDep("com.google.android", "android")) compileOnly(intellijCoreDep()) { includeJars("intellij-core") } + + embedded(project(":plugins:android-extensions-compiler")) { isTransitive = false } + embedded(project(":kotlin-android-extensions-runtime")) { isTransitive = false } } sourceSets { @@ -24,16 +27,12 @@ sourceSets { "test" {} } -val jar: Jar by tasks -jar.apply { - from(getSourceSetsFrom(":plugins:android-extensions-compiler")["main"].output) - from(getSourceSetsFrom(":kotlin-android-extensions-runtime")["main"].output) - duplicatesStrategy = DuplicatesStrategy.FAIL -} - publish() +val jar: Jar by tasks runtimeJar(rewriteDepsToShadedCompiler(jar)) + sourcesJar() + javadocJar()