1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
/*
* Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
*/
plugins {
kotlin("jvm")
id("jps-compatible")
}
dependencies {
compile(project(":compiler:frontend.common"))
compile(project(":core:descriptors"))
compile(project(":compiler:fir:cones"))
compile(project(":compiler:ir.tree"))
// Necessary only to store bound PsiElement inside FirElement
compileOnly(intellijCoreDep()) { includeJars("intellij-core") }
}
sourceSets {
"main" {
projectDefault()
java.srcDir("visitors")
}
}
val generatorClasspath by configurations.creating
dependencies {
generatorClasspath(project("visitors-generator"))
}
val generateVisitors by tasks.creating(NoDebugJavaExec::class) {
val generationRoot = "$projectDir/src/org/jetbrains/kotlin/fir/"
val output = "$projectDir/visitors"
val allSourceFiles = fileTree(generationRoot) {
include("**/*.kt")
}
inputs.files(allSourceFiles)
outputs.dirs(output)
classpath = generatorClasspath
args(generationRoot, output)
main = "org.jetbrains.kotlin.fir.visitors.generator.VisitorsGeneratorKt"
}
val compileKotlin by tasks
compileKotlin.dependsOn(generateVisitors)
|