1*cd0cc2e3SAndroid Build Coastguard Workerdescription = 'Conscrypt: Constants' 2*cd0cc2e3SAndroid Build Coastguard Worker 3*cd0cc2e3SAndroid Build Coastguard Workerext { 4*cd0cc2e3SAndroid Build Coastguard Worker genDir = "${project.buildDir}/generated-sources" 5*cd0cc2e3SAndroid Build Coastguard Worker} 6*cd0cc2e3SAndroid Build Coastguard Worker 7*cd0cc2e3SAndroid Build Coastguard Worker 8*cd0cc2e3SAndroid Build Coastguard WorkersourceSets.main { 9*cd0cc2e3SAndroid Build Coastguard Worker java { 10*cd0cc2e3SAndroid Build Coastguard Worker srcDirs = [ 11*cd0cc2e3SAndroid Build Coastguard Worker "${genDir}" 12*cd0cc2e3SAndroid Build Coastguard Worker ] 13*cd0cc2e3SAndroid Build Coastguard Worker } 14*cd0cc2e3SAndroid Build Coastguard Worker} 15*cd0cc2e3SAndroid Build Coastguard Worker 16*cd0cc2e3SAndroid Build Coastguard Workerdependencies { 17*cd0cc2e3SAndroid Build Coastguard Worker implementation files("${genDir}") { 18*cd0cc2e3SAndroid Build Coastguard Worker builtBy ':conscrypt-constants:runGen' 19*cd0cc2e3SAndroid Build Coastguard Worker } 20*cd0cc2e3SAndroid Build Coastguard Worker} 21*cd0cc2e3SAndroid Build Coastguard Worker 22*cd0cc2e3SAndroid Build Coastguard Workermodel { 23*cd0cc2e3SAndroid Build Coastguard Worker components { 24*cd0cc2e3SAndroid Build Coastguard Worker // Builds exe/ which generates the content of NativeConstants.java 25*cd0cc2e3SAndroid Build Coastguard Worker gen(NativeExecutableSpec) { 26*cd0cc2e3SAndroid Build Coastguard Worker sources { 27*cd0cc2e3SAndroid Build Coastguard Worker cpp { 28*cd0cc2e3SAndroid Build Coastguard Worker // Sources assumed to be in src/gen/cpp by default. 29*cd0cc2e3SAndroid Build Coastguard Worker exportedHeaders { 30*cd0cc2e3SAndroid Build Coastguard Worker srcDirs "${boringsslIncludeDir}" 31*cd0cc2e3SAndroid Build Coastguard Worker include "**/*.cc" 32*cd0cc2e3SAndroid Build Coastguard Worker } 33*cd0cc2e3SAndroid Build Coastguard Worker } 34*cd0cc2e3SAndroid Build Coastguard Worker } 35*cd0cc2e3SAndroid Build Coastguard Worker 36*cd0cc2e3SAndroid Build Coastguard Worker binaries.all { 37*cd0cc2e3SAndroid Build Coastguard Worker if (toolChain in VisualCpp) { 38*cd0cc2e3SAndroid Build Coastguard Worker cppCompiler.define "WIN32_LEAN_AND_MEAN" 39*cd0cc2e3SAndroid Build Coastguard Worker } else if (toolChain in Clang || toolChain in Gcc) { 40*cd0cc2e3SAndroid Build Coastguard Worker cppCompiler.args "-std=c++17" 41*cd0cc2e3SAndroid Build Coastguard Worker } 42*cd0cc2e3SAndroid Build Coastguard Worker } 43*cd0cc2e3SAndroid Build Coastguard Worker } 44*cd0cc2e3SAndroid Build Coastguard Worker } 45*cd0cc2e3SAndroid Build Coastguard Worker 46*cd0cc2e3SAndroid Build Coastguard Worker tasks { 47*cd0cc2e3SAndroid Build Coastguard Worker // Runs generateNativeConstants to create build/NativeConstants.java 48*cd0cc2e3SAndroid Build Coastguard Worker runGen(Exec) { 49*cd0cc2e3SAndroid Build Coastguard Worker def gen = $.binaries.get("genExecutable") 50*cd0cc2e3SAndroid Build Coastguard Worker 51*cd0cc2e3SAndroid Build Coastguard Worker dependsOn gen 52*cd0cc2e3SAndroid Build Coastguard Worker outputs.dir genDir 53*cd0cc2e3SAndroid Build Coastguard Worker File genDir = new File("${genDir}/org/conscrypt") 54*cd0cc2e3SAndroid Build Coastguard Worker 55*cd0cc2e3SAndroid Build Coastguard Worker executable gen.executable.file 56*cd0cc2e3SAndroid Build Coastguard Worker 57*cd0cc2e3SAndroid Build Coastguard Worker doFirst { 58*cd0cc2e3SAndroid Build Coastguard Worker genDir.mkdirs() 59*cd0cc2e3SAndroid Build Coastguard Worker standardOutput = new FileOutputStream(new File(genDir, "NativeConstants.java")) 60*cd0cc2e3SAndroid Build Coastguard Worker } 61*cd0cc2e3SAndroid Build Coastguard Worker doLast { 62*cd0cc2e3SAndroid Build Coastguard Worker if (standardOutput != null) { 63*cd0cc2e3SAndroid Build Coastguard Worker standardOutput.close(); 64*cd0cc2e3SAndroid Build Coastguard Worker } 65*cd0cc2e3SAndroid Build Coastguard Worker } 66*cd0cc2e3SAndroid Build Coastguard Worker } 67*cd0cc2e3SAndroid Build Coastguard Worker } 68*cd0cc2e3SAndroid Build Coastguard Worker} 69*cd0cc2e3SAndroid Build Coastguard Worker 70*cd0cc2e3SAndroid Build Coastguard Worker// Disable the javadoc task. 71*cd0cc2e3SAndroid Build Coastguard Workertasks.withType(Javadoc).configureEach { enabled = false } 72