edd22310c0
(cherry picked from commit 7ad5d04)
94 lines
2.7 KiB
Groovy
94 lines
2.7 KiB
Groovy
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/' }
|
|
|
|
// todo: remove this once the AGP artifacts get published
|
|
maven { url (project.findProperty("googlePreviewRepositoryPath") ?: System.getProperty("googlePreviewRepositoryPath")) }
|
|
}
|
|
|
|
configurations {
|
|
agp25CompileOnly
|
|
}
|
|
|
|
dependencies {
|
|
compile project(':kotlin-gradle-plugin-api')
|
|
|
|
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
compile "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
|
|
compile "org.jetbrains.kotlin:kotlin-compiler-embeddable:$kotlin_version"
|
|
compile "org.jetbrains.kotlin:kotlin-compiler-runner:$kotlin_version"
|
|
compile "org.jetbrains.kotlin:kotlin-annotation-processing:$kotlin_version"
|
|
|
|
compile 'commons-io:commons-io:2.4'
|
|
compile 'commons-lang:commons-lang:2.4'
|
|
|
|
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'
|
|
|
|
agp25CompileOnly 'com.android.tools.build:gradle:3.0.0-alpha1'
|
|
agp25CompileOnly 'org.codehaus.groovy:groovy-all:2.3.9'
|
|
agp25CompileOnly gradleApi()
|
|
|
|
testCompile "org.jetbrains.kotlin:kotlin-build-common-test:$kotlin_version"
|
|
testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
|
|
testCompile "junit:junit:4.12"
|
|
}
|
|
|
|
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.classesDir
|
|
}
|
|
|
|
test.executable = "${JDK_18}/bin/java"
|
|
|
|
dokka {
|
|
outputFormat = 'markdown'
|
|
includes = ["${projectDir}/Module.md"]
|
|
} |