import com.github.jengelman.gradle.plugins.shadow.transformers.ServiceFileTransformer import org.jetbrains.PluginXmlTransformer import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar apply plugin: 'java' apply plugin: 'com.github.johnrengelman.shadow' dependencies { compile project(":runners:cli") compile project(":runners:ant") } jar { manifest { attributes 'Main-Class': 'org.jetbrains.dokka.MainKt' } } shadowJar { baseName = 'dokka-fatjar' classifier = '' configurations { exclude compileOnly } transform(ServiceFileTransformer) transform(PluginXmlTransformer) exclude 'colorScheme/**' exclude 'fileTemplates/**' exclude 'inspectionDescriptions/**' exclude 'intentionDescriptions/**' exclude 'src/**' relocate('kotlin.reflect.full', 'kotlin.reflect') } task apiShadow(type: ShadowJar) { baseName = 'dokka-fatapi' classifier = '' configurations = [project.configurations.compile] configurations { exclude compileOnly } transform(ServiceFileTransformer) transform(PluginXmlTransformer) exclude 'kotlin/**' exclude 'colorScheme/**' exclude 'fileTemplates/**' exclude 'inspectionDescriptions/**' exclude 'intentionDescriptions/**' exclude 'src/**' relocate('kotlin.reflect.full', 'kotlin.reflect') } apply plugin: 'maven-publish' publishing { publications { dokkaFatJar(MavenPublication) { publication -> artifactId = 'dokka-fatjar' project.shadow.component(publication) } dokkaFatApi(MavenPublication) {publication -> artifactId = 'dokka-fatapi' publication.artifact(project.tasks.apiShadow) } } } bintrayPublication(project, ["dokkaFatJar"])