plugins {
    id 'corda.common-publishing'
    id 'corda.common-library'
}

description 'Persistence Processor'

dependencies {
    compileOnly 'org.osgi:org.osgi.service.component.annotations'
    compileOnly 'org.osgi:osgi.annotation'

    implementation platform("net.corda:corda-api:$cordaApiVersion")
    implementation project(':components:configuration:configuration-read-service')
    implementation project(':components:db:db-connection-manager')
    implementation project(':components:ledger:ledger-persistence')
    implementation project(':components:persistence:entity-processor-service')
    implementation project(':components:virtual-node:cpk-read-service')
    implementation project(':components:virtual-node:cpi-info-read-service')
    implementation project(':libs:configuration:configuration-datamodel')
    implementation project(':libs:messaging:messaging')
    implementation project(":libs:utilities")
    implementation 'net.corda:corda-config-schema'
    implementation 'net.corda:corda-db-schema'

    runtimeOnly 'net.corda:corda-ledger-consensual'

    runtimeOnly project(':components:db:db-connection-manager-impl')
    runtimeOnly project(':libs:flows:external-event-responses-impl')
    runtimeOnly project(':components:persistence:entity-processor-service-impl')
    runtimeOnly project(':components:virtual-node:cpi-info-read-service-impl')
    runtimeOnly project(':components:virtual-node:cpk-read-service-impl')

    runtimeOnly project(':components:virtual-node:cpi-info-read-service-impl')
    runtimeOnly project(':components:virtual-node:cpk-read-service-impl')
    runtimeOnly project(":libs:application:application-impl")
    runtimeOnly project(':libs:db:db-orm-impl')
    runtimeOnly project(':libs:lifecycle:lifecycle-impl')
    runtimeOnly project(":libs:membership:membership-impl")
    runtimeOnly project(':libs:messaging:messaging-impl')
    runtimeOnly project(":libs:sandbox-internal")
    runtimeOnly project(':libs:schema-registry:schema-registry-impl')

    // For TimeWindow implementations
    runtimeOnly project(':components:ledger:ledger-utxo-flow')

    runtimeOnly "com.sun.activation:javax.activation:$activationVersion"
    runtimeOnly "org.apache.aries.spifly:org.apache.aries.spifly.dynamic.framework.extension:$ariesDynamicFrameworkExtensionVersion"

    testRuntimeOnly libs.postgresql.jdbc

    testImplementation project(':testing:test-utilities')
}
