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

description = """
    Classes and serializers for classes intended to be serialized for
    communication between clients and the Gradle daemon during startup
    over stdin/stdout and during runtime over the daemon socket.
"""

dependencies {
    api(projects.buildOperations)
    api(projects.classloaders)
    api(projects.logging)
    api(projects.loggingApi)
    api(projects.messaging)
    api(projects.native)
    api(projects.problemsApi)
    api(projects.serialization)
    api(projects.startParameter)
    api(projects.toolingApi)

    api(libs.jspecify)

    implementation(projects.baseServices)
    implementation(projects.buildOption)
    implementation(projects.fileWatching)
    implementation(projects.stdlibJavaExtensions)

    implementation(libs.guava)

    testImplementation(testFixtures(projects.serialization))
}

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