apply plugin: 'org.jetbrains.kotlin.jvm'
apply plugin: 'corda.common-publishing'

dependencies {
    implementation project(':core')
    implementation project(':serialization')
    implementation project(':client:jackson')
    implementation project(':tools:cliutils')
    implementation project(":common-logging")

    implementation "org.slf4j:jul-to-slf4j:$slf4j_version"
    implementation "org.apache.logging.log4j:log4j-slf4j2-impl:$log4j_version"
    implementation "com.jcabi:jcabi-manifests:$jcabi_manifests_version"
    implementation "com.fasterxml.jackson.core:jackson-databind:$jackson_version"
    implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:$jackson_version"
    implementation "info.picocli:picocli:$picocli_version"
    implementation "org.apache.qpid:proton-j:$protonj_version"

    testImplementation(project(':test-utils')) {
        exclude module: 'node-api'
        exclude module: 'contracts'
    }

    testImplementation(project(':core-test-utils')) {
        exclude module: 'node-api'
    }

    testImplementation "commons-io:commons-io:$commons_io_version"
    testImplementation "org.assertj:assertj-core:${assertj_version}"
    testImplementation "junit:junit:$junit_version"
}

configurations.implementation.canBeResolved = true

jar {
    from(configurations.implementation.collect { it.isDirectory() ? it : zipTree(it) }) {
        exclude "META-INF/*.SF"
        exclude "META-INF/*.DSA"
        exclude "META-INF/*.RSA"
    }
    baseName = "blob-inspector"
    manifest {
        attributes(
                'Main-Class': 'net.corda.blobinspector.BlobInspectorKt'
        )
    }
    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}

publishing {
    publications {
        maven(MavenPublication) {
            artifactId 'corda-tools-blob-inspector'
            from components.java
        }
    }
}
