apply plugin: 'java'
apply plugin: 'cpp'

sourceSets {
    stub {
        java.srcDirs = [
            'src/stub/java'
        ]
    }
}
// this is the "Unbundled Conscrypt jar"
sourceSets.main {
    java.srcDirs = [
        'src/main/java',
        'src/compat/java',
        "${project.buildDir}/gen",
    ]
    compileClasspath += sourceSets.stub.output
}

compileJava.options.encoding = 'UTF-8'
compileJava.options.compilerArgs += ['-Xmaxwarns', '9999999']

dependencies {
    compile getAndroidPrebuilt('9')
    compile files("${project.buildDir}/gen") {
        builtBy 'gen_constants'
    }
}

model {
    components {
        genconst(NativeExecutableSpec) {
            sources {
                cpp {
                    source {
                        srcDir "src/gen/native"
                    }
                    exportedHeaders {
                        srcDirs "../openssl/include", "../boringssl/include"
                    }
                }
            }
        }
    }
}

task gen_constants(type:Exec)  {
    File genDir = new File("${project.buildDir}", "gen")
    genDir.mkdirs()

    workingDir new File("${project.buildDir}")
    executable 'binaries/genconstExecutable/genconst'
    standardOutput = new FileOutputStream(new File(genDir, "NativeConstants.java"))
}

gen_constants.dependsOn 'genconstExecutable'
