task runtime {
    description 'Build all the runtime components of the gapid system'
    group 'build'
    dependsOn ':server:gapis:assemble', ':cc:replayd:assemble'
}

task gen(type:Exec) {
    description 'Generate binary coder source'
    group 'build'
    commandLine bin('codergen'),
            '--signatures', rootProject.file("signatures.txt"),
            '--go',
            '--java', TOOLS_DIR,
            '-cpp', rootProject.file('cc/gapic/coder'),
            "${GPU_MODULE}/..."
    inputs.source allGoFiles
    outputs.file allBinaryFiles
    workingDir REPO_DIR
    dependsOn ':tools:codergen:codergen'
}

task gotest(type:Exec) {
    description 'Run go unit tests'
    group 'verification'
    commandLine 'go', 'test', "${GPU_MODULE}/..."
    if (project.hasProperty('short')) {
        args '--short'
    }
    workingDir REPO_DIR
    dependsOn runtime
}

rootProject.check.dependsOn gotest
