@callstack/react-native-brownfield 6.0.1 → 6.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/android/src/main/java/com/callstack/reactnativebrownfield/ReactNativeBrownfield.kt +12 -12
  3. package/android/src/main/java/com/callstack/reactnativebrownfield/RetryableOnce.kt +27 -0
  4. package/android/src/test/java/com/callstack/reactnativebrownfield/RetryableOnceTest.kt +37 -0
  5. package/gradle-plugin/brownfield/build.gradle.kts +4 -0
  6. package/gradle-plugin/brownfield/gradle/libs.versions.toml +2 -0
  7. package/gradle-plugin/brownfield/gradle.properties +1 -1
  8. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNBrownfieldPlugin.kt +24 -7
  9. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt +4 -37
  10. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/JNILibsProcessor.kt +206 -104
  11. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/ResourceTaskProcessor.kt +201 -4
  12. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/VariantHelper.kt +7 -0
  13. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/VariantTaskProvider.kt +4 -0
  14. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/shared/GradleExclude.kt +31 -0
  15. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/shared/MergeClassesTask.kt +2 -0
  16. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/shared/PublishingMetadataInjector.kt +28 -3
  17. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/utils/Extension.kt +14 -1
  18. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/utils/TaskOutputs.kt +40 -0
  19. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/plugin/AgpCompatibilityMatrixTest.kt +14 -6
  20. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/plugin/HardExcludePredicateTest.kt +28 -0
  21. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/processors/ConfigureProcessJniTaskTest.kt +60 -0
  22. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/processors/CopyExplodedResTaskTest.kt +368 -0
  23. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/processors/JniLibsPlanTest.kt +252 -0
  24. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/processors/MergeClassesLocalJarsTest.kt +73 -0
  25. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/processors/MetroResDirWiringTest.kt +39 -0
  26. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/processors/ProcessAndCopyJniLibsTaskTest.kt +136 -0
  27. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/shared/GradleExcludesTest.kt +81 -0
  28. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/shared/PublishingMetadataInjectorTest.kt +56 -0
  29. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/utils/ExtensionTest.kt +5 -0
  30. package/ios/ReactNativeBrownfield.swift +3 -1
  31. package/ios/ReactNativeBrownfieldModule.mm +35 -7
  32. package/lib/commonjs/expo-config-plugin/android/utils/constants.js +1 -1
  33. package/lib/commonjs/expo-config-plugin/android/withAndroidModuleFiles.js +1 -1
  34. package/lib/commonjs/expo-config-plugin/android/withAndroidModuleFiles.js.map +1 -1
  35. package/lib/commonjs/expo-config-plugin/template/android/build.gradle.kts +1 -1
  36. package/lib/commonjs/index.js +1 -1
  37. package/lib/commonjs/index.js.map +1 -1
  38. package/lib/commonjs/scaffold/index.js +1 -1
  39. package/lib/commonjs/scaffold/index.js.map +1 -1
  40. package/lib/module/expo-config-plugin/android/utils/constants.js +1 -1
  41. package/lib/module/expo-config-plugin/android/withAndroidModuleFiles.js +1 -1
  42. package/lib/module/expo-config-plugin/android/withAndroidModuleFiles.js.map +1 -1
  43. package/lib/module/expo-config-plugin/template/android/build.gradle.kts +1 -1
  44. package/lib/module/index.js +1 -1
  45. package/lib/module/index.js.map +1 -1
  46. package/lib/module/scaffold/index.js +1 -1
  47. package/lib/module/scaffold/index.js.map +1 -1
  48. package/lib/typescript/commonjs/src/expo-config-plugin/android/utils/constants.d.ts +2 -2
  49. package/lib/typescript/commonjs/src/expo-config-plugin/android/withAndroidModuleFiles.d.ts.map +1 -1
  50. package/lib/typescript/commonjs/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.d.ts +6 -0
  51. package/lib/typescript/commonjs/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.d.ts.map +1 -1
  52. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  53. package/lib/typescript/commonjs/src/scaffold/index.d.ts.map +1 -1
  54. package/lib/typescript/module/src/expo-config-plugin/android/utils/constants.d.ts +2 -2
  55. package/lib/typescript/module/src/expo-config-plugin/android/withAndroidModuleFiles.d.ts.map +1 -1
  56. package/lib/typescript/module/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.d.ts +6 -0
  57. package/lib/typescript/module/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.d.ts.map +1 -1
  58. package/lib/typescript/module/src/index.d.ts.map +1 -1
  59. package/lib/typescript/module/src/scaffold/index.d.ts.map +1 -1
  60. package/package.json +2 -2
  61. package/src/expo-config-plugin/android/utils/constants.ts +1 -1
  62. package/src/expo-config-plugin/android/withAndroidModuleFiles.ts +42 -0
  63. package/src/expo-config-plugin/template/android/build.gradle.kts +1 -1
  64. package/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.ts +7 -0
  65. package/src/index.ts +4 -2
  66. package/src/scaffold/index.ts +1 -0
@@ -0,0 +1,73 @@
1
+ package com.callstack.react.brownfield.processors
2
+
3
+ import com.callstack.react.brownfield.shared.ExplodeAarTask
4
+ import com.callstack.react.brownfield.shared.UnresolvedArtifactInfo
5
+ import com.callstack.react.brownfield.utils.AndroidArchiveLibrary
6
+ import com.callstack.react.brownfield.utils.DirectoryManager
7
+ import org.gradle.testfixtures.ProjectBuilder
8
+ import org.junit.jupiter.api.Test
9
+ import org.junit.jupiter.api.io.TempDir
10
+ import java.io.File
11
+ import java.util.zip.ZipEntry
12
+ import java.util.zip.ZipOutputStream
13
+ import kotlin.test.assertTrue
14
+
15
+ /**
16
+ * A library that ships `implementation files("libs/some.jar")` has that jar in its exploded AAR's
17
+ * `libs/`. Its classes must be merged with the library's own `classes.jar` (#489).
18
+ */
19
+ class MergeClassesLocalJarsTest {
20
+ @TempDir
21
+ lateinit var tempDir: File
22
+
23
+ @Test
24
+ fun `merges classes from a library's local jars`() {
25
+ val project = ProjectBuilder.builder().withProjectDir(tempDir).build()
26
+ DirectoryManager.project = project
27
+
28
+ val variantName = "release"
29
+ val library =
30
+ AndroidArchiveLibrary(
31
+ project,
32
+ UnresolvedArtifactInfo("RNApp", "react-native-aar-repro", "unspecified", null, false),
33
+ variantName,
34
+ )
35
+ val explodeTask = project.tasks.register("explodeTest", ExplodeAarTask::class.java)
36
+ val mergeTask = VariantTaskProvider(project).mergeClasses(listOf(library), explodeTask, variantName).get()
37
+
38
+ // Exploded after the task is configured, as on a clean build.
39
+ library.getExplodedAarRootDir().mkdirs()
40
+ writeJar(library.getClassesJarFile(), "com/aarrepro/AarReproPackage.class")
41
+ writeJar(
42
+ File(library.getLibsDir(), "aar-repro.jar"),
43
+ "com/aarrepro/jar/AarReproJarClass.class",
44
+ "module-info.class",
45
+ )
46
+
47
+ mergeTask.run()
48
+
49
+ val merged = mergeTask.outputDir.get().asFile
50
+ assertTrue(File(merged, "com/aarrepro/AarReproPackage.class").exists(), "classes.jar was not merged")
51
+ assertTrue(
52
+ File(merged, "com/aarrepro/jar/AarReproJarClass.class").exists(),
53
+ "classes from libs/aar-repro.jar were not merged",
54
+ )
55
+ val javacDir = File(tempDir, "build/intermediates/javac/release/compileReleaseJavaWithJavac/classes")
56
+ assertTrue(File(javacDir, "com/aarrepro/jar/AarReproJarClass.class").exists(), "jar classes are not compiled into the AAR")
57
+ assertTrue(!File(javacDir, "module-info.class").exists(), "a jar's module-info.class ended up in the AAR")
58
+ }
59
+
60
+ private fun writeJar(
61
+ jar: File,
62
+ vararg entries: String,
63
+ ) {
64
+ jar.parentFile.mkdirs()
65
+ ZipOutputStream(jar.outputStream()).use { zip ->
66
+ entries.forEach { entry ->
67
+ zip.putNextEntry(ZipEntry(entry))
68
+ zip.write(byteArrayOf(0xCA.toByte(), 0xFE.toByte(), 0xBA.toByte(), 0xBE.toByte()))
69
+ zip.closeEntry()
70
+ }
71
+ }
72
+ }
73
+ }
@@ -0,0 +1,39 @@
1
+ package com.callstack.react.brownfield.processors
2
+
3
+ import org.gradle.api.DefaultTask
4
+ import org.gradle.api.file.DirectoryProperty
5
+ import org.gradle.api.tasks.OutputDirectory
6
+ import org.gradle.testfixtures.ProjectBuilder
7
+ import org.junit.jupiter.api.Test
8
+ import org.junit.jupiter.api.io.TempDir
9
+ import java.io.File
10
+ import kotlin.test.assertEquals
11
+ import kotlin.test.assertTrue
12
+
13
+ abstract class FakeBundleTask : DefaultTask() {
14
+ @get:OutputDirectory
15
+ abstract val resourcesDir: DirectoryProperty
16
+ }
17
+
18
+ class MetroResDirWiringTest {
19
+ @TempDir
20
+ lateinit var tempDir: File
21
+
22
+ @Test
23
+ fun `treats Metro's res output as the module's own and runs after the bundle`() {
24
+ val root = ProjectBuilder.builder().withProjectDir(tempDir).build()
25
+ val app = ProjectBuilder.builder().withName("app").withParent(root).build()
26
+ val lib = ProjectBuilder.builder().withName("BrownfieldLib").withParent(root).build()
27
+ val metroDir = File(tempDir, "app/build/generated/res/react/release")
28
+ val bundle =
29
+ app.tasks.register("createBundleReleaseJsAndAssets", FakeBundleTask::class.java) {
30
+ it.resourcesDir.set(metroDir)
31
+ }
32
+ val copy = lib.tasks.register("copyExplodedResForRelease", CopyExplodedResTask::class.java).get()
33
+
34
+ wireMetroResDir(copy, app, "createBundleReleaseJsAndAssets")
35
+
36
+ assertEquals(setOf(metroDir), copy.moduleResDirs.files)
37
+ assertTrue(bundle.get() in copy.taskDependencies.getDependencies(copy))
38
+ }
39
+ }
@@ -0,0 +1,136 @@
1
+ package com.callstack.react.brownfield.processors
2
+
3
+ import org.gradle.api.tasks.InputDirectory
4
+ import org.gradle.api.tasks.InputFiles
5
+ import org.gradle.api.tasks.Optional
6
+ import org.gradle.testfixtures.ProjectBuilder
7
+ import org.junit.jupiter.api.Test
8
+ import org.junit.jupiter.api.io.TempDir
9
+ import java.io.File
10
+ import kotlin.test.assertEquals
11
+ import kotlin.test.assertFalse
12
+ import kotlin.test.assertTrue
13
+
14
+ class ProcessAndCopyJniLibsTaskTest {
15
+ @TempDir
16
+ lateinit var tempDir: File
17
+
18
+ private val out by lazy { File(tempDir, "out") }
19
+ private val report by lazy { File(tempDir, "reports/skipped-so.txt") }
20
+
21
+ private fun so(
22
+ root: File,
23
+ abi: String,
24
+ name: String,
25
+ content: String = name,
26
+ ): File =
27
+ File(root, "$abi/$name").apply {
28
+ parentFile.mkdirs()
29
+ writeText(content)
30
+ }
31
+
32
+ private fun runTask(
33
+ aars: List<File>,
34
+ appDir: File,
35
+ extraIgnored: List<String> = emptyList(),
36
+ dynamic: List<String> = emptyList(),
37
+ ) {
38
+ val project = ProjectBuilder.builder().withProjectDir(File(tempDir, "project")).build()
39
+ val task = project.tasks.register("processJniForTest", ProcessAndCopyJniLibsTask::class.java).get()
40
+ task.aarJniDirs.setFrom(aars)
41
+ task.appNativeLibsDir.set(appDir)
42
+ task.extraIgnoredLibs.set(extraIgnored)
43
+ task.dynamicLibs.set(dynamic)
44
+ task.outputDirectory.set(out)
45
+ task.skippedReportFile.set(report)
46
+ task.execute()
47
+ }
48
+
49
+ private fun outFiles(): Set<String> = out.walkTopDown().filter { it.isFile }.map { it.relativeTo(out).invariantSeparatorsPath }.toSet()
50
+
51
+ @Test
52
+ fun `copies the plan and clears stale output`() {
53
+ so(out, "arm64-v8a", "libold.so")
54
+ val app = File(tempDir, "app")
55
+ val aar = File(tempDir, "aar")
56
+ so(app, "arm64-v8a", "libappmodules.so", "app-bytes")
57
+ val aarLib = so(aar, "arm64-v8a", "libfoo.so", "aar-bytes")
58
+
59
+ runTask(listOf(aar), app)
60
+
61
+ assertEquals(setOf("arm64-v8a/libappmodules.so", "arm64-v8a/libfoo.so"), outFiles())
62
+ assertEquals("app-bytes", File(out, "arm64-v8a/libappmodules.so").readText())
63
+ assertEquals("aar-bytes", File(out, "arm64-v8a/libfoo.so").readText())
64
+ assertTrue(aarLib.exists(), "inputs must not be modified")
65
+ }
66
+
67
+ @Test
68
+ fun `works when the app dir does not exist`() {
69
+ val aar = File(tempDir, "aar")
70
+ so(aar, "arm64-v8a", "libfoo.so")
71
+
72
+ runTask(listOf(aar), File(tempDir, "missing"))
73
+
74
+ assertEquals(setOf("arm64-v8a/libfoo.so"), outFiles())
75
+ }
76
+
77
+ @Test
78
+ fun `writes the skipped report`() {
79
+ val app = File(tempDir, "app")
80
+ val aar = File(tempDir, "aar")
81
+ so(app, "arm64-v8a", "libQmBlur.so")
82
+ so(aar, "arm64-v8a", "libreactnative.so")
83
+
84
+ runTask(listOf(aar), app)
85
+
86
+ val lines = report.readLines()
87
+ val expectedFirst = skippedSummary(planJniLibs(listOf(aar), app, IGNORE_EMBEDDED_LIBS, emptyList()), null)
88
+ assertEquals(expectedFirst, lines.first())
89
+ assertTrue("libQmBlur.so: NOT_EMBEDDED" in lines, lines.toString())
90
+ assertTrue("libreactnative.so: IGNORED" in lines, lines.toString())
91
+ }
92
+
93
+ @Test
94
+ fun `writes the skipped report when nothing is skipped`() {
95
+ val app = File(tempDir, "app")
96
+ so(app, "arm64-v8a", "libappmodules.so")
97
+
98
+ runTask(emptyList(), app)
99
+
100
+ assertEquals(listOf("No .so files were left out."), report.readLines())
101
+ }
102
+
103
+ @Test
104
+ fun `applies ignoreEmbeddedLibs and dynamicLibs`() {
105
+ val app = File(tempDir, "app")
106
+ val aar = File(tempDir, "aar")
107
+ so(app, "arm64-v8a", "libmmkv.so")
108
+ so(aar, "arm64-v8a", "libdatadog-ndk.so")
109
+ so(aar, "arm64-v8a", "libfoo.so")
110
+
111
+ runTask(listOf(aar), app, extraIgnored = listOf("libdatadog"), dynamic = listOf("libmmkv.so"))
112
+
113
+ assertEquals(setOf("arm64-v8a/libmmkv.so", "arm64-v8a/libfoo.so"), outFiles())
114
+ assertTrue("libdatadog-ndk.so: IGNORED" in report.readLines())
115
+ }
116
+
117
+ @Test
118
+ fun `app dir is not declared as an InputDirectory`() {
119
+ val getter = ProcessAndCopyJniLibsTask::class.java.getMethod("getAppNativeLibsDir")
120
+
121
+ assertTrue(getter.isAnnotationPresent(InputFiles::class.java))
122
+ assertTrue(getter.isAnnotationPresent(Optional::class.java))
123
+ assertFalse(getter.isAnnotationPresent(InputDirectory::class.java))
124
+ }
125
+
126
+ @Test
127
+ fun `runs after the task that unpacks the embedded AARs`() {
128
+ val project = ProjectBuilder.builder().withProjectDir(File(tempDir, "project")).build()
129
+ val explode = project.tasks.register("explodeDebugAar")
130
+ val task = project.tasks.register("processJniForTest", ProcessAndCopyJniLibsTask::class.java).get()
131
+
132
+ wireAarJniDirs(task, listOf(File(tempDir, "exploded/jni")), explode)
133
+
134
+ assertTrue(explode.get() in task.taskDependencies.getDependencies(task))
135
+ }
136
+ }
@@ -0,0 +1,81 @@
1
+ package com.callstack.react.brownfield.shared
2
+
3
+ import org.gradle.api.Project
4
+ import org.gradle.testfixtures.ProjectBuilder
5
+ import org.junit.jupiter.api.Test
6
+ import org.junit.jupiter.api.io.TempDir
7
+ import java.io.File
8
+ import kotlin.test.assertFalse
9
+ import kotlin.test.assertTrue
10
+
11
+ class GradleExcludesTest {
12
+ @TempDir
13
+ lateinit var tempDir: File
14
+
15
+ private fun project(
16
+ name: String,
17
+ vararg configNames: String,
18
+ ): Project =
19
+ ProjectBuilder.builder().withName(name).withProjectDir(File(tempDir, name)).build().also { project ->
20
+ configNames.forEach { project.configurations.create(it) }
21
+ }
22
+
23
+ private fun Project.excludeEverywhere(
24
+ group: String,
25
+ module: String? = null,
26
+ ) = configurations.all { config ->
27
+ config.exclude(listOfNotNull("group" to group, module?.let { "module" to it }).toMap())
28
+ }
29
+
30
+ private fun excluded(
31
+ project: Project,
32
+ groupId: String,
33
+ artifactId: String,
34
+ ) = gradleExcludes(project).any { it.matches(groupId, artifactId) }
35
+
36
+ @Test
37
+ fun `honors an exclude declared on every configuration`() {
38
+ val lib = project("lib", "implementation", "releaseRuntimeClasspath")
39
+ lib.excludeEverywhere("com.caverock", "androidsvg")
40
+
41
+ assertTrue(excluded(lib, "com.caverock", "androidsvg"))
42
+ assertFalse(excluded(lib, "com.caverock", "androidsvg-aar"))
43
+ }
44
+
45
+ @Test
46
+ fun `a group-only exclude matches every module of the group`() {
47
+ val lib = project("lib", "api")
48
+ lib.excludeEverywhere("com.caverock")
49
+
50
+ assertTrue(excluded(lib, "com.caverock", "androidsvg-aar"))
51
+ }
52
+
53
+ @Test
54
+ fun `ignores a variant-specific exclude`() {
55
+ val lib = project("lib", "implementation", "debugRuntimeClasspath")
56
+ lib.configurations.getByName("debugRuntimeClasspath").exclude(mapOf("group" to "com.caverock"))
57
+
58
+ assertFalse(excluded(lib, "com.caverock", "androidsvg"))
59
+ }
60
+
61
+ @Test
62
+ fun `honors an exclude on a single runtime configuration`() {
63
+ val lib = project("lib", "embed")
64
+ lib.configurations.getByName("embed").exclude(mapOf("group" to "com.caverock", "module" to "androidsvg"))
65
+
66
+ assertTrue(excluded(lib, "com.caverock", "androidsvg"))
67
+ }
68
+
69
+ @Test
70
+ fun `ignores configurations that do not feed the runtime`() {
71
+ val lib = project("lib", "implementation", "detekt")
72
+ lib.configurations.getByName("detekt").exclude(mapOf("group" to "org.jetbrains.kotlin"))
73
+
74
+ assertFalse(excluded(lib, "org.jetbrains.kotlin", "kotlin-stdlib"))
75
+ }
76
+
77
+ @Test
78
+ fun `matches nothing without excludes`() {
79
+ assertFalse(excluded(project("lib", "implementation"), "com.caverock", "androidsvg"))
80
+ }
81
+ }
@@ -163,6 +163,36 @@ class MutatePomDependenciesNodeTest {
163
163
 
164
164
  assertEquals(listOf("1.7.1"), versionsFor(dependenciesNode, "androidx.appcompat", "appcompat"))
165
165
  }
166
+
167
+ @Test
168
+ fun `writes the brownfield module's excludes onto every injected dependency`() {
169
+ val dependenciesNode = dependenciesNodeFrom("<project><dependencies/></project>")
170
+ val toInject = VersionMediatingDependencySet()
171
+ toInject.add(DependencyInfo("com.foo", "charts", "1.0", "compile", false))
172
+ val excludes = listOf(GradleExclude("com.caverock", "androidsvg"), GradleExclude("com.legacy", null))
173
+
174
+ mutatePomDependenciesNode(dependenciesNode, toInject, excludes) { _, _ -> false }
175
+
176
+ val dependency = dependenciesNode.children().filterIsInstance<groovy.util.Node>().single()
177
+ val exclusions =
178
+ ((dependency["exclusions"] as NodeList).single() as groovy.util.Node).children().filterIsInstance<groovy.util.Node>()
179
+ assertEquals(
180
+ listOf("com.caverock" to "androidsvg", "com.legacy" to "*"),
181
+ exclusions.map { (it["groupId"] as NodeList).text() to (it["artifactId"] as NodeList).text() },
182
+ )
183
+ }
184
+
185
+ @Test
186
+ fun `writes no exclusions element without excludes`() {
187
+ val dependenciesNode = dependenciesNodeFrom("<project><dependencies/></project>")
188
+ val toInject = VersionMediatingDependencySet()
189
+ toInject.add(DependencyInfo("com.foo", "charts", "1.0", "compile", false))
190
+
191
+ mutatePomDependenciesNode(dependenciesNode, toInject) { _, _ -> false }
192
+
193
+ val dependency = dependenciesNode.children().filterIsInstance<groovy.util.Node>().single()
194
+ assertTrue((dependency["exclusions"] as NodeList).isEmpty())
195
+ }
166
196
  }
167
197
 
168
198
  class MutateModuleJsonVariantsTest {
@@ -219,4 +249,30 @@ class MutateModuleJsonVariantsTest {
219
249
  val version = (deps.first()["version"] as? Map<String, Any>)?.get("requires")
220
250
  assertEquals("1.7.1", version)
221
251
  }
252
+
253
+ @Test
254
+ fun `writes the brownfield module's excludes onto every injected dependency`() {
255
+ val json = jsonWithVariant(mutableListOf())
256
+ val toInject = VersionMediatingDependencySet()
257
+ toInject.add(DependencyInfo("com.foo", "charts", "1.0", "compile", false))
258
+ val excludes = listOf(GradleExclude("com.caverock", "androidsvg"), GradleExclude("com.legacy", null))
259
+
260
+ mutateModuleJsonVariants(json, toInject, excludes) { _, _ -> false }
261
+
262
+ assertEquals(
263
+ listOf(mapOf("group" to "com.caverock", "module" to "androidsvg"), mapOf("group" to "com.legacy", "module" to "*")),
264
+ dependenciesOf(json).single()["excludes"],
265
+ )
266
+ }
267
+
268
+ @Test
269
+ fun `writes no excludes field without excludes`() {
270
+ val json = jsonWithVariant(mutableListOf())
271
+ val toInject = VersionMediatingDependencySet()
272
+ toInject.add(DependencyInfo("com.foo", "charts", "1.0", "compile", false))
273
+
274
+ mutateModuleJsonVariants(json, toInject) { _, _ -> false }
275
+
276
+ assertNull(dependenciesOf(json).single()["excludes"])
277
+ }
222
278
  }
@@ -8,4 +8,9 @@ class ExtensionTest {
8
8
  fun `experimentalIncludeTransitiveDependencies defaults to true`() {
9
9
  assertTrue(Extension().experimentalIncludeTransitiveDependencies)
10
10
  }
11
+
12
+ @Test
13
+ fun `dynamicLibs defaults to an empty list`() {
14
+ assertTrue(Extension().dynamicLibs.isEmpty())
15
+ }
11
16
  }
@@ -307,7 +307,9 @@ internal import Expo
307
307
 
308
308
  /**
309
309
  * Send a serialized JSON message to the React Native JS application.
310
- * The message is delivered as a `brownfieldMessage` DeviceEventEmitter event.
310
+ * Messages can be received using `ReactNativeBrownfield.onMessage()`.
311
+ * If the Brownfield module exists but its JS emitter is not ready when delivery happens, the message is dropped and a log line is written.
312
+ * If the module does not exist yet, the message is dropped without a log line.
311
313
  *
312
314
  * @param message - The serialized JSON message to send to the React Native JS application.
313
315
  * @example
@@ -15,7 +15,9 @@ static ReactNativeBrownfieldModule *_sharedInstance = nil;
15
15
  - (instancetype)init {
16
16
  self = [super init];
17
17
  if (self) {
18
- _sharedInstance = self;
18
+ @synchronized (ReactNativeBrownfieldModule.class) {
19
+ _sharedInstance = self;
20
+ }
19
21
 
20
22
  [[NSNotificationCenter defaultCenter] addObserver:self
21
23
  selector:@selector(handleNativeToJSMessage:)
@@ -28,8 +30,18 @@ static ReactNativeBrownfieldModule *_sharedInstance = nil;
28
30
  - (void)dealloc {
29
31
  [[NSNotificationCenter defaultCenter] removeObserver:self];
30
32
 
31
- if (_sharedInstance == self) {
32
- _sharedInstance = nil;
33
+ @synchronized (ReactNativeBrownfieldModule.class) {
34
+ if (_sharedInstance == self) {
35
+ _sharedInstance = nil;
36
+ }
37
+ }
38
+ }
39
+
40
+ // React Native calls invalidate during teardown; clearing the callback sends
41
+ // later messages down the not-ready drop path.
42
+ - (void)invalidate {
43
+ @synchronized (ReactNativeBrownfieldModule.class) {
44
+ _eventEmitterCallback = nullptr;
33
45
  }
34
46
  }
35
47
 
@@ -41,10 +53,22 @@ static ReactNativeBrownfieldModule *_sharedInstance = nil;
41
53
  }
42
54
 
43
55
  + (void)emitMessageFromNative:(NSString *)message {
44
- if (_sharedInstance) {
56
+ // Keep singleton and callback access under one lock because getTurboModule:
57
+ // installs the callback when JS first requires the module.
58
+ @synchronized (ReactNativeBrownfieldModule.class) {
59
+ if (!_sharedInstance) {
60
+ NSLog(@"ReactNativeBrownfieldModule is not initialized, dropping message");
61
+ return;
62
+ }
63
+
64
+ // The codegen base class exposes this callback as a protected std::function;
65
+ // invoking it while empty would throw std::bad_function_call.
66
+ if (!_sharedInstance->_eventEmitterCallback) {
67
+ NSLog(@"ReactNativeBrownfieldModule is not ready for JS yet, dropping message");
68
+ return;
69
+ }
70
+
45
71
  [_sharedInstance emitOnBrownfieldMessage:@{ @"text": message }];
46
- } else {
47
- NSLog(@"ReactNativeBrownfieldModule is not initialized, dropping message");
48
72
  }
49
73
  }
50
74
 
@@ -65,7 +89,11 @@ RCT_EXPORT_METHOD(addListener:(NSString *)eventName) {}
65
89
  RCT_EXPORT_METHOD(removeListeners:(double)count) {}
66
90
 
67
91
  - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params {
68
- return std::make_shared<facebook::react::NativeReactNativeBrownfieldModuleSpecJSI>(params);
92
+ // Building the spec installs _eventEmitterCallback; use the same lock as
93
+ // emitMessageFromNative: to prevent the callback read and write from racing.
94
+ @synchronized (ReactNativeBrownfieldModule.class) {
95
+ return std::make_shared<facebook::react::NativeReactNativeBrownfieldModuleSpecJSI>(params);
96
+ }
69
97
  }
70
98
 
71
99
  @end
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});exports.brownfieldGradlePluginDependency=exports.BROWNFIELD_PLUGIN_VERSION=void 0;var BROWNFIELD_PLUGIN_VERSION=exports.BROWNFIELD_PLUGIN_VERSION='2.0.0-alpha11';var brownfieldGradlePluginDependency=exports.brownfieldGradlePluginDependency=`classpath("com.callstack.react:brownfield-gradle-plugin:${BROWNFIELD_PLUGIN_VERSION}")`;
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.brownfieldGradlePluginDependency=exports.BROWNFIELD_PLUGIN_VERSION=void 0;var BROWNFIELD_PLUGIN_VERSION=exports.BROWNFIELD_PLUGIN_VERSION='2.0.0-alpha14';var brownfieldGradlePluginDependency=exports.brownfieldGradlePluginDependency=`classpath("com.callstack.react:brownfield-gradle-plugin:${BROWNFIELD_PLUGIN_VERSION}")`;
2
2
  //# sourceMappingURL=constants.js.map
@@ -1,2 +1,2 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR=void 0;exports.createAndroidModule=createAndroidModule;exports.renderTargetSdkBlock=renderTargetSdkBlock;exports.resolveCompileSdkVersionExpression=resolveCompileSdkVersionExpression;exports.resolveTargetSdkVersionExpression=resolveTargetSdkVersionExpression;exports.syncAndroidModuleExpoUpdatesFromAppFiles=syncAndroidModuleExpoUpdatesFromAppFiles;exports.syncAndroidModuleManifest=syncAndroidModuleManifest;exports.syncAndroidModuleStringResources=syncAndroidModuleStringResources;exports.withAndroidModuleFiles=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var fs=_interopRequireWildcard(require("node:fs"));var path=_interopRequireWildcard(require("node:path"));var _configPlugins=require("@expo/config-plugins");var _logging=require("../logging");var _engine=require("../template/engine");var _expoUtils=require("../expoUtils");var _androidManifest=require("./utils/androidManifest");var _expoUpdates=require("./utils/expo-updates");var _hermes=require("./utils/hermes");var _formatHelpers=require("./utils/formatHelpers");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f;})(e,t);}var EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR=exports.EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR=58;function renderMissingDimensionStrategyBlock(missingDimensionStrategies){if(missingDimensionStrategies.length<2){return'';}var args=(0,_formatHelpers.formatMissingDimensionStrategies)(missingDimensionStrategies);return` missingDimensionStrategy(${args})`;}function resolveCompileSdkVersionExpression(config){if(config.android.compileSdkVersion!=null){return config.android.compileSdkVersion.toString();}return'resolveRootProjectInt("compileSdkVersion")';}function resolveTargetSdkVersionExpression(config){if(config.android.targetSdkVersion!=null){return config.android.targetSdkVersion.toString();}return'resolveRootProjectInt("targetSdkVersion")';}function renderTargetSdkBlock(config,expoMajor){var templateVariant=arguments.length>2&&arguments[2]!==undefined?arguments[2]:'expo';if(templateVariant==='vanilla'){return'';}if(expoMajor!==undefined&&expoMajor>=EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR){return'';}return`\n targetSdk = ${resolveTargetSdkVersionExpression(config)}`;}function createAndroidModule(_ref){var _minifyEnabled,_extraProguardRules;var androidDir=_ref.androidDir,config=_ref.config,rnVersion=_ref.rnVersion,projectRoot=_ref.projectRoot,expoMajor=_ref.expoMajor,_ref$templateVariant=_ref.templateVariant,templateVariant=_ref$templateVariant===void 0?'expo':_ref$templateVariant;var android=config.android;var moduleDir=path.join(androidDir,android.moduleName);_logging.Logger.logDebug(`Creating Android module in: ${androidDir}`);var hermesArtifact=(0,_hermes.getHermesArtifact)(rnVersion,projectRoot);var compileSdkVersionExpression=resolveCompileSdkVersionExpression(config);var targetSdkBlock=renderTargetSdkBlock(config,expoMajor,templateVariant);var minifyEnabled=(_minifyEnabled=android.minifyEnabled)!=null?_minifyEnabled:false;var extraProguardRules=(_extraProguardRules=android.extraProguardRules)!=null?_extraProguardRules:[];var extraProguardRulesText=extraProguardRules.join('\n');_logging.Logger.logDebug(`Resolved Hermes artifact: ${hermesArtifact.groupId}:${hermesArtifact.artifactId}:${hermesArtifact.version}`);var missingDimensionStrategiesList=(0,_formatHelpers.formatMissingDimensionStrategies)(android.missingDimensionStrategies);var missingDimensionStrategyBlock=renderMissingDimensionStrategyBlock(android.missingDimensionStrategies);var files=[{relativePath:'build.gradle.kts',content:(0,_engine.renderTemplate)('android','build.gradle.kts',{'{{PACKAGE_NAME}}':android.packageName,'{{MIN_SDK_VERSION}}':android.minSdkVersion.toString(),'{{TARGET_SDK_BLOCK}}':targetSdkBlock,'{{COMPILE_SDK_VERSION}}':compileSdkVersionExpression,'{{GROUP_ID}}':android.groupId,'{{ARTIFACT_ID}}':android.artifactId,'{{ARTIFACT_VERSION}}':android.version,'{{RN_VERSION}}':rnVersion,'{{HERMES_ARTIFACT}}':`${hermesArtifact.groupId}:${hermesArtifact.artifactId}:${hermesArtifact.version}`,'{{IS_MINIFY_ENABLED}}':minifyEnabled.toString(),'{{MISSING_DIMENSION_STRATEGIES}}':missingDimensionStrategiesList,'{{MISSING_DIMENSION_STRATEGY_BLOCK}}':missingDimensionStrategyBlock})},{relativePath:'gradle.properties',content:(0,_engine.renderTemplate)('android','gradle.properties',{})},{relativePath:`src/main/java/${config.android.packageName.replace(/\./g,'/')}/ReactNativeHostManager.kt`,content:(0,_engine.renderTemplate)('android',templateVariant==='vanilla'?'ReactNativeHostManager.vanilla.kt':'ReactNativeHostManager.post55.kt',{'{{PACKAGE_NAME}}':android.packageName})},{relativePath:'consumer-rules.pro',content:(0,_engine.renderTemplate)('android','consumer-rules.pro',{})},{relativePath:'proguard-rules.pro',content:(0,_engine.renderTemplate)('android','proguard-rules.pro',{'{{PACKAGE_NAME}}':android.packageName,'{{EXTRA_PROGUARD_RULES}}':extraProguardRulesText})}];for(var file of files){var filePath=path.join(moduleDir,file.relativePath);var fileDir=path.dirname(filePath);if(!fs.existsSync(fileDir)){fs.mkdirSync(fileDir,{recursive:true});}fs.writeFileSync(filePath,file.content,'utf8');_logging.Logger.logDebug(`Created file: ${filePath}`);}syncAndroidModuleExpoUpdatesFromAppFiles({androidDir:androidDir,config:config});_logging.Logger.logDebug(`Android module "${android.moduleName}" created at ${moduleDir}`);}function syncAndroidModuleManifest(_ref2){var androidDir=_ref2.androidDir,config=_ref2.config,expoUpdatesMetaData=_ref2.expoUpdatesMetaData;writeAndroidModuleFile(path.join(androidDir,config.android.moduleName),'src/main/AndroidManifest.xml',(0,_engine.renderTemplate)('android','AndroidManifest.xml',{'{{APPLICATION_BLOCK}}':(0,_androidManifest.renderLibraryManifestApplication)(expoUpdatesMetaData)}));}function syncAndroidModuleStringResources(_ref3){var androidDir=_ref3.androidDir,config=_ref3.config,expoUpdatesStringResources=_ref3.expoUpdatesStringResources;writeAndroidModuleFile(path.join(androidDir,config.android.moduleName),'src/main/res/values/strings.xml',(0,_engine.renderTemplate)('android','strings.xml',{'{{STRING_RESOURCES}}':(0,_androidManifest.renderLibraryStringResources)(expoUpdatesStringResources)}));}function writeAndroidModuleFile(moduleDir,relativePath,content){var filePath=path.join(moduleDir,relativePath);var fileDir=path.dirname(filePath);if(!fs.existsSync(fileDir)){fs.mkdirSync(fileDir,{recursive:true});}fs.writeFileSync(filePath,content,'utf8');_logging.Logger.logDebug(`Created file: ${filePath}`);}function syncAndroidModuleExpoUpdatesFromAppFiles(_ref4){var androidDir=_ref4.androidDir,config=_ref4.config;var appModuleName='app';var expoUpdatesMetaData=(0,_expoUpdates.readExpoUpdatesApplicationMetaData)(androidDir,appModuleName);var expoUpdatesStringResources=(0,_expoUpdates.readExpoUpdatesStringResources)(androidDir,appModuleName,expoUpdatesMetaData);syncAndroidModuleManifest({androidDir:androidDir,config:config,expoUpdatesMetaData:expoUpdatesMetaData});syncAndroidModuleStringResources({androidDir:androidDir,config:config,expoUpdatesStringResources:expoUpdatesStringResources});}var withAndroidModuleFiles=exports.withAndroidModuleFiles=function withAndroidModuleFiles(config,props){return(0,_configPlugins.withDangerousMod)(config,['android',(function(){var _ref5=(0,_asyncToGenerator2.default)(function*(dangerousConfig){var androidDir=path.join(dangerousConfig.modRequest.projectRoot,'android');var rnVersion;try{var rnPkgPath=require.resolve('react-native/package.json',{paths:[dangerousConfig.modRequest.projectRoot]});var rnPkg=require(rnPkgPath);rnVersion=rnPkg.version;_logging.Logger.logDebug(`Resolved react-native version: ${rnVersion}`);}catch(_unused){throw new Error('Could not resolve react-native package version. Please ensure you have installed dependencies.');}createAndroidModule({androidDir:androidDir,config:props,rnVersion:rnVersion,projectRoot:dangerousConfig.modRequest.projectRoot,expoMajor:(0,_expoUtils.getExpoInfo)(dangerousConfig).expoMajor});return dangerousConfig;});return function(_x){return _ref5.apply(this,arguments);};}())]);};
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR=void 0;exports.createAndroidModule=createAndroidModule;exports.renderTargetSdkBlock=renderTargetSdkBlock;exports.resolveCompileSdkVersionExpression=resolveCompileSdkVersionExpression;exports.resolveTargetSdkVersionExpression=resolveTargetSdkVersionExpression;exports.syncAndroidModuleExpoUpdatesFromAppFiles=syncAndroidModuleExpoUpdatesFromAppFiles;exports.syncAndroidModuleManifest=syncAndroidModuleManifest;exports.syncAndroidModuleStringResources=syncAndroidModuleStringResources;exports.withAndroidModuleFiles=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var fs=_interopRequireWildcard(require("node:fs"));var path=_interopRequireWildcard(require("node:path"));var _configPlugins=require("@expo/config-plugins");var _logging=require("../logging");var _engine=require("../template/engine");var _expoUtils=require("../expoUtils");var _androidManifest=require("./utils/androidManifest");var _expoUpdates=require("./utils/expo-updates");var _hermes=require("./utils/hermes");var _formatHelpers=require("./utils/formatHelpers");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f;})(e,t);}var EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR=exports.EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR=58;function renderMissingDimensionStrategyBlock(missingDimensionStrategies){if(missingDimensionStrategies.length<2){return'';}var args=(0,_formatHelpers.formatMissingDimensionStrategies)(missingDimensionStrategies);return` missingDimensionStrategy(${args})`;}var COORDINATE_PART=/^[A-Za-z0-9._-]+$/;function renderExcludeDependenciesBlock(excludeDependencies){if(!Array.isArray(excludeDependencies)){throw new Error('android.excludeDependencies must be a list of "group:module" or "group" strings.');}if(excludeDependencies.length===0){return'';}var lines=excludeDependencies.map(function(entry){var parts=entry.split(':');if(parts.length>2||!parts.every(function(part){return COORDINATE_PART.test(part);})){throw new Error(`android.excludeDependencies: '${entry}' is not in the form "group:module" or "group".`);}var _parts=(0,_slicedToArray2.default)(parts,2),group=_parts[0],module=_parts[1];return module?` exclude(group = "${group}", module = "${module}")`:` exclude(group = "${group}")`;});return`configurations.all {\n${lines.join('\n')}\n}\n\n`;}function resolveCompileSdkVersionExpression(config){if(config.android.compileSdkVersion!=null){return config.android.compileSdkVersion.toString();}return'resolveRootProjectInt("compileSdkVersion")';}function resolveTargetSdkVersionExpression(config){if(config.android.targetSdkVersion!=null){return config.android.targetSdkVersion.toString();}return'resolveRootProjectInt("targetSdkVersion")';}function renderTargetSdkBlock(config,expoMajor){var templateVariant=arguments.length>2&&arguments[2]!==undefined?arguments[2]:'expo';if(templateVariant==='vanilla'){return'';}if(expoMajor!==undefined&&expoMajor>=EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR){return'';}return`\n targetSdk = ${resolveTargetSdkVersionExpression(config)}`;}function createAndroidModule(_ref){var _minifyEnabled,_extraProguardRules;var androidDir=_ref.androidDir,config=_ref.config,rnVersion=_ref.rnVersion,projectRoot=_ref.projectRoot,expoMajor=_ref.expoMajor,_ref$templateVariant=_ref.templateVariant,templateVariant=_ref$templateVariant===void 0?'expo':_ref$templateVariant;var android=config.android;var moduleDir=path.join(androidDir,android.moduleName);_logging.Logger.logDebug(`Creating Android module in: ${androidDir}`);var hermesArtifact=(0,_hermes.getHermesArtifact)(rnVersion,projectRoot);var compileSdkVersionExpression=resolveCompileSdkVersionExpression(config);var targetSdkBlock=renderTargetSdkBlock(config,expoMajor,templateVariant);var minifyEnabled=(_minifyEnabled=android.minifyEnabled)!=null?_minifyEnabled:false;var extraProguardRules=(_extraProguardRules=android.extraProguardRules)!=null?_extraProguardRules:[];var extraProguardRulesText=extraProguardRules.join('\n');_logging.Logger.logDebug(`Resolved Hermes artifact: ${hermesArtifact.groupId}:${hermesArtifact.artifactId}:${hermesArtifact.version}`);var missingDimensionStrategiesList=(0,_formatHelpers.formatMissingDimensionStrategies)(android.missingDimensionStrategies);var missingDimensionStrategyBlock=renderMissingDimensionStrategyBlock(android.missingDimensionStrategies);var excludeDependenciesBlock=renderExcludeDependenciesBlock(android.excludeDependencies);var files=[{relativePath:'build.gradle.kts',content:(0,_engine.renderTemplate)('android','build.gradle.kts',{'{{PACKAGE_NAME}}':android.packageName,'{{MIN_SDK_VERSION}}':android.minSdkVersion.toString(),'{{TARGET_SDK_BLOCK}}':targetSdkBlock,'{{COMPILE_SDK_VERSION}}':compileSdkVersionExpression,'{{GROUP_ID}}':android.groupId,'{{ARTIFACT_ID}}':android.artifactId,'{{ARTIFACT_VERSION}}':android.version,'{{RN_VERSION}}':rnVersion,'{{HERMES_ARTIFACT}}':`${hermesArtifact.groupId}:${hermesArtifact.artifactId}:${hermesArtifact.version}`,'{{IS_MINIFY_ENABLED}}':minifyEnabled.toString(),'{{MISSING_DIMENSION_STRATEGIES}}':missingDimensionStrategiesList,'{{MISSING_DIMENSION_STRATEGY_BLOCK}}':missingDimensionStrategyBlock,'{{EXCLUDE_DEPENDENCIES_BLOCK}}':excludeDependenciesBlock})},{relativePath:'gradle.properties',content:(0,_engine.renderTemplate)('android','gradle.properties',{})},{relativePath:`src/main/java/${config.android.packageName.replace(/\./g,'/')}/ReactNativeHostManager.kt`,content:(0,_engine.renderTemplate)('android',templateVariant==='vanilla'?'ReactNativeHostManager.vanilla.kt':'ReactNativeHostManager.post55.kt',{'{{PACKAGE_NAME}}':android.packageName})},{relativePath:'consumer-rules.pro',content:(0,_engine.renderTemplate)('android','consumer-rules.pro',{})},{relativePath:'proguard-rules.pro',content:(0,_engine.renderTemplate)('android','proguard-rules.pro',{'{{PACKAGE_NAME}}':android.packageName,'{{EXTRA_PROGUARD_RULES}}':extraProguardRulesText})}];for(var file of files){var filePath=path.join(moduleDir,file.relativePath);var fileDir=path.dirname(filePath);if(!fs.existsSync(fileDir)){fs.mkdirSync(fileDir,{recursive:true});}fs.writeFileSync(filePath,file.content,'utf8');_logging.Logger.logDebug(`Created file: ${filePath}`);}syncAndroidModuleExpoUpdatesFromAppFiles({androidDir:androidDir,config:config});_logging.Logger.logDebug(`Android module "${android.moduleName}" created at ${moduleDir}`);}function syncAndroidModuleManifest(_ref2){var androidDir=_ref2.androidDir,config=_ref2.config,expoUpdatesMetaData=_ref2.expoUpdatesMetaData;writeAndroidModuleFile(path.join(androidDir,config.android.moduleName),'src/main/AndroidManifest.xml',(0,_engine.renderTemplate)('android','AndroidManifest.xml',{'{{APPLICATION_BLOCK}}':(0,_androidManifest.renderLibraryManifestApplication)(expoUpdatesMetaData)}));}function syncAndroidModuleStringResources(_ref3){var androidDir=_ref3.androidDir,config=_ref3.config,expoUpdatesStringResources=_ref3.expoUpdatesStringResources;writeAndroidModuleFile(path.join(androidDir,config.android.moduleName),'src/main/res/values/strings.xml',(0,_engine.renderTemplate)('android','strings.xml',{'{{STRING_RESOURCES}}':(0,_androidManifest.renderLibraryStringResources)(expoUpdatesStringResources)}));}function writeAndroidModuleFile(moduleDir,relativePath,content){var filePath=path.join(moduleDir,relativePath);var fileDir=path.dirname(filePath);if(!fs.existsSync(fileDir)){fs.mkdirSync(fileDir,{recursive:true});}fs.writeFileSync(filePath,content,'utf8');_logging.Logger.logDebug(`Created file: ${filePath}`);}function syncAndroidModuleExpoUpdatesFromAppFiles(_ref4){var androidDir=_ref4.androidDir,config=_ref4.config;var appModuleName='app';var expoUpdatesMetaData=(0,_expoUpdates.readExpoUpdatesApplicationMetaData)(androidDir,appModuleName);var expoUpdatesStringResources=(0,_expoUpdates.readExpoUpdatesStringResources)(androidDir,appModuleName,expoUpdatesMetaData);syncAndroidModuleManifest({androidDir:androidDir,config:config,expoUpdatesMetaData:expoUpdatesMetaData});syncAndroidModuleStringResources({androidDir:androidDir,config:config,expoUpdatesStringResources:expoUpdatesStringResources});}var withAndroidModuleFiles=exports.withAndroidModuleFiles=function withAndroidModuleFiles(config,props){return(0,_configPlugins.withDangerousMod)(config,['android',(function(){var _ref5=(0,_asyncToGenerator2.default)(function*(dangerousConfig){var androidDir=path.join(dangerousConfig.modRequest.projectRoot,'android');var rnVersion;try{var rnPkgPath=require.resolve('react-native/package.json',{paths:[dangerousConfig.modRequest.projectRoot]});var rnPkg=require(rnPkgPath);rnVersion=rnPkg.version;_logging.Logger.logDebug(`Resolved react-native version: ${rnVersion}`);}catch(_unused){throw new Error('Could not resolve react-native package version. Please ensure you have installed dependencies.');}createAndroidModule({androidDir:androidDir,config:props,rnVersion:rnVersion,projectRoot:dangerousConfig.modRequest.projectRoot,expoMajor:(0,_expoUtils.getExpoInfo)(dangerousConfig).expoMajor});return dangerousConfig;});return function(_x){return _ref5.apply(this,arguments);};}())]);};
2
2
  //# sourceMappingURL=withAndroidModuleFiles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["fs","_interopRequireWildcard","require","path","_configPlugins","_logging","_engine","_expoUtils","_androidManifest","_expoUpdates","_hermes","_formatHelpers","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR","exports","renderMissingDimensionStrategyBlock","missingDimensionStrategies","length","args","formatMissingDimensionStrategies","resolveCompileSdkVersionExpression","config","android","compileSdkVersion","toString","resolveTargetSdkVersionExpression","targetSdkVersion","renderTargetSdkBlock","expoMajor","templateVariant","arguments","undefined","createAndroidModule","_ref","_minifyEnabled","_extraProguardRules","androidDir","rnVersion","projectRoot","_ref$templateVariant","moduleDir","join","moduleName","Logger","logDebug","hermesArtifact","getHermesArtifact","compileSdkVersionExpression","targetSdkBlock","minifyEnabled","extraProguardRules","extraProguardRulesText","groupId","artifactId","version","missingDimensionStrategiesList","missingDimensionStrategyBlock","files","relativePath","content","renderTemplate","packageName","minSdkVersion","replace","file","filePath","fileDir","dirname","existsSync","mkdirSync","recursive","writeFileSync","syncAndroidModuleExpoUpdatesFromAppFiles","syncAndroidModuleManifest","_ref2","expoUpdatesMetaData","writeAndroidModuleFile","renderLibraryManifestApplication","syncAndroidModuleStringResources","_ref3","expoUpdatesStringResources","renderLibraryStringResources","_ref4","appModuleName","readExpoUpdatesApplicationMetaData","readExpoUpdatesStringResources","withAndroidModuleFiles","props","withDangerousMod","_ref5","_asyncToGenerator2","dangerousConfig","modRequest","rnPkgPath","resolve","paths","rnPkg","_unused","Error","getExpoInfo","_x","apply"],"sourceRoot":"../../../../src","sources":["expo-config-plugin/android/withAndroidModuleFiles.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["fs","_interopRequireWildcard","require","path","_configPlugins","_logging","_engine","_expoUtils","_androidManifest","_expoUpdates","_hermes","_formatHelpers","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR","exports","renderMissingDimensionStrategyBlock","missingDimensionStrategies","length","args","formatMissingDimensionStrategies","COORDINATE_PART","renderExcludeDependenciesBlock","excludeDependencies","Array","isArray","Error","lines","map","entry","parts","split","every","part","test","_parts","_slicedToArray2","group","module","join","resolveCompileSdkVersionExpression","config","android","compileSdkVersion","toString","resolveTargetSdkVersionExpression","targetSdkVersion","renderTargetSdkBlock","expoMajor","templateVariant","arguments","undefined","createAndroidModule","_ref","_minifyEnabled","_extraProguardRules","androidDir","rnVersion","projectRoot","_ref$templateVariant","moduleDir","moduleName","Logger","logDebug","hermesArtifact","getHermesArtifact","compileSdkVersionExpression","targetSdkBlock","minifyEnabled","extraProguardRules","extraProguardRulesText","groupId","artifactId","version","missingDimensionStrategiesList","missingDimensionStrategyBlock","excludeDependenciesBlock","files","relativePath","content","renderTemplate","packageName","minSdkVersion","replace","file","filePath","fileDir","dirname","existsSync","mkdirSync","recursive","writeFileSync","syncAndroidModuleExpoUpdatesFromAppFiles","syncAndroidModuleManifest","_ref2","expoUpdatesMetaData","writeAndroidModuleFile","renderLibraryManifestApplication","syncAndroidModuleStringResources","_ref3","expoUpdatesStringResources","renderLibraryStringResources","_ref4","appModuleName","readExpoUpdatesApplicationMetaData","readExpoUpdatesStringResources","withAndroidModuleFiles","props","withDangerousMod","_ref5","_asyncToGenerator2","dangerousConfig","modRequest","rnPkgPath","resolve","paths","rnPkg","_unused","getExpoInfo","_x","apply"],"sourceRoot":"../../../../src","sources":["expo-config-plugin/android/withAndroidModuleFiles.ts"],"mappings":"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","ignoreList":[]}
@@ -47,7 +47,7 @@ reactBrownfield {
47
47
  missingDimensionStrategies = listOf({{MISSING_DIMENSION_STRATEGIES}})
48
48
  }
49
49
 
50
- react {
50
+ {{EXCLUDE_DEPENDENCIES_BLOCK}}react {
51
51
  autolinkLibrariesWithApp()
52
52
  }
53
53
 
@@ -1,2 +1,2 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _reactNative=require("react-native");var _NativeReactNativeBrownfieldModule=_interopRequireDefault(require("./NativeReactNativeBrownfieldModule"));var ReactNativeBrownfield={markFullyDisplayed:function markFullyDisplayed(presentationID){if(_reactNative.Platform.OS==='ios'||_reactNative.Platform.OS==='android'){_reactNative.NativeModules.BrownfieldPerformance.markFullyDisplayed(presentationID);}},popToNative:function popToNative(animated){if(_reactNative.Platform.OS==='ios'){_NativeReactNativeBrownfieldModule.default.popToNative(!!animated);}else if(_reactNative.Platform.OS==='android'){_NativeReactNativeBrownfieldModule.default.popToNative(false);}else{console.warn('Not implemented: popToNative');}},setNativeBackGestureAndButtonEnabled:function setNativeBackGestureAndButtonEnabled(enabled){if(_reactNative.Platform.OS==='ios'){_NativeReactNativeBrownfieldModule.default.setPopGestureRecognizerEnabled(enabled);}else if(_reactNative.Platform.OS==='android'){_NativeReactNativeBrownfieldModule.default.setHardwareBackButtonEnabled(enabled);}else{console.warn('Not implemented: setNativeGesturesAndButtonsEnabled');}},postMessage:function postMessage(data){var serialized=JSON.stringify(data);_NativeReactNativeBrownfieldModule.default.postMessage(serialized);},onMessage:function onMessage(callback){var subscription=_NativeReactNativeBrownfieldModule.default.onBrownfieldMessage(function(payload){try{callback({data:JSON.parse(payload.text)});}catch(_unused){callback({data:payload.text});}});return{remove:function remove(){return subscription.remove();}};}};var _default=exports.default=ReactNativeBrownfield;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _reactNative=require("react-native");var _NativeReactNativeBrownfieldModule=_interopRequireDefault(require("./NativeReactNativeBrownfieldModule"));var ReactNativeBrownfield={markFullyDisplayed:function markFullyDisplayed(presentationID){if(_reactNative.Platform.OS==='ios'||_reactNative.Platform.OS==='android'){_reactNative.NativeModules.BrownfieldPerformance.markFullyDisplayed(presentationID);}},popToNative:function popToNative(animated){if(_reactNative.Platform.OS==='ios'){_NativeReactNativeBrownfieldModule.default.popToNative(!!animated);}else if(_reactNative.Platform.OS==='android'){_NativeReactNativeBrownfieldModule.default.popToNative(false);}else{console.warn('Not implemented: popToNative');}},setNativeBackGestureAndButtonEnabled:function setNativeBackGestureAndButtonEnabled(enabled){if(_reactNative.Platform.OS==='ios'){_NativeReactNativeBrownfieldModule.default.setPopGestureRecognizerEnabled(enabled);}else if(_reactNative.Platform.OS==='android'){_NativeReactNativeBrownfieldModule.default.setHardwareBackButtonEnabled(enabled);}else{console.warn('Not implemented: setNativeGesturesAndButtonsEnabled');}},postMessage:function postMessage(data){var serialized=JSON.stringify(data);_NativeReactNativeBrownfieldModule.default.postMessage(serialized);},onMessage:function onMessage(callback){var subscription=_NativeReactNativeBrownfieldModule.default.onBrownfieldMessage(function(payload){var data;try{data=JSON.parse(payload.text);}catch(_unused){data=payload.text;}callback({data:data});});return{remove:function remove(){return subscription.remove();}};}};var _default=exports.default=ReactNativeBrownfield;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_NativeReactNativeBrownfieldModule","_interopRequireDefault","ReactNativeBrownfield","markFullyDisplayed","presentationID","Platform","OS","NativeModules","BrownfieldPerformance","popToNative","animated","ReactNativeBrownfieldModule","console","warn","setNativeBackGestureAndButtonEnabled","enabled","setPopGestureRecognizerEnabled","setHardwareBackButtonEnabled","postMessage","data","serialized","JSON","stringify","onMessage","callback","subscription","onBrownfieldMessage","payload","parse","text","_unused","remove","_default","exports","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"mKAAA,IAAAA,YAAA,CAAAC,OAAA,iBAEA,IAAAC,kCAAA,CAAAC,sBAAA,CAAAF,OAAA,yCAeA,GAAM,CAAAG,qBAAqB,CAAG,CAO5BC,kBAAkB,CAAE,QAApB,CAAAA,kBAAkBA,CAAGC,cAAsB,CAAW,CACpD,GAAIC,qBAAQ,CAACC,EAAE,GAAK,KAAK,EAAID,qBAAQ,CAACC,EAAE,GAAK,SAAS,CAAE,CACtDC,0BAAa,CAACC,qBAAqB,CAACL,kBAAkB,CAACC,cAAc,CAAC,CACxE,CACF,CAAC,CASDK,WAAW,CAAE,QAAb,CAAAA,WAAWA,CAAGC,QAAkB,CAAW,CACzC,GAAIL,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAE,CACzBK,0CAA2B,CAACF,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,CACrD,CAAC,IAAM,IAAIL,qBAAQ,CAACC,EAAE,GAAK,SAAS,CAAE,CACpCK,0CAA2B,CAACF,WAAW,CAAC,KAAK,CAAC,CAChD,CAAC,IAAM,CACLG,OAAO,CAACC,IAAI,CAAC,8BAA8B,CAAC,CAC9C,CACF,CAAC,CAUDC,oCAAoC,CAAE,QAAtC,CAAAA,oCAAoCA,CAAGC,OAAgB,CAAW,CAChE,GAAIV,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAE,CACzBK,0CAA2B,CAACK,8BAA8B,CAACD,OAAO,CAAC,CACrE,CAAC,IAAM,IAAIV,qBAAQ,CAACC,EAAE,GAAK,SAAS,CAAE,CACpCK,0CAA2B,CAACM,4BAA4B,CAACF,OAAO,CAAC,CACnE,CAAC,IAAM,CACLH,OAAO,CAACC,IAAI,CAAC,qDAAqD,CAAC,CACrE,CACF,CAAC,CAYDK,WAAW,CAAE,QAAb,CAAAA,WAAWA,CAAGC,IAAa,CAAW,CACpC,GAAM,CAAAC,UAAU,CAAGC,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC,CACvCR,0CAA2B,CAACO,WAAW,CAACE,UAAU,CAAC,CACrD,CAAC,CAeDG,SAAS,CAAE,QAAX,CAAAA,SAASA,CACPC,QAAuC,CACZ,CAC3B,GAAM,CAAAC,YAAY,CAAGd,0CAA2B,CAACe,mBAAmB,CAClE,SAACC,OAAO,CAAK,CACX,GAAI,CACFH,QAAQ,CAAC,CAAEL,IAAI,CAAEE,IAAI,CAACO,KAAK,CAACD,OAAO,CAACE,IAAI,CAAE,CAAC,CAAC,CAC9C,CAAE,MAAAC,OAAA,CAAM,CACNN,QAAQ,CAAC,CAAEL,IAAI,CAAEQ,OAAO,CAACE,IAAK,CAAC,CAAC,CAClC,CACF,CACF,CAAC,CACD,MAAO,CAAEE,MAAM,CAAE,QAAR,CAAAA,MAAMA,CAAA,QAAQ,CAAAN,YAAY,CAACM,MAAM,CAAC,CAAC,EAAC,CAAC,CAChD,CACF,CAAC,CAAC,IAAAC,QAAA,CAAAC,OAAA,CAAAC,OAAA,CAEahC,qBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_NativeReactNativeBrownfieldModule","_interopRequireDefault","ReactNativeBrownfield","markFullyDisplayed","presentationID","Platform","OS","NativeModules","BrownfieldPerformance","popToNative","animated","ReactNativeBrownfieldModule","console","warn","setNativeBackGestureAndButtonEnabled","enabled","setPopGestureRecognizerEnabled","setHardwareBackButtonEnabled","postMessage","data","serialized","JSON","stringify","onMessage","callback","subscription","onBrownfieldMessage","payload","parse","text","_unused","remove","_default","exports","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"mKAAA,IAAAA,YAAA,CAAAC,OAAA,iBAEA,IAAAC,kCAAA,CAAAC,sBAAA,CAAAF,OAAA,yCAeA,GAAM,CAAAG,qBAAqB,CAAG,CAO5BC,kBAAkB,CAAE,QAApB,CAAAA,kBAAkBA,CAAGC,cAAsB,CAAW,CACpD,GAAIC,qBAAQ,CAACC,EAAE,GAAK,KAAK,EAAID,qBAAQ,CAACC,EAAE,GAAK,SAAS,CAAE,CACtDC,0BAAa,CAACC,qBAAqB,CAACL,kBAAkB,CAACC,cAAc,CAAC,CACxE,CACF,CAAC,CASDK,WAAW,CAAE,QAAb,CAAAA,WAAWA,CAAGC,QAAkB,CAAW,CACzC,GAAIL,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAE,CACzBK,0CAA2B,CAACF,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,CACrD,CAAC,IAAM,IAAIL,qBAAQ,CAACC,EAAE,GAAK,SAAS,CAAE,CACpCK,0CAA2B,CAACF,WAAW,CAAC,KAAK,CAAC,CAChD,CAAC,IAAM,CACLG,OAAO,CAACC,IAAI,CAAC,8BAA8B,CAAC,CAC9C,CACF,CAAC,CAUDC,oCAAoC,CAAE,QAAtC,CAAAA,oCAAoCA,CAAGC,OAAgB,CAAW,CAChE,GAAIV,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAE,CACzBK,0CAA2B,CAACK,8BAA8B,CAACD,OAAO,CAAC,CACrE,CAAC,IAAM,IAAIV,qBAAQ,CAACC,EAAE,GAAK,SAAS,CAAE,CACpCK,0CAA2B,CAACM,4BAA4B,CAACF,OAAO,CAAC,CACnE,CAAC,IAAM,CACLH,OAAO,CAACC,IAAI,CAAC,qDAAqD,CAAC,CACrE,CACF,CAAC,CAYDK,WAAW,CAAE,QAAb,CAAAA,WAAWA,CAAGC,IAAa,CAAW,CACpC,GAAM,CAAAC,UAAU,CAAGC,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC,CACvCR,0CAA2B,CAACO,WAAW,CAACE,UAAU,CAAC,CACrD,CAAC,CAeDG,SAAS,CAAE,QAAX,CAAAA,SAASA,CACPC,QAAuC,CACZ,CAC3B,GAAM,CAAAC,YAAY,CAAGd,0CAA2B,CAACe,mBAAmB,CAClE,SAACC,OAAO,CAAK,CACX,GAAI,CAAAR,IAAa,CACjB,GAAI,CACFA,IAAI,CAAGE,IAAI,CAACO,KAAK,CAACD,OAAO,CAACE,IAAI,CAAC,CACjC,CAAE,MAAAC,OAAA,CAAM,CACNX,IAAI,CAAGQ,OAAO,CAACE,IAAI,CACrB,CACAL,QAAQ,CAAC,CAAEL,IAAI,CAAJA,IAAK,CAAC,CAAC,CACpB,CACF,CAAC,CACD,MAAO,CAAEY,MAAM,CAAE,QAAR,CAAAA,MAAMA,CAAA,QAAQ,CAAAN,YAAY,CAACM,MAAM,CAAC,CAAC,EAAC,CAAC,CAChD,CACF,CAAC,CAAC,IAAAC,QAAA,CAAAC,OAAA,CAAAC,OAAA,CAEahC,qBAAqB","ignoreList":[]}