xref: /aosp_15_r20/external/robolectric/shadows/framework/build.gradle.kts (revision e6ba16074e6af37d123cb567d575f496bf0a58ee)

<lambda>null1 plugins {
2   alias(libs.plugins.robolectric.deployed.java.module)
3   alias(libs.plugins.robolectric.java.module)
4   alias(libs.plugins.robolectric.shadows)
5 }
6 
<lambda>null7 shadows {
8   packageName = "org.robolectric"
9   sdkCheckMode = "ERROR"
10 }
11 
12 val sqlite4java = configurations.create("sqlite4java")
13 val sqlite4javaVersion = libs.versions.sqlite4java.get()
14 
15 val copySqliteNatives by
<lambda>null16   tasks.registering(Copy::class) {
17     from(sqlite4java) {
18       include("**/*.dll")
19       include("**/*.so")
20       include("**/*.dylib")
21 
22       rename { filename ->
23         val filenameMatch = "^([^\\-]+)-(.+)-${sqlite4javaVersion}\\.(.+)".toRegex().find(filename)
24         if (filenameMatch != null) {
25           val platformFilename = filenameMatch.groupValues[1]
26           val platformFolder = filenameMatch.groupValues[2]
27           val platformExtension = filenameMatch.groupValues[3]
28 
29           "$platformFolder/$platformFilename.$platformExtension"
30         } else {
31           filename
32         }
33       }
34     }
35     into(project.file(layout.buildDirectory.dir("resources/main/sqlite4java")))
36   }
37 
<lambda>null38 tasks.jar.configure { dependsOn(copySqliteNatives) }
39 
<lambda>null40 tasks.javadoc.configure { dependsOn(copySqliteNatives) }
41 
42 val axtMonitorVersion: String by rootProject.extra
43 
<lambda>null44 dependencies {
45   api(project(":annotations"))
46   api(project(":nativeruntime"))
47   api(project(":resources"))
48   api(project(":pluginapi"))
49   api(project(":sandbox"))
50   api(project(":shadowapi"))
51   api(project(":utils"))
52   api(project(":utils:reflector"))
53 
54   api("androidx.test:monitor:$axtMonitorVersion@aar")
55 
56   implementation(libs.error.prone.annotations)
57   compileOnly(libs.findbugs.jsr305)
58   api(libs.sqlite4java)
59   compileOnly(AndroidSdk.MAX_SDK.coordinates)
60   api(libs.icu4j)
61   api(libs.auto.value.annotations)
62   annotationProcessor(libs.auto.value)
63 
64   sqlite4java(libs.bundles.sqlite4java.native)
65 }
66