File: build.gradle.kts

package info (click to toggle)
kotlin 1.3.31%2Bds1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 109,908 kB
  • sloc: java: 454,756; xml: 18,599; javascript: 10,452; sh: 513; python: 97; makefile: 69; ansic: 4
file content (51 lines) | stat: -rw-r--r-- 1,303 bytes parent folder | download | duplicates (2)
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)