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"])