plugins {
    id("gradlebuild.distribution.api-java")
}

description = "Classes shared between workers and the daemon"

dependencies {
    api(projects.baseServices)
    api(projects.buildDiscovery)
    api(projects.buildOperations)
    api(projects.buildProcessServices)
    api(projects.classloaders)
    api(projects.concurrent)
    api(projects.coreApi)
    api(projects.domainObjectCollections)
    api(projects.enterpriseLogging)
    api(projects.fileCollections)
    api(projects.fileOperations)
    api(projects.fileTemp)
    api(projects.files)
    api(projects.hashing)
    api(projects.logging)
    api(projects.messaging)
    api(projects.modelCore)
    api(projects.native)
    api(projects.persistentCache)
    api(projects.serviceLookup)
    api(projects.serviceProvider)
    api(projects.stdlibJavaExtensions)
    api(projects.time)
    api(libs.jspecify)

    implementation(projects.buildDiscoveryImpl)
    implementation(projects.classpath)
    implementation(projects.functional)
    implementation(projects.modelReflect)
    implementation(projects.processServices)
    implementation(projects.scopedPersistentCache)
    implementation(projects.snapshots)
    implementation(libs.asm)
    implementation(libs.commonsLang)
    implementation(libs.groovy)
    implementation(libs.jsr305)

    testImplementation(testFixtures(projects.core))
}

gradleModule {
    computedRuntimes {
        // Auto-generated by `:checkTargetRuntimes --fix`
        client = true
        daemon = true
        worker = true
    }
}
