/*
 * SPDX-License-Identifier: Apache-2.0
 */

plugins {
    id 'com.github.johnrengelman.shadow' version '5.1.0'
    id 'application'
    id 'checkstyle'
    id 'jacoco'
}

group 'org.hyperledger.fabric.samples'
version '1.0-SNAPSHOT'

dependencies {
    
    implementation 'org.hyperledger.fabric-chaincode-java:fabric-chaincode-shim:2.5.+'
    implementation 'org.json:json:+'

    testImplementation 'org.hyperledger.fabric-chaincode-java:fabric-chaincode-shim:2.+'
    testImplementation 'org.junit.jupiter:junit-jupiter:5.4.2'
    testImplementation 'org.assertj:assertj-core:3.11.1'
    testImplementation 'org.mockito:mockito-core:2.+'
}

repositories {
    mavenCentral()
    maven {
        url 'https://jitpack.io'
    }
}

application {
    mainClass = 'org.hyperledger.fabric.contract.ContractRouter'
}

checkstyle {
    toolVersion '8.21'
    configFile file("config/checkstyle/checkstyle.xml")
}

checkstyleMain {
    source ='src/main/java'
}

checkstyleTest {
    source ='src/test/java'
}

jacocoTestReport {
    dependsOn test
}

test {
    useJUnitPlatform()
    testLogging {
        events "passed", "skipped", "failed"
    }
}

mainClassName = 'org.hyperledger.fabric.contract.ContractRouter'

shadowJar {
    baseName = 'chaincode'
    version = null
    classifier = null

    manifest {
        attributes 'Main-Class': 'org.hyperledger.fabric.contract.ContractRouter'
    }
}

installDist.dependsOn check