| |
| description = "Kotlin Android Extensions Compiler" |
| |
| plugins { |
| kotlin("jvm") |
| id("jps-compatible") |
| } |
| |
| val robolectricClasspath by configurations.creating |
| |
| dependencies { |
| testCompileOnly(intellijCoreDep()) { includeJars("intellij-core") } |
| |
| compile(project(":compiler:util")) |
| compile(project(":compiler:plugin-api")) |
| compile(project(":compiler:frontend")) |
| compile(project(":compiler:frontend.java")) |
| compile(project(":compiler:backend")) |
| compileOnly(project(":kotlin-android-extensions-runtime")) |
| compileOnly(intellijCoreDep()) { includeJars("intellij-core") } |
| compileOnly(intellijDep()) { includeJars("asm-all", rootProject = rootProject) } |
| |
| testCompile(project(":compiler:util")) |
| testCompile(project(":compiler:backend")) |
| testCompile(project(":compiler:cli")) |
| testCompile(project(":kotlin-android-extensions-runtime")) |
| testCompile(projectTests(":compiler:tests-common")) |
| testCompile(project(":kotlin-test:kotlin-test-jvm")) |
| testCompile(commonDep("junit:junit")) |
| |
| testRuntime(intellijPluginDep("junit")) { includeJars("idea-junit", "resources_en") } |
| |
| robolectricClasspath(commonDep("org.robolectric", "robolectric")) |
| robolectricClasspath("org.robolectric:android-all:4.4_r1-robolectric-1") |
| robolectricClasspath(project(":kotlin-android-extensions-runtime")) { isTransitive = false } |
| |
| embeddedComponents(project(":kotlin-android-extensions-runtime")) { isTransitive = false } |
| } |
| |
| sourceSets { |
| "main" { projectDefault() } |
| "test" { projectDefault() } |
| } |
| |
| runtimeJar { |
| fromEmbeddedComponents() |
| } |
| |
| dist() |
| |
| ideaPlugin() |
| |
| testsJar {} |
| |
| evaluationDependsOn(":kotlin-android-extensions-runtime") |
| |
| projectTest { |
| environment("ANDROID_EXTENSIONS_RUNTIME_CLASSES", getSourceSetsFrom(":kotlin-android-extensions-runtime")["main"].output.classesDirs.asPath) |
| dependsOn(":dist") |
| workingDir = rootDir |
| useAndroidJar() |
| doFirst { |
| val androidPluginPath = File(intellijRootDir(), "plugins/android").canonicalPath |
| systemProperty("ideaSdk.androidPlugin.path", androidPluginPath) |
| systemProperty("robolectric.classpath", robolectricClasspath.asPath) |
| } |
| } |