import org.jetbrains.DependenciesVersionGetter allprojects { ext { if (!project.findProperty("dokka_version")) { final String buildNumber = System.getenv("BUILD_NUMBER") dokka_version = dokka_version_base + (buildNumber == null || System.getenv("FORCE_SNAPSHOT") != null ? "-SNAPSHOT" : "-$buildNumber") } } if (project == rootProject) { println "Publication version: $dokka_version" } group 'org.jetbrains.dokka' version dokka_version def repo = { artifactPattern("https://teamcity.jetbrains.com/guestAuth/repository/download/Kotlin_dev_CompilerAllPlugins/[revision]/internal/[module](.[ext])") artifactPattern("https://teamcity.jetbrains.com/guestAuth/repository/download/Kotlin_dev_CompilerAllPlugins/[revision]/[module](.[ext])") artifactPattern("https://teamcity.jetbrains.com/guestAuth/repository/download/IntelliJMarkdownParser_Build/[revision]/([module]_[ext]/)[module](.[ext])") } buildscript { repositories { mavenCentral() maven { url "https://dl.bintray.com/kotlin/kotlin-eap" } maven { url "https://dl.bintray.com/kotlin/kotlin-dev" } maven { url "https://plugins.gradle.org/m2/" } ivy(repo) } dependencies { classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.1' classpath "com.gradle.publish:plugin-publish-plugin:0.9.10" } } repositories { jcenter() mavenCentral() mavenLocal() maven { url "https://dl.bintray.com/jetbrains/markdown" } maven { url "https://dl.bintray.com/kotlin/kotlin-eap" } maven { url "https://dl.bintray.com/kotlin/kotlin-dev" } maven { url "https://teamcity.jetbrains.com/guestAuth/repository/download/Kotlin_dev_CompilerAllPlugins/$bundled_kotlin_compiler_version/maven" } ivy(repo) maven { url "https://kotlin.bintray.com/kotlinx" } maven { url "https://dl.bintray.com/kotlin/kotlinx" } maven { url "https://dl.bintray.com/orangy/maven" } // TODO: remove this repository when kotlinx.cli is available in maven } } def bintrayPublication(project, List _publications) { configure(project, { apply plugin: 'com.jfrog.bintray' bintray { user = System.getenv('BINTRAY_USER') key = System.getenv('BINTRAY_KEY') pkg { repo = dokka_publication_channel name = 'dokka' userOrg = 'kotlin' desc = 'Dokka, the Kotlin documentation tool' vcsUrl = 'https://github.com/kotlin/dokka.git' licenses = ['Apache-2.0'] version { name = dokka_version } } publications = _publications } }) } def versions = DependenciesVersionGetter.getVersions(project, bundled_kotlin_compiler_version) ext.ideaVersion = versions["idea.build.id"] ext.markdownVersion = versions["markdown.build.id"].replace("%20", " ") configurations { ideaIC intellijCore } repositories { maven { url 'https://www.jetbrains.com/intellij-repository/snapshots' } maven { url 'https://www.jetbrains.com/intellij-repository/releases' } } dependencies { intellijCore "com.jetbrains.intellij.idea:intellij-core:$ideaVersion" ideaIC "com.jetbrains.intellij.idea:ideaIC:$ideaVersion" } def intellijCoreAnalysis() { return zipTree(configurations.intellijCore.singleFile).matching ({ include("intellij-core-analysis.jar") }) } def ideaRT() { return zipTree(project.configurations.ideaIC.singleFile).matching ({ include("lib/idea_rt.jar") }) } def repoLocation = uri(file("$buildDir/dist-maven")) configurations { kotlin_plugin_full } dependencies { final String ijVersion = "20" + ideaVersion.take(2) + "." + ideaVersion[2] kotlin_plugin_full "teamcity:kotlin-plugin-$bundled_kotlin_compiler_version-IJ$ijVersion-1:$bundled_kotlin_compiler_version@zip" } def kotlinPluginDependency() { return zipTree(configurations.kotlin_plugin_full.singleFile).matching({ include("Kotlin/lib/kotlin-plugin.jar") }) } allprojects { task publishToDistMaven { group "publishing" description "Publishes all Maven publications to Maven repository 'distMaven'." dependsOn tasks.withType(PublishToMavenRepository).matching { it.repository == publishing.repositories.distMaven } } plugins.withType(MavenPublishPlugin) { publishing { repositories { maven { name 'distMaven' url repoLocation } } } } }