@callstack/react-native-brownfield 4.0.0 → 4.1.0
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.
- package/gradle-plugin/brownfield/config/detekt/detekt.yml +1 -1
- package/gradle-plugin/brownfield/gradle.properties +1 -1
- package/gradle-plugin/brownfield/gradlew +0 -0
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/expo/utils/LocalMavenUtils.kt +2 -5
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/ProjectConfigurations.kt +3 -5
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNBrownfieldPlugin.kt +21 -26
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt +23 -35
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/AssetTaskProcessor.kt +4 -16
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/ExplodeTaskProvider.kt +6 -7
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/JNILibsProcessor.kt +133 -108
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/ManifestTaskProcessor.kt +25 -61
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/MergeProcessor.kt +7 -29
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/ProguardProcessor.kt +9 -46
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/ResourceTaskProcessor.kt +4 -13
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/VariantHelper.kt +52 -47
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/VariantTaskProvider.kt +31 -63
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/shared/BundleTaskProvider.kt +72 -27
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/shared/Constants.kt +0 -1
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/shared/ExplodeAarTask.kt +2 -20
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/shared/Logging.kt +1 -1
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/shared/MergeClassesTask.kt +70 -0
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/shared/MergeLibraryManifestTask.kt +178 -0
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/utils/AndroidArchiveLibrary.kt +0 -4
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/utils/DirectoryManager.kt +0 -5
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/utils/Extension.kt +8 -9
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/utils/Utils.kt +2 -34
- package/lib/commonjs/expo-config-plugin/android/utils/constants.js +1 -1
- package/lib/commonjs/expo-config-plugin/android/utils/formatHelpers.js +2 -0
- package/lib/commonjs/expo-config-plugin/android/utils/formatHelpers.js.map +1 -0
- package/lib/commonjs/expo-config-plugin/android/utils/gradleHelpers.js +1 -1
- package/lib/commonjs/expo-config-plugin/android/utils/gradleHelpers.js.map +1 -1
- package/lib/commonjs/expo-config-plugin/android/withAndroidModuleFiles.js +1 -1
- package/lib/commonjs/expo-config-plugin/android/withAndroidModuleFiles.js.map +1 -1
- package/lib/commonjs/expo-config-plugin/android/withBrownfieldAndroid.js +1 -1
- package/lib/commonjs/expo-config-plugin/android/withBrownfieldAndroid.js.map +1 -1
- package/lib/commonjs/expo-config-plugin/template/android/build.gradle.kts +6 -0
- package/lib/commonjs/scripts/brownfield.js +0 -0
- package/lib/module/expo-config-plugin/android/utils/constants.js +1 -1
- package/lib/module/expo-config-plugin/android/utils/formatHelpers.js +2 -0
- package/lib/module/expo-config-plugin/android/utils/formatHelpers.js.map +1 -0
- package/lib/module/expo-config-plugin/android/utils/gradleHelpers.js +1 -1
- package/lib/module/expo-config-plugin/android/utils/gradleHelpers.js.map +1 -1
- package/lib/module/expo-config-plugin/android/withAndroidModuleFiles.js +1 -1
- package/lib/module/expo-config-plugin/android/withAndroidModuleFiles.js.map +1 -1
- package/lib/module/expo-config-plugin/android/withBrownfieldAndroid.js +1 -1
- package/lib/module/expo-config-plugin/android/withBrownfieldAndroid.js.map +1 -1
- package/lib/module/expo-config-plugin/template/android/build.gradle.kts +6 -0
- package/lib/typescript/commonjs/src/expo-config-plugin/android/utils/constants.d.ts +2 -2
- package/lib/typescript/commonjs/src/expo-config-plugin/android/utils/formatHelpers.d.ts +2 -0
- package/lib/typescript/commonjs/src/expo-config-plugin/android/utils/formatHelpers.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/expo-config-plugin/android/utils/gradleHelpers.d.ts +7 -0
- package/lib/typescript/commonjs/src/expo-config-plugin/android/utils/gradleHelpers.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/expo-config-plugin/android/withAndroidModuleFiles.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/expo-config-plugin/android/withBrownfieldAndroid.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.d.ts +5 -0
- package/lib/typescript/commonjs/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.d.ts.map +1 -1
- package/lib/typescript/module/src/expo-config-plugin/android/utils/constants.d.ts +2 -2
- package/lib/typescript/module/src/expo-config-plugin/android/utils/formatHelpers.d.ts +2 -0
- package/lib/typescript/module/src/expo-config-plugin/android/utils/formatHelpers.d.ts.map +1 -0
- package/lib/typescript/module/src/expo-config-plugin/android/utils/gradleHelpers.d.ts +7 -0
- package/lib/typescript/module/src/expo-config-plugin/android/utils/gradleHelpers.d.ts.map +1 -1
- package/lib/typescript/module/src/expo-config-plugin/android/withAndroidModuleFiles.d.ts.map +1 -1
- package/lib/typescript/module/src/expo-config-plugin/android/withBrownfieldAndroid.d.ts.map +1 -1
- package/lib/typescript/module/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.d.ts +5 -0
- package/lib/typescript/module/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/expo-config-plugin/android/utils/constants.ts +1 -1
- package/src/expo-config-plugin/android/utils/formatHelpers.ts +7 -0
- package/src/expo-config-plugin/android/utils/gradleHelpers.ts +41 -0
- package/src/expo-config-plugin/android/withAndroidModuleFiles.ts +20 -0
- package/src/expo-config-plugin/android/withBrownfieldAndroid.ts +16 -3
- package/src/expo-config-plugin/template/android/build.gradle.kts +6 -0
- package/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.ts +6 -0
- package/CHANGELOG.md +0 -300
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
package com.callstack.react.brownfield.shared
|
|
2
2
|
|
|
3
|
-
import com.callstack.react.brownfield.processors.VariantHelper
|
|
4
3
|
import com.callstack.react.brownfield.utils.AndroidArchiveLibrary
|
|
5
|
-
import com.callstack.react.brownfield.utils.DirectoryManager
|
|
6
4
|
import org.gradle.api.DefaultTask
|
|
7
5
|
import org.gradle.api.provider.ListProperty
|
|
8
6
|
import org.gradle.api.provider.Property
|
|
7
|
+
import org.gradle.api.tasks.CacheableTask
|
|
9
8
|
import org.gradle.api.tasks.Input
|
|
10
9
|
import org.gradle.api.tasks.Internal
|
|
11
10
|
import org.gradle.api.tasks.TaskAction
|
|
12
11
|
|
|
12
|
+
@CacheableTask
|
|
13
13
|
abstract class ExplodeAarTask : DefaultTask() {
|
|
14
14
|
@get:Internal
|
|
15
15
|
abstract val inputArtifacts: ListProperty<UnresolvedArtifactInfo>
|
|
@@ -17,25 +17,11 @@ abstract class ExplodeAarTask : DefaultTask() {
|
|
|
17
17
|
@get:Input
|
|
18
18
|
abstract val variantName: Property<String>
|
|
19
19
|
|
|
20
|
-
@get:Input
|
|
21
|
-
abstract val minifyEnabled: Property<Boolean>
|
|
22
|
-
|
|
23
20
|
@TaskAction
|
|
24
21
|
fun run() {
|
|
25
22
|
val artifacts = inputArtifacts.get()
|
|
26
23
|
val resolvedVariantName = variantName.get()
|
|
27
24
|
|
|
28
|
-
val variantHelper = VariantHelper()
|
|
29
|
-
variantHelper.project = project
|
|
30
|
-
|
|
31
|
-
// classes-merge
|
|
32
|
-
variantHelper.classesMergeTaskDoFirst(
|
|
33
|
-
DirectoryManager.getMergeClassDirectory(
|
|
34
|
-
resolvedVariantName,
|
|
35
|
-
),
|
|
36
|
-
resolvedVariantName,
|
|
37
|
-
)
|
|
38
|
-
|
|
39
25
|
val aarLibraries = mutableListOf<AndroidArchiveLibrary>()
|
|
40
26
|
artifacts.forEach { art ->
|
|
41
27
|
val artifactFile =
|
|
@@ -64,9 +50,5 @@ abstract class ExplodeAarTask : DefaultTask() {
|
|
|
64
50
|
it.into(zipFolder)
|
|
65
51
|
}
|
|
66
52
|
}
|
|
67
|
-
|
|
68
|
-
// classes-merge
|
|
69
|
-
val mergeClassesOutputDir = DirectoryManager.getMergeClassDirectory(resolvedVariantName)
|
|
70
|
-
variantHelper.classesMergeTaskDoLast(mergeClassesOutputDir, aarLibraries, mutableListOf(), resolvedVariantName, minifyEnabled.get())
|
|
71
53
|
}
|
|
72
54
|
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
package com.callstack.react.brownfield.shared
|
|
2
|
+
|
|
3
|
+
import com.callstack.react.brownfield.processors.MergeProcessor
|
|
4
|
+
import com.callstack.react.brownfield.utils.DirectoryManager
|
|
5
|
+
import com.callstack.react.brownfield.utils.capitalized
|
|
6
|
+
import org.gradle.api.DefaultTask
|
|
7
|
+
import org.gradle.api.file.ConfigurableFileCollection
|
|
8
|
+
import org.gradle.api.file.DirectoryProperty
|
|
9
|
+
import org.gradle.api.provider.Property
|
|
10
|
+
import org.gradle.api.tasks.Classpath
|
|
11
|
+
import org.gradle.api.tasks.Input
|
|
12
|
+
import org.gradle.api.tasks.OutputDirectory
|
|
13
|
+
import org.gradle.api.tasks.TaskAction
|
|
14
|
+
import java.io.File
|
|
15
|
+
import java.nio.file.Files
|
|
16
|
+
import java.nio.file.Path
|
|
17
|
+
import java.nio.file.Paths
|
|
18
|
+
|
|
19
|
+
abstract class MergeClassesTask : DefaultTask() {
|
|
20
|
+
@get:Classpath
|
|
21
|
+
abstract val inputClassesJars: ConfigurableFileCollection
|
|
22
|
+
|
|
23
|
+
@get:Input
|
|
24
|
+
abstract val variantName: Property<String>
|
|
25
|
+
|
|
26
|
+
@get:OutputDirectory
|
|
27
|
+
abstract val outputDir: DirectoryProperty
|
|
28
|
+
|
|
29
|
+
@TaskAction
|
|
30
|
+
fun run() {
|
|
31
|
+
val resolvedVariantName = variantName.get()
|
|
32
|
+
val mergedOutputDir = outputDir.get().asFile
|
|
33
|
+
val javacDir = getClassPathDir(resolvedVariantName)
|
|
34
|
+
val pathsToDelete = mutableListOf<Path>()
|
|
35
|
+
|
|
36
|
+
if (mergedOutputDir.exists()) {
|
|
37
|
+
project.fileTree(mergedOutputDir).forEach { path ->
|
|
38
|
+
pathsToDelete.add(
|
|
39
|
+
Paths.get(mergedOutputDir.absolutePath).relativize(Paths.get(path.absolutePath)),
|
|
40
|
+
)
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
mergedOutputDir.deleteRecursively()
|
|
45
|
+
pathsToDelete.forEach { path ->
|
|
46
|
+
Files.deleteIfExists(javacDir.toPath().resolve(path))
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
MergeProcessor.mergeClassesJarFilesIntoClasses(project, inputClassesJars.files, mergedOutputDir)
|
|
50
|
+
|
|
51
|
+
project.copy { copyTask ->
|
|
52
|
+
copyTask.from(mergedOutputDir)
|
|
53
|
+
copyTask.into(javacDir)
|
|
54
|
+
copyTask.exclude("META-INF/")
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
project.copy { copyTask ->
|
|
58
|
+
copyTask.from(File(mergedOutputDir, "META-INF"))
|
|
59
|
+
copyTask.into(DirectoryManager.getKotlinMetaDirectory(resolvedVariantName))
|
|
60
|
+
copyTask.include("*.kotlin_module")
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
private fun getClassPathDir(variantName: String): File {
|
|
65
|
+
val buildDirectory = project.layout.buildDirectory.get().asFile
|
|
66
|
+
return project.file(
|
|
67
|
+
"$buildDirectory/intermediates/javac/$variantName/compile${variantName.capitalized()}JavaWithJavac/classes",
|
|
68
|
+
)
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
package com.callstack.react.brownfield.shared
|
|
2
|
+
|
|
3
|
+
import com.android.manifmerger.ManifestMerger2
|
|
4
|
+
import com.android.manifmerger.ManifestProvider
|
|
5
|
+
import com.android.manifmerger.ManifestSystemProperty
|
|
6
|
+
import com.android.manifmerger.MergingReport
|
|
7
|
+
import org.apache.tools.ant.BuildException
|
|
8
|
+
import org.gradle.api.DefaultTask
|
|
9
|
+
import org.gradle.api.file.ConfigurableFileCollection
|
|
10
|
+
import org.gradle.api.file.RegularFileProperty
|
|
11
|
+
import org.gradle.api.provider.MapProperty
|
|
12
|
+
import org.gradle.api.provider.Property
|
|
13
|
+
import org.gradle.api.tasks.CacheableTask
|
|
14
|
+
import org.gradle.api.tasks.Input
|
|
15
|
+
import org.gradle.api.tasks.InputFile
|
|
16
|
+
import org.gradle.api.tasks.InputFiles
|
|
17
|
+
import org.gradle.api.tasks.OutputFile
|
|
18
|
+
import org.gradle.api.tasks.PathSensitive
|
|
19
|
+
import org.gradle.api.tasks.PathSensitivity
|
|
20
|
+
import org.gradle.api.tasks.TaskAction
|
|
21
|
+
import java.io.File
|
|
22
|
+
import java.nio.file.Files
|
|
23
|
+
import java.nio.file.StandardCopyOption
|
|
24
|
+
import javax.xml.parsers.DocumentBuilderFactory
|
|
25
|
+
import javax.xml.transform.TransformerFactory
|
|
26
|
+
import javax.xml.transform.dom.DOMSource
|
|
27
|
+
import javax.xml.transform.stream.StreamResult
|
|
28
|
+
|
|
29
|
+
@CacheableTask
|
|
30
|
+
abstract class MergeLibraryManifestTask : DefaultTask() {
|
|
31
|
+
@get:InputFile
|
|
32
|
+
@get:PathSensitive(PathSensitivity.RELATIVE)
|
|
33
|
+
abstract val inputManifest: RegularFileProperty
|
|
34
|
+
|
|
35
|
+
@get:OutputFile
|
|
36
|
+
abstract val outputManifest: RegularFileProperty
|
|
37
|
+
|
|
38
|
+
@get:InputFiles
|
|
39
|
+
@get:PathSensitive(PathSensitivity.RELATIVE)
|
|
40
|
+
abstract val aarManifestFiles: ConfigurableFileCollection
|
|
41
|
+
|
|
42
|
+
@get:Input
|
|
43
|
+
abstract val variantName: Property<String>
|
|
44
|
+
|
|
45
|
+
@get:Input
|
|
46
|
+
abstract val namespace: Property<String>
|
|
47
|
+
|
|
48
|
+
@get:Input
|
|
49
|
+
abstract val manifestPlaceholders: MapProperty<String, String>
|
|
50
|
+
|
|
51
|
+
@TaskAction
|
|
52
|
+
fun run() {
|
|
53
|
+
val mainManifestFile = inputManifest.get().asFile
|
|
54
|
+
val outputFile = outputManifest.get().asFile
|
|
55
|
+
val dependencyManifests = aarManifestFiles.files.filter(File::exists)
|
|
56
|
+
|
|
57
|
+
outputFile.parentFile.mkdirs()
|
|
58
|
+
|
|
59
|
+
if (dependencyManifests.isEmpty()) {
|
|
60
|
+
Files.copy(mainManifestFile.toPath(), outputFile.toPath(), StandardCopyOption.REPLACE_EXISTING)
|
|
61
|
+
return
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
val tempDir = temporaryDir
|
|
65
|
+
val (sanitizedManifestFile, extractedSdkVersions) =
|
|
66
|
+
stripSdkVersionsFromManifest(mainManifestFile, tempDir)
|
|
67
|
+
|
|
68
|
+
try {
|
|
69
|
+
val iLogger = GradleILogger(logger)
|
|
70
|
+
val mergerInvoker =
|
|
71
|
+
ManifestMerger2
|
|
72
|
+
.newMerger(sanitizedManifestFile, iLogger, ManifestMerger2.MergeType.LIBRARY)
|
|
73
|
+
.setNamespace(namespace.get())
|
|
74
|
+
.setPlaceHolderValues(manifestPlaceholders.get().mapValues { it.value as Any })
|
|
75
|
+
|
|
76
|
+
extractedSdkVersions.forEach { (property, value) ->
|
|
77
|
+
mergerInvoker.setOverride(property, value)
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
mergerInvoker.addManifestProviders(
|
|
81
|
+
dependencyManifests.map { manifestFile ->
|
|
82
|
+
object : ManifestProvider {
|
|
83
|
+
override fun getManifest(): File = manifestFile.absoluteFile
|
|
84
|
+
|
|
85
|
+
override fun getName(): String = manifestFile.name
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
val mergingReport = mergerInvoker.merge()
|
|
91
|
+
|
|
92
|
+
if (mergingReport.result.isError) {
|
|
93
|
+
logger.error("Manifest merge failed for variant ${variantName.get()}")
|
|
94
|
+
logger.error(mergingReport.reportString)
|
|
95
|
+
mergingReport.log(iLogger)
|
|
96
|
+
throw BuildException(mergingReport.reportString)
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
val mergedDocument =
|
|
100
|
+
mergingReport.getMergedDocument(MergingReport.MergedManifestKind.MERGED)
|
|
101
|
+
?: throw BuildException("Manifest merge produced no output for variant ${variantName.get()}")
|
|
102
|
+
outputFile.writeText(mergedDocument, Charsets.UTF_8)
|
|
103
|
+
} finally {
|
|
104
|
+
sanitizedManifestFile.delete()
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* AGP 9.0+ ManifestMerger2 rejects a main manifest that contains <uses-sdk> with SDK-version
|
|
110
|
+
* attributes (minSdkVersion / targetSdkVersion / maxSdkVersion), because those values are
|
|
111
|
+
* already tracked by the build system. This helper parses the manifest with the DOM API,
|
|
112
|
+
* removes only those offending attributes, drops the <uses-sdk> element entirely when no
|
|
113
|
+
* meaningful attributes remain, and writes the result to a temporary file in [tempDir]
|
|
114
|
+
* (Gradle's task-private scratch area, outside the declared outputs).
|
|
115
|
+
*
|
|
116
|
+
* It returns both the sanitized temp file and a map of the stripped SDK version values so the
|
|
117
|
+
* caller can restore them via ManifestMerger2.Invoker.setOverride(), keeping merger behaviour
|
|
118
|
+
* identical to before while satisfying the new validation.
|
|
119
|
+
*/
|
|
120
|
+
private fun stripSdkVersionsFromManifest(
|
|
121
|
+
manifestFile: File,
|
|
122
|
+
tempDir: File,
|
|
123
|
+
): Pair<File, Map<ManifestSystemProperty, String>> {
|
|
124
|
+
val sdkVersionAttributes =
|
|
125
|
+
mapOf(
|
|
126
|
+
"minSdkVersion" to ManifestSystemProperty.UsesSdk.MIN_SDK_VERSION,
|
|
127
|
+
"targetSdkVersion" to ManifestSystemProperty.UsesSdk.TARGET_SDK_VERSION,
|
|
128
|
+
"maxSdkVersion" to ManifestSystemProperty.UsesSdk.MAX_SDK_VERSION,
|
|
129
|
+
)
|
|
130
|
+
val androidNs = "http://schemas.android.com/apk/res/android"
|
|
131
|
+
|
|
132
|
+
val document =
|
|
133
|
+
DocumentBuilderFactory.newInstance().apply {
|
|
134
|
+
isNamespaceAware = true
|
|
135
|
+
setFeature("http://apache.org/xml/features/disallow-doctype-decl", true)
|
|
136
|
+
setFeature("http://xml.org/sax/features/external-general-entities", false)
|
|
137
|
+
setFeature("http://xml.org/sax/features/external-parameter-entities", false)
|
|
138
|
+
}.newDocumentBuilder().parse(manifestFile)
|
|
139
|
+
|
|
140
|
+
val usesSdkNodes = document.getElementsByTagNameNS("*", "uses-sdk")
|
|
141
|
+
val nodesToRemove = mutableListOf<org.w3c.dom.Element>()
|
|
142
|
+
val extractedSdkVersions = mutableMapOf<ManifestSystemProperty, String>()
|
|
143
|
+
|
|
144
|
+
for (i in 0 until usesSdkNodes.length) {
|
|
145
|
+
val element = usesSdkNodes.item(i) as? org.w3c.dom.Element ?: continue
|
|
146
|
+
|
|
147
|
+
sdkVersionAttributes.forEach { (attrName, property) ->
|
|
148
|
+
val value = element.getAttributeNS(androidNs, attrName)
|
|
149
|
+
if (value.isNotEmpty()) {
|
|
150
|
+
extractedSdkVersions[property] = value
|
|
151
|
+
element.removeAttributeNS(androidNs, attrName)
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
val remainingAttrs = element.attributes
|
|
156
|
+
val hasMeaningfulRemainingAttrs =
|
|
157
|
+
(0 until remainingAttrs.length).any { j ->
|
|
158
|
+
val attr = remainingAttrs.item(j)
|
|
159
|
+
attr.prefix != "xmlns" && attr.nodeName != "xmlns"
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
if (!hasMeaningfulRemainingAttrs) {
|
|
163
|
+
nodesToRemove.add(element)
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
nodesToRemove.forEach { it.parentNode?.removeChild(it) }
|
|
168
|
+
|
|
169
|
+
tempDir.mkdirs()
|
|
170
|
+
val tempFile = File(tempDir, "sanitized_${manifestFile.name}")
|
|
171
|
+
TransformerFactory.newInstance().newTransformer().transform(
|
|
172
|
+
DOMSource(document),
|
|
173
|
+
StreamResult(tempFile),
|
|
174
|
+
)
|
|
175
|
+
|
|
176
|
+
return Pair(tempFile, extractedSdkVersions)
|
|
177
|
+
}
|
|
178
|
+
}
|
|
@@ -70,8 +70,4 @@ class AndroidArchiveLibrary(
|
|
|
70
70
|
fun getResDir(): File = File(getExplodedAarRootDir(), "res")
|
|
71
71
|
|
|
72
72
|
fun getProguardRules(): File = File(getExplodedAarRootDir(), "proguard.txt")
|
|
73
|
-
|
|
74
|
-
fun getDataBindingFolder(): File = File(getExplodedAarRootDir(), "data-binding")
|
|
75
|
-
|
|
76
|
-
fun getDataBindingLogFolder(): File = File(getExplodedAarRootDir(), "data-binding-base-class-log")
|
|
77
73
|
}
|
|
@@ -2,7 +2,6 @@ package com.callstack.react.brownfield.utils
|
|
|
2
2
|
|
|
3
3
|
import com.callstack.react.brownfield.shared.BaseProject
|
|
4
4
|
import com.callstack.react.brownfield.shared.Constants.INTERMEDIATES_TEMP_DIR
|
|
5
|
-
import com.callstack.react.brownfield.shared.Constants.RE_BUNDLE_FOLDER
|
|
6
5
|
import java.io.File
|
|
7
6
|
|
|
8
7
|
object DirectoryManager : BaseProject() {
|
|
@@ -13,8 +12,4 @@ object DirectoryManager : BaseProject() {
|
|
|
13
12
|
fun getKotlinMetaDirectory(variantName: String): File {
|
|
14
13
|
return project.file("$buildDir/tmp/kotlin-classes/$variantName/META-INF")
|
|
15
14
|
}
|
|
16
|
-
|
|
17
|
-
fun getReBundleDirectory(variantName: String): File {
|
|
18
|
-
return project.file("$buildDir/outputs/$RE_BUNDLE_FOLDER/$variantName")
|
|
19
|
-
}
|
|
20
15
|
}
|
package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/utils/Extension.kt
CHANGED
|
@@ -13,15 +13,6 @@ open class Extension {
|
|
|
13
13
|
*/
|
|
14
14
|
var appProjectName = "app"
|
|
15
15
|
|
|
16
|
-
/**
|
|
17
|
-
* List of dynamic libs (.so) files that you wish to bundle with
|
|
18
|
-
* the aar.
|
|
19
|
-
*
|
|
20
|
-
* By default, only `libappmodules.so` and `libreact_codegen_*.so` are
|
|
21
|
-
* bundled.
|
|
22
|
-
*/
|
|
23
|
-
var dynamicLibs = listOf<String>()
|
|
24
|
-
|
|
25
16
|
/**
|
|
26
17
|
* Whether to use stripped .so files.
|
|
27
18
|
*
|
|
@@ -41,4 +32,12 @@ open class Extension {
|
|
|
41
32
|
set(value) {
|
|
42
33
|
useStrippedSoFiles = value
|
|
43
34
|
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* List of missing dimension strategies.
|
|
38
|
+
*
|
|
39
|
+
* Provide in this format:
|
|
40
|
+
* listOf("type", "alpha")
|
|
41
|
+
*/
|
|
42
|
+
var missingDimensionStrategies = listOf<String>()
|
|
44
43
|
}
|
package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/utils/Utils.kt
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
package com.callstack.react.brownfield.utils
|
|
2
2
|
|
|
3
3
|
import com.callstack.react.brownfield.plugin.RNBrownfieldPlugin.Companion.EXPO_PROJECT_LOCATOR
|
|
4
|
+
import com.callstack.react.brownfield.processors.VariantHelper
|
|
4
5
|
import org.gradle.api.Project
|
|
5
6
|
import java.io.File
|
|
6
7
|
|
|
@@ -28,46 +29,13 @@ object Utils {
|
|
|
28
29
|
return project.findProject(EXPO_PROJECT_LOCATOR) != null
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
fun getExpoUpdatesResourcesTaskName(variantName: String): String {
|
|
32
|
-
return "create${variantName.capitalized()}UpdatesResources"
|
|
33
|
-
}
|
|
34
|
-
|
|
35
32
|
fun hasExpoUpdates(
|
|
36
33
|
project: Project,
|
|
37
34
|
variantName: String,
|
|
38
35
|
): Boolean {
|
|
39
36
|
return isExpoProject(project) &&
|
|
40
37
|
project.tasks.names.contains(
|
|
41
|
-
getExpoUpdatesResourcesTaskName(variantName),
|
|
38
|
+
VariantHelper.getExpoUpdatesResourcesTaskName(variantName),
|
|
42
39
|
)
|
|
43
40
|
}
|
|
44
|
-
|
|
45
|
-
fun getBundledAssetsVariantName(
|
|
46
|
-
variantName: String?,
|
|
47
|
-
buildTypeName: String?,
|
|
48
|
-
isDebuggable: Boolean,
|
|
49
|
-
): String {
|
|
50
|
-
require(!variantName.isNullOrEmpty()) {
|
|
51
|
-
"getBundledAssetsVariantName: Variant name cannot be empty"
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
require(!buildTypeName.isNullOrEmpty()) {
|
|
55
|
-
"getBundledAssetsVariantName: Build Type cannot be empty"
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if (!isDebuggable) {
|
|
59
|
-
return variantName
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
if (variantName == buildTypeName) {
|
|
63
|
-
return "release"
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
val capitalizedBuildTypeName = buildTypeName.capitalized()
|
|
67
|
-
return if (variantName.endsWith(capitalizedBuildTypeName)) {
|
|
68
|
-
"${variantName.removeSuffix(capitalizedBuildTypeName)}Release"
|
|
69
|
-
} else {
|
|
70
|
-
"release"
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
41
|
}
|
|
@@ -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-
|
|
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-alpha07';var brownfieldGradlePluginDependency=exports.brownfieldGradlePluginDependency=`classpath("com.callstack.react:brownfield-gradle-plugin:${BROWNFIELD_PLUGIN_VERSION}")`;
|
|
2
2
|
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:true});exports.formatMissingDimensionStrategies=formatMissingDimensionStrategies;function formatMissingDimensionStrategies(missingDimensionStrategies){return missingDimensionStrategies.map(function(value){return JSON.stringify(value);}).join(', ');}
|
|
2
|
+
//# sourceMappingURL=formatHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["formatMissingDimensionStrategies","missingDimensionStrategies","map","value","JSON","stringify","join"],"sourceRoot":"../../../../../src","sources":["expo-config-plugin/android/utils/formatHelpers.ts"],"mappings":"mIAAO,QAAS,CAAAA,gCAAgCA,CAC9CC,0BAAoC,CAC5B,CACR,MAAO,CAAAA,0BAA0B,CAC9BC,GAAG,CAAC,SAACC,KAAK,QAAK,CAAAC,IAAI,CAACC,SAAS,CAACF,KAAK,CAAC,GAAC,CACrCG,IAAI,CAAC,IAAI,CAAC,CACf","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:true});exports.modifyRootBuildGradle=modifyRootBuildGradle;exports.modifySettingsGradle=modifySettingsGradle;var _constants=require("./constants");var _logging=require("../../logging");var LOCAL_GRADLE_PLUGIN_INCLUDE_BUILD='includeBuild("../node_modules/@callstack/react-native-brownfield/gradle-plugin/brownfield")';function modifyRootBuildGradle(contents){var _ref=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref$useLocalGradlePl=_ref.useLocalGradlePlugin,useLocalGradlePlugin=_ref$useLocalGradlePl===void 0?false:_ref$useLocalGradlePl;if(useLocalGradlePlugin){_logging.Logger.logDebug('Skipping Maven Brownfield Gradle plugin classpath because useLocalGradlePlugin is enabled');return contents;}if(contents.includes('brownfield-gradle-plugin')){_logging.Logger.logDebug('Brownfield Gradle plugin already in root build.gradle, skipping');return contents;}_logging.Logger.logDebug(`Modifying root build.gradle to add the Gradle Brownfield plugin`);var buildscriptDepsRegex=/(buildscript\s*\{[\s\S]*?dependencies\s*\{[\s\S]*?)(})/m;var match=contents.match(buildscriptDepsRegex);if(!match){throw new Error('Could not locate buildscript block in root build.gradle');}var insertion=`\t${_constants.brownfieldGradlePluginDependency}\n\t`;var modifiedContents=contents.replace(buildscriptDepsRegex,`$1${insertion}$2`);_logging.Logger.logDebug('Added Brownfield Gradle plugin to root build.gradle');return modifiedContents;}function addLocalGradlePluginIncludeBuild(contents){if(contents.includes('gradle-plugin/brownfield')){_logging.Logger.logDebug('Local Brownfield Gradle plugin includeBuild already present, skipping');return contents;}_logging.Logger.logDebug('Modifying settings.gradle to include local Brownfield Gradle plugin');var pluginManagementMatch=contents.match(/pluginManagement\s*\{/);if((pluginManagementMatch==null?void 0:pluginManagementMatch.index)!==undefined){var insertIndex=pluginManagementMatch.index+pluginManagementMatch[0].length;var insertion=`\n\t${LOCAL_GRADLE_PLUGIN_INCLUDE_BUILD}`;return contents.slice(0,insertIndex)+insertion+contents.slice(insertIndex);}return`pluginManagement {\n\t${LOCAL_GRADLE_PLUGIN_INCLUDE_BUILD}\n}\n\n${contents}`;}function modifySettingsGradle(contents,moduleName){var _ref2=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{},_ref2$useLocalGradleP=_ref2.useLocalGradlePlugin,useLocalGradlePlugin=_ref2$useLocalGradleP===void 0?false:_ref2$useLocalGradleP;var modifiedContents=contents;if(useLocalGradlePlugin){modifiedContents=addLocalGradlePluginIncludeBuild(modifiedContents);}var includeStatement=`include ':${moduleName}'`;if(modifiedContents.includes(includeStatement)){_logging.Logger.logDebug(`Module "${moduleName}" already in settings.gradle, skipping`);return modifiedContents;}_logging.Logger.logDebug(`Modifying settings.gradle to include module "${moduleName}"`);modifiedContents=modifiedContents+`\n${includeStatement}\n`;_logging.Logger.logDebug(`Added module "${moduleName}" to settings.gradle`);return modifiedContents;}
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:true});exports.modifyAppBuildGradleMissingDimensionStrategy=modifyAppBuildGradleMissingDimensionStrategy;exports.modifyRootBuildGradle=modifyRootBuildGradle;exports.modifySettingsGradle=modifySettingsGradle;var _constants=require("./constants");var _logging=require("../../logging");var _formatHelpers=require("./formatHelpers");var LOCAL_GRADLE_PLUGIN_INCLUDE_BUILD='includeBuild("../node_modules/@callstack/react-native-brownfield/gradle-plugin/brownfield")';function modifyRootBuildGradle(contents){var _ref=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref$useLocalGradlePl=_ref.useLocalGradlePlugin,useLocalGradlePlugin=_ref$useLocalGradlePl===void 0?false:_ref$useLocalGradlePl;if(useLocalGradlePlugin){_logging.Logger.logDebug('Skipping Maven Brownfield Gradle plugin classpath because useLocalGradlePlugin is enabled');return contents;}if(contents.includes('brownfield-gradle-plugin')){_logging.Logger.logDebug('Brownfield Gradle plugin already in root build.gradle, skipping');return contents;}_logging.Logger.logDebug(`Modifying root build.gradle to add the Gradle Brownfield plugin`);var buildscriptDepsRegex=/(buildscript\s*\{[\s\S]*?dependencies\s*\{[\s\S]*?)(})/m;var match=contents.match(buildscriptDepsRegex);if(!match){throw new Error('Could not locate buildscript block in root build.gradle');}var insertion=`\t${_constants.brownfieldGradlePluginDependency}\n\t`;var modifiedContents=contents.replace(buildscriptDepsRegex,`$1${insertion}$2`);_logging.Logger.logDebug('Added Brownfield Gradle plugin to root build.gradle');return modifiedContents;}function modifyAppBuildGradleMissingDimensionStrategy(contents,missingDimensionStrategies){var _match$1$match$,_match$1$match;if(missingDimensionStrategies.length<2){return contents;}_logging.Logger.logDebug('Modifying app build.gradle to add missingDimensionStrategy');var defaultConfigRegex=/^([ \t]*defaultConfig\s*\{)/m;var match=contents.match(defaultConfigRegex);if(!match){throw new Error('Could not locate defaultConfig block in app build.gradle');}var baseIndent=(_match$1$match$=(_match$1$match=match[1].match(/^[ \t]*/))==null?void 0:_match$1$match[0])!=null?_match$1$match$:'';var indentUnit=baseIndent.includes('\t')?'\t':' ';var args=(0,_formatHelpers.formatMissingDimensionStrategies)(missingDimensionStrategies);var missingStrategyLine=`missingDimensionStrategy(${args})`;if(contents.includes(missingStrategyLine)){_logging.Logger.logDebug('missingDimensionStrategy already present with same arguments, skipping');return contents;}var insertion=`\n${baseIndent}${indentUnit}${missingStrategyLine}`;return contents.replace(defaultConfigRegex,`$1${insertion}`);}function addLocalGradlePluginIncludeBuild(contents){if(contents.includes('gradle-plugin/brownfield')){_logging.Logger.logDebug('Local Brownfield Gradle plugin includeBuild already present, skipping');return contents;}_logging.Logger.logDebug('Modifying settings.gradle to include local Brownfield Gradle plugin');var pluginManagementMatch=contents.match(/pluginManagement\s*\{/);if((pluginManagementMatch==null?void 0:pluginManagementMatch.index)!==undefined){var insertIndex=pluginManagementMatch.index+pluginManagementMatch[0].length;var insertion=`\n\t${LOCAL_GRADLE_PLUGIN_INCLUDE_BUILD}`;return contents.slice(0,insertIndex)+insertion+contents.slice(insertIndex);}return`pluginManagement {\n\t${LOCAL_GRADLE_PLUGIN_INCLUDE_BUILD}\n}\n\n${contents}`;}function modifySettingsGradle(contents,moduleName){var _ref2=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{},_ref2$useLocalGradleP=_ref2.useLocalGradlePlugin,useLocalGradlePlugin=_ref2$useLocalGradleP===void 0?false:_ref2$useLocalGradleP;var modifiedContents=contents;if(useLocalGradlePlugin){modifiedContents=addLocalGradlePluginIncludeBuild(modifiedContents);}var includeStatement=`include ':${moduleName}'`;if(modifiedContents.includes(includeStatement)){_logging.Logger.logDebug(`Module "${moduleName}" already in settings.gradle, skipping`);return modifiedContents;}_logging.Logger.logDebug(`Modifying settings.gradle to include module "${moduleName}"`);modifiedContents=modifiedContents+`\n${includeStatement}\n`;_logging.Logger.logDebug(`Added module "${moduleName}" to settings.gradle`);return modifiedContents;}
|
|
2
2
|
//# sourceMappingURL=gradleHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","_logging","LOCAL_GRADLE_PLUGIN_INCLUDE_BUILD","modifyRootBuildGradle","contents","_ref","arguments","length","undefined","_ref$useLocalGradlePl","useLocalGradlePlugin","Logger","logDebug","includes","buildscriptDepsRegex","match","Error","insertion","brownfieldGradlePluginDependency","modifiedContents","replace","addLocalGradlePluginIncludeBuild","pluginManagementMatch","index","insertIndex","slice","modifySettingsGradle","moduleName","_ref2","_ref2$useLocalGradleP","includeStatement"],"sourceRoot":"../../../../../src","sources":["expo-config-plugin/android/utils/gradleHelpers.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_constants","require","_logging","_formatHelpers","LOCAL_GRADLE_PLUGIN_INCLUDE_BUILD","modifyRootBuildGradle","contents","_ref","arguments","length","undefined","_ref$useLocalGradlePl","useLocalGradlePlugin","Logger","logDebug","includes","buildscriptDepsRegex","match","Error","insertion","brownfieldGradlePluginDependency","modifiedContents","replace","modifyAppBuildGradleMissingDimensionStrategy","missingDimensionStrategies","_match$1$match$","_match$1$match","defaultConfigRegex","baseIndent","indentUnit","args","formatMissingDimensionStrategies","missingStrategyLine","addLocalGradlePluginIncludeBuild","pluginManagementMatch","index","insertIndex","slice","modifySettingsGradle","moduleName","_ref2","_ref2$useLocalGradleP","includeStatement"],"sourceRoot":"../../../../../src","sources":["expo-config-plugin/android/utils/gradleHelpers.ts"],"mappings":"iQAAA,IAAAA,UAAA,CAAAC,OAAA,gBACA,IAAAC,QAAA,CAAAD,OAAA,kBACA,IAAAE,cAAA,CAAAF,OAAA,oBAEA,GAAM,CAAAG,iCAAiC,CACrC,6FAA6F,CAWxF,QAAS,CAAAC,qBAAqBA,CACnCC,QAAgB,CAER,KAAAC,IAAA,CAAAC,SAAA,CAAAC,MAAA,IAAAD,SAAA,MAAAE,SAAA,CAAAF,SAAA,IADsD,CAAC,CAAC,CAAAG,qBAAA,CAAAJ,IAAA,CAA9DK,oBAAoB,CAApBA,oBAAoB,CAAAD,qBAAA,UAAG,KAAK,CAAAA,qBAAA,CAE9B,GAAIC,oBAAoB,CAAE,CACxBC,eAAM,CAACC,QAAQ,CACb,2FACF,CAAC,CACD,MAAO,CAAAR,QAAQ,CACjB,CAGA,GAAIA,QAAQ,CAACS,QAAQ,CAAC,0BAA0B,CAAC,CAAE,CACjDF,eAAM,CAACC,QAAQ,CACb,iEACF,CAAC,CACD,MAAO,CAAAR,QAAQ,CACjB,CAEAO,eAAM,CAACC,QAAQ,CACb,iEACF,CAAC,CAGD,GAAM,CAAAE,oBAAoB,CACxB,yDAAyD,CAC3D,GAAM,CAAAC,KAAK,CAAGX,QAAQ,CAACW,KAAK,CAACD,oBAAoB,CAAC,CAElD,GAAI,CAACC,KAAK,CAAE,CACV,KAAM,IAAI,CAAAC,KAAK,CAAC,yDAAyD,CAAC,CAC5E,CAGA,GAAM,CAAAC,SAAS,CAAG,KAAKC,2CAAgC,MAAM,CAC7D,GAAM,CAAAC,gBAAgB,CAAGf,QAAQ,CAACgB,OAAO,CACvCN,oBAAoB,CACpB,KAAKG,SAAS,IAChB,CAAC,CAEDN,eAAM,CAACC,QAAQ,CAAC,qDAAqD,CAAC,CACtE,MAAO,CAAAO,gBAAgB,CACzB,CAQO,QAAS,CAAAE,4CAA4CA,CAC1DjB,QAAgB,CAChBkB,0BAAoC,CAC5B,KAAAC,eAAA,CAAAC,cAAA,CACR,GAAIF,0BAA0B,CAACf,MAAM,CAAG,CAAC,CAAE,CACzC,MAAO,CAAAH,QAAQ,CACjB,CAEAO,eAAM,CAACC,QAAQ,CAAC,4DAA4D,CAAC,CAE7E,GAAM,CAAAa,kBAAkB,CAAG,8BAA8B,CACzD,GAAM,CAAAV,KAAK,CAAGX,QAAQ,CAACW,KAAK,CAACU,kBAAkB,CAAC,CAEhD,GAAI,CAACV,KAAK,CAAE,CACV,KAAM,IAAI,CAAAC,KAAK,CAAC,0DAA0D,CAAC,CAC7E,CAEA,GAAM,CAAAU,UAAU,EAAAH,eAAA,EAAAC,cAAA,CAAGT,KAAK,CAAC,CAAC,CAAC,CAACA,KAAK,CAAC,SAAS,CAAC,eAAzBS,cAAA,CAA4B,CAAC,CAAC,QAAAD,eAAA,CAAI,EAAE,CACvD,GAAM,CAAAI,UAAU,CAAGD,UAAU,CAACb,QAAQ,CAAC,IAAI,CAAC,CAAG,IAAI,CAAG,MAAM,CAC5D,GAAM,CAAAe,IAAI,CAAG,GAAAC,+CAAgC,EAACP,0BAA0B,CAAC,CACzE,GAAM,CAAAQ,mBAAmB,CAAG,4BAA4BF,IAAI,GAAG,CAE/D,GAAIxB,QAAQ,CAACS,QAAQ,CAACiB,mBAAmB,CAAC,CAAE,CAC1CnB,eAAM,CAACC,QAAQ,CACb,wEACF,CAAC,CACD,MAAO,CAAAR,QAAQ,CACjB,CAEA,GAAM,CAAAa,SAAS,CAAG,KAAKS,UAAU,GAAGC,UAAU,GAAGG,mBAAmB,EAAE,CAEtE,MAAO,CAAA1B,QAAQ,CAACgB,OAAO,CAACK,kBAAkB,CAAE,KAAKR,SAAS,EAAE,CAAC,CAC/D,CAEA,QAAS,CAAAc,gCAAgCA,CAAC3B,QAAgB,CAAU,CAClE,GAAIA,QAAQ,CAACS,QAAQ,CAAC,0BAA0B,CAAC,CAAE,CACjDF,eAAM,CAACC,QAAQ,CACb,uEACF,CAAC,CACD,MAAO,CAAAR,QAAQ,CACjB,CAEAO,eAAM,CAACC,QAAQ,CACb,qEACF,CAAC,CAED,GAAM,CAAAoB,qBAAqB,CAAG5B,QAAQ,CAACW,KAAK,CAAC,uBAAuB,CAAC,CAErE,GAAI,CAAAiB,qBAAqB,cAArBA,qBAAqB,CAAEC,KAAK,IAAKzB,SAAS,CAAE,CAC9C,GAAM,CAAA0B,WAAW,CACfF,qBAAqB,CAACC,KAAK,CAAGD,qBAAqB,CAAC,CAAC,CAAC,CAACzB,MAAM,CAC/D,GAAM,CAAAU,SAAS,CAAG,OAAOf,iCAAiC,EAAE,CAE5D,MACE,CAAAE,QAAQ,CAAC+B,KAAK,CAAC,CAAC,CAAED,WAAW,CAAC,CAAGjB,SAAS,CAAGb,QAAQ,CAAC+B,KAAK,CAACD,WAAW,CAAC,CAE5E,CAEA,MAAO,yBAAyBhC,iCAAiC,UAAUE,QAAQ,EAAE,CACvF,CAQO,QAAS,CAAAgC,oBAAoBA,CAClChC,QAAgB,CAChBiC,UAAkB,CAEV,KAAAC,KAAA,CAAAhC,SAAA,CAAAC,MAAA,IAAAD,SAAA,MAAAE,SAAA,CAAAF,SAAA,IADsD,CAAC,CAAC,CAAAiC,qBAAA,CAAAD,KAAA,CAA9D5B,oBAAoB,CAApBA,oBAAoB,CAAA6B,qBAAA,UAAG,KAAK,CAAAA,qBAAA,CAE9B,GAAI,CAAApB,gBAAgB,CAAGf,QAAQ,CAE/B,GAAIM,oBAAoB,CAAE,CACxBS,gBAAgB,CAAGY,gCAAgC,CAACZ,gBAAgB,CAAC,CACvE,CAEA,GAAM,CAAAqB,gBAAgB,CAAG,aAAaH,UAAU,GAAG,CAGnD,GAAIlB,gBAAgB,CAACN,QAAQ,CAAC2B,gBAAgB,CAAC,CAAE,CAC/C7B,eAAM,CAACC,QAAQ,CACb,WAAWyB,UAAU,wCACvB,CAAC,CACD,MAAO,CAAAlB,gBAAgB,CACzB,CAEAR,eAAM,CAACC,QAAQ,CACb,gDAAgDyB,UAAU,GAC5D,CAAC,CAGDlB,gBAAgB,CAAGA,gBAAgB,CAAG,KAAKqB,gBAAgB,IAAI,CAE/D7B,eAAM,CAACC,QAAQ,CAAC,iBAAiByB,UAAU,sBAAsB,CAAC,CAElE,MAAO,CAAAlB,gBAAgB,CACzB","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.createAndroidModule=createAndroidModule;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 _androidManifest=require("./utils/androidManifest");var _expoUpdates=require("./utils/expo-updates");var _hermes=require("./utils/hermes");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);}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 createAndroidModule(_ref){var androidDir=_ref.androidDir,config=_ref.config,rnVersion=_ref.rnVersion,projectRoot=_ref.projectRoot;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 targetSdkVersionExpression=resolveTargetSdkVersionExpression(config);_logging.Logger.logDebug(`Resolved Hermes artifact: ${hermesArtifact.groupId}:${hermesArtifact.artifactId}:${hermesArtifact.version}`);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_VERSION}}':targetSdkVersionExpression,'{{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}
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.createAndroidModule=createAndroidModule;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 _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);}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 createAndroidModule(_ref){var androidDir=_ref.androidDir,config=_ref.config,rnVersion=_ref.rnVersion,projectRoot=_ref.projectRoot;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 targetSdkVersionExpression=resolveTargetSdkVersionExpression(config);_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_VERSION}}':targetSdkVersionExpression,'{{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}`,'{{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','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',{})}];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});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","_androidManifest","_expoUpdates","_hermes","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","resolveCompileSdkVersionExpression","config","android","compileSdkVersion","toString","resolveTargetSdkVersionExpression","targetSdkVersion","createAndroidModule","_ref","androidDir","rnVersion","projectRoot","moduleDir","join","moduleName","Logger","logDebug","hermesArtifact","getHermesArtifact","compileSdkVersionExpression","targetSdkVersionExpression","groupId","artifactId","version","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","exports","props","withDangerousMod","_ref5","_asyncToGenerator2","dangerousConfig","modRequest","rnPkgPath","resolve","paths","rnPkg","_unused","Error","_x","apply","arguments"],"sourceRoot":"../../../../src","sources":["expo-config-plugin/android/withAndroidModuleFiles.ts"],"mappings":"8rBAAA,IAAAA,EAAA,CAAAC,uBAAA,CAAAC,OAAA,aACA,IAAAC,IAAA,CAAAF,uBAAA,CAAAC,OAAA,eAEA,IAAAE,cAAA,CAAAF,OAAA,yBAMA,IAAAG,QAAA,CAAAH,OAAA,eACA,IAAAI,OAAA,CAAAJ,OAAA,uBACA,IAAAK,gBAAA,CAAAL,OAAA,4BAMA,IAAAM,YAAA,CAAAN,OAAA,yBAIA,IAAAO,OAAA,CAAAP,OAAA,
|
|
1
|
+
{"version":3,"names":["fs","_interopRequireWildcard","require","path","_configPlugins","_logging","_engine","_androidManifest","_expoUpdates","_hermes","_formatHelpers","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","renderMissingDimensionStrategyBlock","missingDimensionStrategies","length","args","formatMissingDimensionStrategies","resolveCompileSdkVersionExpression","config","android","compileSdkVersion","toString","resolveTargetSdkVersionExpression","targetSdkVersion","createAndroidModule","_ref","androidDir","rnVersion","projectRoot","moduleDir","join","moduleName","Logger","logDebug","hermesArtifact","getHermesArtifact","compileSdkVersionExpression","targetSdkVersionExpression","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","exports","props","withDangerousMod","_ref5","_asyncToGenerator2","dangerousConfig","modRequest","rnPkgPath","resolve","paths","rnPkg","_unused","Error","_x","apply","arguments"],"sourceRoot":"../../../../src","sources":["expo-config-plugin/android/withAndroidModuleFiles.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.withBrownfieldAndroid=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _configPlugins=require("@expo/config-plugins");var _gradleHelpers=require("./utils/gradleHelpers");var _withAndroidModuleFiles=require("./withAndroidModuleFiles");var withBrownfieldAndroid=exports.withBrownfieldAndroid=function withBrownfieldAndroid(config,props){var androidConfig=props.android;config=(0,_configPlugins.withProjectBuildGradle)(config,function(gradleConfig){gradleConfig.modResults.contents=(0,_gradleHelpers.modifyRootBuildGradle)(gradleConfig.modResults.contents,{useLocalGradlePlugin:androidConfig.useLocalGradlePlugin});return gradleConfig;});config=(0,_configPlugins.withSettingsGradle)(config,function(settingsConfig){settingsConfig.modResults.contents=(0,_gradleHelpers.modifySettingsGradle)(settingsConfig.modResults.contents,androidConfig.moduleName,{useLocalGradlePlugin:androidConfig.useLocalGradlePlugin});return settingsConfig;});config=(0,_withAndroidModuleFiles.withAndroidModuleFiles)(config,props);config=(0,_configPlugins.withFinalizedMod)(config,['android',(function(){var _ref=(0,_asyncToGenerator2.default)(function*(finalizedConfig){(0,_withAndroidModuleFiles.syncAndroidModuleExpoUpdatesFromAppFiles)({androidDir:finalizedConfig.modRequest.platformProjectRoot,config:props});return finalizedConfig;});return function(_x){return _ref.apply(this,arguments);};}())]);return config;};
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.withBrownfieldAndroid=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _configPlugins=require("@expo/config-plugins");var _gradleHelpers=require("./utils/gradleHelpers");var _withAndroidModuleFiles=require("./withAndroidModuleFiles");var withBrownfieldAndroid=exports.withBrownfieldAndroid=function withBrownfieldAndroid(config,props){var androidConfig=props.android;config=(0,_configPlugins.withProjectBuildGradle)(config,function(gradleConfig){gradleConfig.modResults.contents=(0,_gradleHelpers.modifyRootBuildGradle)(gradleConfig.modResults.contents,{useLocalGradlePlugin:androidConfig.useLocalGradlePlugin});return gradleConfig;});config=(0,_configPlugins.withAppBuildGradle)(config,function(gradleConfig){gradleConfig.modResults.contents=(0,_gradleHelpers.modifyAppBuildGradleMissingDimensionStrategy)(gradleConfig.modResults.contents,androidConfig.missingDimensionStrategies);return gradleConfig;});config=(0,_configPlugins.withSettingsGradle)(config,function(settingsConfig){settingsConfig.modResults.contents=(0,_gradleHelpers.modifySettingsGradle)(settingsConfig.modResults.contents,androidConfig.moduleName,{useLocalGradlePlugin:androidConfig.useLocalGradlePlugin});return settingsConfig;});config=(0,_withAndroidModuleFiles.withAndroidModuleFiles)(config,props);config=(0,_configPlugins.withFinalizedMod)(config,['android',(function(){var _ref=(0,_asyncToGenerator2.default)(function*(finalizedConfig){(0,_withAndroidModuleFiles.syncAndroidModuleExpoUpdatesFromAppFiles)({androidDir:finalizedConfig.modRequest.platformProjectRoot,config:props});return finalizedConfig;});return function(_x){return _ref.apply(this,arguments);};}())]);return config;};
|
|
2
2
|
//# sourceMappingURL=withBrownfieldAndroid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_configPlugins","require","_gradleHelpers","_withAndroidModuleFiles","withBrownfieldAndroid","exports","config","props","androidConfig","android","withProjectBuildGradle","gradleConfig","modResults","contents","modifyRootBuildGradle","useLocalGradlePlugin","withSettingsGradle","settingsConfig","modifySettingsGradle","moduleName","withAndroidModuleFiles","withFinalizedMod","_ref","_asyncToGenerator2","default","finalizedConfig","syncAndroidModuleExpoUpdatesFromAppFiles","androidDir","modRequest","platformProjectRoot","_x","apply","arguments"],"sourceRoot":"../../../../src","sources":["expo-config-plugin/android/withBrownfieldAndroid.ts"],"mappings":"mRAAA,IAAAA,cAAA,CAAAC,OAAA,
|
|
1
|
+
{"version":3,"names":["_configPlugins","require","_gradleHelpers","_withAndroidModuleFiles","withBrownfieldAndroid","exports","config","props","androidConfig","android","withProjectBuildGradle","gradleConfig","modResults","contents","modifyRootBuildGradle","useLocalGradlePlugin","withAppBuildGradle","modifyAppBuildGradleMissingDimensionStrategy","missingDimensionStrategies","withSettingsGradle","settingsConfig","modifySettingsGradle","moduleName","withAndroidModuleFiles","withFinalizedMod","_ref","_asyncToGenerator2","default","finalizedConfig","syncAndroidModuleExpoUpdatesFromAppFiles","androidDir","modRequest","platformProjectRoot","_x","apply","arguments"],"sourceRoot":"../../../../src","sources":["expo-config-plugin/android/withBrownfieldAndroid.ts"],"mappings":"mRAAA,IAAAA,cAAA,CAAAC,OAAA,yBAQA,IAAAC,cAAA,CAAAD,OAAA,0BAKA,IAAAE,uBAAA,CAAAF,OAAA,6BAeO,GAAM,CAAAG,qBAEZ,CAAAC,OAAA,CAAAD,qBAAA,CAAG,QAFS,CAAAA,qBAEZA,CAAIE,MAAM,CAAEC,KAAK,CAAK,CACrB,GAAM,CAAAC,aAAa,CAAGD,KAAK,CAACE,OAAO,CAGnCH,MAAM,CAAG,GAAAI,qCAAsB,EAACJ,MAAM,CAAE,SAACK,YAAY,CAAK,CACxDA,YAAY,CAACC,UAAU,CAACC,QAAQ,CAAG,GAAAC,oCAAqB,EACtDH,YAAY,CAACC,UAAU,CAACC,QAAQ,CAChC,CAAEE,oBAAoB,CAAEP,aAAa,CAACO,oBAAqB,CAC7D,CAAC,CAED,MAAO,CAAAJ,YAAY,CACrB,CAAC,CAAC,CAGFL,MAAM,CAAG,GAAAU,iCAAkB,EAACV,MAAM,CAAE,SAACK,YAAY,CAAK,CACpDA,YAAY,CAACC,UAAU,CAACC,QAAQ,CAC9B,GAAAI,2DAA4C,EAC1CN,YAAY,CAACC,UAAU,CAACC,QAAQ,CAChCL,aAAa,CAACU,0BAChB,CAAC,CAEH,MAAO,CAAAP,YAAY,CACrB,CAAC,CAAC,CAGFL,MAAM,CAAG,GAAAa,iCAAkB,EAACb,MAAM,CAAE,SAACc,cAAc,CAAK,CACtDA,cAAc,CAACR,UAAU,CAACC,QAAQ,CAAG,GAAAQ,mCAAoB,EACvDD,cAAc,CAACR,UAAU,CAACC,QAAQ,CAClCL,aAAa,CAACc,UAAU,CACxB,CAAEP,oBAAoB,CAAEP,aAAa,CAACO,oBAAqB,CAC7D,CAAC,CAED,MAAO,CAAAK,cAAc,CACvB,CAAC,CAAC,CAGFd,MAAM,CAAG,GAAAiB,8CAAsB,EAACjB,MAAM,CAAEC,KAAK,CAAC,CAG9CD,MAAM,CAAG,GAAAkB,+BAAgB,EAAClB,MAAM,CAAE,CAChC,SAAS,iBAAAmB,IAAA,IAAAC,kBAAA,CAAAC,OAAA,EACT,UAAOC,eAAe,CAAK,CACzB,GAAAC,gEAAwC,EAAC,CACvCC,UAAU,CAAEF,eAAe,CAACG,UAAU,CAACC,mBAAmB,CAC1D1B,MAAM,CAAEC,KACV,CAAC,CAAC,CAEF,MAAO,CAAAqB,eAAe,CACxB,CAAC,kBAAAK,EAAA,SAAAR,IAAA,CAAAS,KAAA,MAAAC,SAAA,SACF,CAAC,CAEF,MAAO,CAAA7B,MAAM,CACf,CAAC","ignoreList":[]}
|
|
@@ -43,6 +43,10 @@ publishing {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
reactBrownfield {
|
|
47
|
+
missingDimensionStrategies = listOf({{MISSING_DIMENSION_STRATEGIES}})
|
|
48
|
+
}
|
|
49
|
+
|
|
46
50
|
react {
|
|
47
51
|
autolinkLibrariesWithApp()
|
|
48
52
|
}
|
|
@@ -69,6 +73,8 @@ android {
|
|
|
69
73
|
|
|
70
74
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
|
71
75
|
consumerProguardFiles("consumer-rules.pro")
|
|
76
|
+
|
|
77
|
+
{{MISSING_DIMENSION_STRATEGY_BLOCK}}
|
|
72
78
|
}
|
|
73
79
|
|
|
74
80
|
buildFeatures {
|
|
File without changes
|
|
@@ -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-
|
|
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-alpha07';var brownfieldGradlePluginDependency=exports.brownfieldGradlePluginDependency=`classpath("com.callstack.react:brownfield-gradle-plugin:${BROWNFIELD_PLUGIN_VERSION}")`;
|
|
2
2
|
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:true});exports.formatMissingDimensionStrategies=formatMissingDimensionStrategies;function formatMissingDimensionStrategies(missingDimensionStrategies){return missingDimensionStrategies.map(function(value){return JSON.stringify(value);}).join(', ');}
|
|
2
|
+
//# sourceMappingURL=formatHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["formatMissingDimensionStrategies","missingDimensionStrategies","map","value","JSON","stringify","join"],"sourceRoot":"../../../../../src","sources":["expo-config-plugin/android/utils/formatHelpers.ts"],"mappings":"mIAAO,QAAS,CAAAA,gCAAgCA,CAC9CC,0BAAoC,CAC5B,CACR,MAAO,CAAAA,0BAA0B,CAC9BC,GAAG,CAAC,SAACC,KAAK,QAAK,CAAAC,IAAI,CAACC,SAAS,CAACF,KAAK,CAAC,GAAC,CACrCG,IAAI,CAAC,IAAI,CAAC,CACf","ignoreList":[]}
|