blob: 2cafd06e688568cca7bb819fd3c2743014564dca [file] [log] [blame]
apply plugin: 'java'
apply plugin: 'kotlin'
apply plugin: 'groovy'
apply plugin: 'org.jetbrains.dokka'
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.jetbrains.dokka:dokka-gradle-plugin:0.9.13'
}
}
configureJvmProject(project)
configurePublishing(project)
repositories {
jcenter()
mavenLocal()
maven { url 'http://repository.jetbrains.com/utils/' }
maven { url 'https://maven.google.com' }
}
configurations {
agp25CompileOnly
}
dependencies {
compile project(':kotlin-gradle-plugin-api')
compileOnly project(':compiler')
compileOnly project(':compiler:incremental-compilation-impl')
compile project(':kotlin-stdlib')
compileOnly project(':kotlin-android-extensions')
compileOnly project(':kotlin-build-common')
compileOnly project(':kotlin-compiler-runner')
compileOnly project(':kotlin-annotation-processing')
compileOnly project(':kotlin-annotation-processing-gradle')
compileOnly 'com.android.tools.build:gradle:2.0.0'
compileOnly 'org.codehaus.groovy:groovy-all:2.3.9'
compileOnly 'org.jetbrains.kotlin:gradle-api:2.2'
runtime project(path: ':kotlin-compiler-embeddable', configuration: "runtimeJar")
runtime project(path: ':kotlin-annotation-processing-gradle', configuration: "runtimeJar")
runtime project(path: ':kotlin-android-extensions', configuration: 'runtimeJar')
runtime project(path: ':kotlin-compiler-runner', configuration: 'runtimeJar')
agp25CompileOnly 'com.android.tools.build:gradle:3.0.0-alpha1'
agp25CompileOnly 'org.codehaus.groovy:groovy-all:2.3.9'
agp25CompileOnly gradleApi()
agp25CompileOnly project(':kotlin-annotation-processing')
agp25CompileOnly project(':kotlin-annotation-processing-gradle')
testCompileOnly project(':compiler')
testCompile project (path: ':kotlin-build-common', configuration: 'tests-jar')
testCompile project(':kotlin-android-extensions')
testCompile project(':kotlin-compiler-runner')
testCompile project(':kotlin-test::kotlin-test-junit')
testCompile "junit:junit:4.12"
testCompileOnly project(':kotlin-annotation-processing')
testCompileOnly project(':kotlin-annotation-processing-gradle')
}
tasks.withType(project.compileKotlin.class) {
kotlinOptions.jdkHome = JDK_18
}
compileKotlin.dependsOn compileGroovy
compileGroovy.dependsOn.remove("compileJava")
def groovyClassesDir = file("${buildDir}/mainGroovyClasses")
compileGroovy.destinationDir = groovyClassesDir
sourceSets.main.compileClasspath += files(groovyClassesDir)
compileGroovy.classpath = sourceSets.main.compileClasspath - files(groovyClassesDir)
sourceSets.main.java.srcDirs += sourceSets.main.kotlin.srcDirs
sourceSets {
agp25 {
compileClasspath += configurations.compile + configurations.agp25CompileOnly + sourceSets.main.output
compileClasspath += files(groovyClassesDir)
}
}
compileAgp25Kotlin.dependsOn compileGroovy
processResources {
expand(project.properties)
}
jar.dependsOn agp25Classes
jar {
from compileGroovy.destinationDir
from sourceSets.agp25.output.classesDirs
manifestAttributes(manifest, project)
}
ArtifactsKt.runtimeJar(project, EmbeddableKt.rewriteDepsToShadedCompiler(project, jar, {}), {})
artifacts {
archives sourcesJar
archives javadocJar
}
test.executable = "${JDK_18}/bin/java"
dokka {
outputFormat = 'markdown'
includes = ["${projectDir}/Module.md"]
}
pluginBundle {
plugins {
kotlinJvmPlugin {
id = 'org.jetbrains.kotlin.jvm'
description = displayName = 'Kotlin JVM plugin'
}
kotlinAndroidPlugin {
id = 'org.jetbrains.kotlin.android'
description = displayName = 'Kotlin Android plugin'
}
kotlinAndroidExtensionsPlugin {
id = 'org.jetbrains.kotlin.android.extensions'
description = displayName = 'Kotlin Android Extensions plugin'
}
kotlinKaptPlugin {
id = 'org.jetbrains.kotlin.kapt'
description = displayName = 'Kotlin Kapt plugin'
}
}
}