154 lines
4.8 KiB
Groovy
154 lines
4.8 KiB
Groovy
apply plugin: 'java'
|
|
apply plugin: 'java-gradle-plugin'
|
|
apply plugin: 'kotlin'
|
|
apply plugin: 'org.jetbrains.dokka'
|
|
apply plugin: 'jps-compatible'
|
|
|
|
buildscript {
|
|
repositories {
|
|
jcenter()
|
|
}
|
|
dependencies {
|
|
classpath 'org.jetbrains.dokka:dokka-gradle-plugin:0.9.13'
|
|
}
|
|
}
|
|
|
|
configureJvmProject(project)
|
|
configurePublishing(project)
|
|
|
|
repositories {
|
|
jcenter()
|
|
mavenLocal()
|
|
maven { url 'https://maven.google.com' }
|
|
}
|
|
|
|
configurations {
|
|
agp25CompileOnly
|
|
}
|
|
|
|
pill {
|
|
variant = "FULL"
|
|
}
|
|
|
|
dependencies {
|
|
compile project(':kotlin-gradle-plugin-api')
|
|
compile project(':kotlin-gradle-plugin-model')
|
|
compileOnly project(':compiler')
|
|
compileOnly project(':compiler:incremental-compilation-impl')
|
|
compileOnly project(':compiler:daemon-common')
|
|
|
|
compile project(':kotlin-stdlib')
|
|
compileOnly project(':kotlin-reflect-api')
|
|
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.4.12'
|
|
compileOnly gradleApi()
|
|
|
|
compileOnly("kotlin.build.custom.deps:intellij-core:${rootProject.ext["versions.intellijSdk"]}") {
|
|
artifact {
|
|
name = 'intellij-core'
|
|
type = 'jar'
|
|
extension = 'jar'
|
|
}
|
|
}
|
|
|
|
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')
|
|
runtime project(':kotlin-reflect')
|
|
|
|
// com.android.tools.build:gradle has ~50 unneeded transitive dependencies
|
|
agp25CompileOnly('com.android.tools.build:gradle:3.0.0-alpha1') { transitive = false }
|
|
agp25CompileOnly('com.android.tools.build:gradle-core:3.0.0-alpha1') { transitive = false }
|
|
agp25CompileOnly('com.android.tools.build:builder-model:3.0.0-alpha1') { transitive = false }
|
|
agp25CompileOnly 'org.codehaus.groovy:groovy-all:2.4.12'
|
|
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-reflect-api')
|
|
testCompileOnly project(':kotlin-annotation-processing')
|
|
testCompileOnly project(':kotlin-annotation-processing-gradle')
|
|
}
|
|
|
|
tasks.withType(project.compileKotlin.class) {
|
|
kotlinOptions.jdkHome = JDK_18
|
|
}
|
|
|
|
sourceSets.main.java.srcDirs += sourceSets.main.kotlin.srcDirs
|
|
|
|
sourceSets {
|
|
agp25 {
|
|
compileClasspath += configurations.compile + configurations.agp25CompileOnly + sourceSets.main.output
|
|
}
|
|
}
|
|
|
|
processResources {
|
|
def props = ["projectVersion" : project.version]
|
|
inputs.properties(props)
|
|
expand(props)
|
|
}
|
|
|
|
jar.dependsOn agp25Classes
|
|
|
|
jar {
|
|
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"
|
|
|
|
validateTaskProperties.failOnWarning = true
|
|
|
|
dokka {
|
|
outputFormat = 'markdown'
|
|
includes = ["${projectDir}/Module.md"]
|
|
}
|
|
|
|
pluginBundle {
|
|
plugins {
|
|
kotlinJvmPlugin {
|
|
id = 'org.jetbrains.kotlin.jvm'
|
|
description = displayName = 'Kotlin JVM plugin'
|
|
}
|
|
kotlinMultiplatformPlugin {
|
|
id = 'org.jetbrains.kotlin.multiplatform'
|
|
description = displayName = 'Kotlin Multiplatform 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'
|
|
}
|
|
kotlinScriptingPlugin {
|
|
id = 'org.jetbrains.kotlin.plugin.scripting'
|
|
description = displayName = 'Gradle plugin for kotlin scripting'
|
|
}
|
|
}
|
|
} |