xref: /aosp_15_r20/external/conscrypt/constants/build.gradle (revision cd0cc2e34ba52cdf454361820a14d744e4bd531d)
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