xref: /aosp_15_r20/tools/ndkports/curl/build.gradle.kts (revision 2e149f73a8e792fff6dc6aadc18d0d919a071282)
1*2e149f73SXin Li import com.android.ndkports.AutoconfPortTask
2*2e149f73SXin Li import com.android.ndkports.CMakeCompatibleVersion
3*2e149f73SXin Li import com.android.ndkports.PrefabSysrootPlugin
4*2e149f73SXin Li 
5*2e149f73SXin Li val portVersion = "7.85.0"
6*2e149f73SXin Li 
7*2e149f73SXin Li group = "com.android.ndk.thirdparty"
8*2e149f73SXin Li version = "$portVersion${rootProject.extra.get("snapshotSuffix")}"
9*2e149f73SXin Li 
<lambda>null10*2e149f73SXin Li plugins {
11*2e149f73SXin Li     id("maven-publish")
12*2e149f73SXin Li     id("com.android.ndkports.NdkPorts")
13*2e149f73SXin Li     distribution
14*2e149f73SXin Li }
15*2e149f73SXin Li 
<lambda>null16*2e149f73SXin Li dependencies {
17*2e149f73SXin Li     implementation(project(":openssl"))
18*2e149f73SXin Li }
19*2e149f73SXin Li 
<lambda>null20*2e149f73SXin Li ndkPorts {
21*2e149f73SXin Li     ndkPath.set(File(project.findProperty("ndkPath") as String))
22*2e149f73SXin Li     source.set(project.file("src.tar.gz"))
23*2e149f73SXin Li     minSdkVersion.set(21)
24*2e149f73SXin Li }
25*2e149f73SXin Li 
<lambda>null26*2e149f73SXin Li tasks.prefab {
27*2e149f73SXin Li     generator.set(PrefabSysrootPlugin::class.java)
28*2e149f73SXin Li }
29*2e149f73SXin Li 
<lambda>null30*2e149f73SXin Li tasks.register<AutoconfPortTask>("buildPort") {
31*2e149f73SXin Li     autoconf {
32*2e149f73SXin Li         args(
33*2e149f73SXin Li             "--disable-ntlm-wb",
34*2e149f73SXin Li             "--enable-ipv6",
35*2e149f73SXin Li             "--with-zlib",
36*2e149f73SXin Li             "--with-ca-path=/system/etc/security/cacerts",
37*2e149f73SXin Li             "--with-ssl=$sysroot"
38*2e149f73SXin Li         )
39*2e149f73SXin Li     }
40*2e149f73SXin Li }
41*2e149f73SXin Li 
<lambda>null42*2e149f73SXin Li tasks.prefabPackage {
43*2e149f73SXin Li     version.set(CMakeCompatibleVersion.parse(portVersion))
44*2e149f73SXin Li 
45*2e149f73SXin Li     licensePath.set("COPYING")
46*2e149f73SXin Li 
47*2e149f73SXin Li     @Suppress("UnstableApiUsage") dependencies.set(
48*2e149f73SXin Li         mapOf(
49*2e149f73SXin Li             "openssl" to "1.1.1k"
50*2e149f73SXin Li         )
51*2e149f73SXin Li     )
52*2e149f73SXin Li 
53*2e149f73SXin Li     modules {
54*2e149f73SXin Li         create("curl") {
55*2e149f73SXin Li             dependencies.set(
56*2e149f73SXin Li                 listOf(
57*2e149f73SXin Li                     "//openssl:crypto", "//openssl:ssl"
58*2e149f73SXin Li                 )
59*2e149f73SXin Li             )
60*2e149f73SXin Li         }
61*2e149f73SXin Li     }
62*2e149f73SXin Li }
63*2e149f73SXin Li 
<lambda>null64*2e149f73SXin Li publishing {
65*2e149f73SXin Li     publications {
66*2e149f73SXin Li         create<MavenPublication>("maven") {
67*2e149f73SXin Li             from(components["prefab"])
68*2e149f73SXin Li             pom {
69*2e149f73SXin Li                 name.set("curl")
70*2e149f73SXin Li                 description.set("The ndkports AAR for curl.")
71*2e149f73SXin Li                 url.set(
72*2e149f73SXin Li                     "https://android.googlesource.com/platform/tools/ndkports"
73*2e149f73SXin Li                 )
74*2e149f73SXin Li                 licenses {
75*2e149f73SXin Li                     license {
76*2e149f73SXin Li                         name.set("The curl License")
77*2e149f73SXin Li                         url.set("https://curl.haxx.se/docs/copyright.html")
78*2e149f73SXin Li                         distribution.set("repo")
79*2e149f73SXin Li                     }
80*2e149f73SXin Li                 }
81*2e149f73SXin Li                 developers {
82*2e149f73SXin Li                     developer {
83*2e149f73SXin Li                         name.set("The Android Open Source Project")
84*2e149f73SXin Li                     }
85*2e149f73SXin Li                 }
86*2e149f73SXin Li                 scm {
87*2e149f73SXin Li                     url.set("https://android.googlesource.com/platform/tools/ndkports")
88*2e149f73SXin Li                     connection.set("scm:git:https://android.googlesource.com/platform/tools/ndkports")
89*2e149f73SXin Li                 }
90*2e149f73SXin Li             }
91*2e149f73SXin Li         }
92*2e149f73SXin Li     }
93*2e149f73SXin Li 
94*2e149f73SXin Li     repositories {
95*2e149f73SXin Li         maven {
96*2e149f73SXin Li             url = uri("${project.buildDir}/repository")
97*2e149f73SXin Li         }
98*2e149f73SXin Li     }
99*2e149f73SXin Li }
100*2e149f73SXin Li 
<lambda>null101*2e149f73SXin Li distributions {
102*2e149f73SXin Li     main {
103*2e149f73SXin Li         contents {
104*2e149f73SXin Li             from("${project.buildDir}/repository")
105*2e149f73SXin Li             include("**/*.aar")
106*2e149f73SXin Li             include("**/*.pom")
107*2e149f73SXin Li         }
108*2e149f73SXin Li     }
109*2e149f73SXin Li }
110*2e149f73SXin Li 
<lambda>null111*2e149f73SXin Li tasks {
112*2e149f73SXin Li     distZip {
113*2e149f73SXin Li         dependsOn("publish")
114*2e149f73SXin Li         destinationDirectory.set(File(rootProject.buildDir, "distributions"))
115*2e149f73SXin Li     }
116*2e149f73SXin Li }
117