plugin/build.gradle.kts (94 lines of code) (raw):

import com.jfrog.bintray.gradle.BintrayExtension import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.idea.inspections.* buildscript { extra["kotlinVersion"] = "1.3.72" val kotlinVersion: String by extra repositories { mavenCentral() mavenLocal() jcenter() maven { setUrl("https://plugins.gradle.org/m2/") } } dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") } } val kotlinVersion: String by extra plugins { java kotlin("jvm") version "1.3.72" `java-gradle-plugin` `maven-publish` id("com.jfrog.bintray") version "1.8.4" } val projectName = "inspection-plugin" configure<PublishingExtension> { repositories { maven { url = uri("build/repository") } } publications { create<MavenPublication>("Plugin") { from(components.getByName("java")) version = projectVersion groupId = projectGroup artifactId = projectName } } } configure<BintrayExtension> { user = System.getenv("BINTRAY_USER") key = System.getenv("BINTRAY_KEY") pkg = PackageConfig().apply { userOrg = "kotlin" repo = "kotlin-dev" name = "inspections" desc = "IDEA inspection offline running tool" vcsUrl = "https://github.com/mglukhikh/inspection-plugin.git" setLicenses("Apache-2.0") version = VersionConfig().apply { name = projectVersion } } setPublications("Plugin") } repositories { mavenCentral() mavenLocal() } tasks { withType<KotlinCompile> { kotlinOptions { jvmTarget = "1.8" languageVersion = "1.1" apiVersion = "1.1" } } } configurations { create("submodules") get("compileOnly").extendsFrom(get("submodules")) } dependencies { compileOnly("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion") compileOnly(gradleApi()) compile("org.apache.httpcomponents:httpclient:4.5.5") compile("com.googlecode.json-simple:json-simple:1.1") add("submodules", project(":interface")) add("submodules", project(":frontend")) } configure<Jar>("jar") { from(configurations["submodules"].map { if (it.isDirectory) it as Any else zipTree(it) }) } configure<ProcessResources>("processResources") { inputs.file("../gradle.properties") eachFile { if (name == "org.jetbrains.intellij.inspections.properties") { filter { it.replace("<version>", projectVersion) } } } }