|
7 | 7 |
|
8 | 8 | package com.facebook.react
|
9 | 9 |
|
| 10 | +import com.android.build.api.dsl.ApplicationExtension |
10 | 11 | import com.android.build.api.variant.AndroidComponentsExtension
|
11 | 12 | import com.android.build.gradle.internal.tasks.factory.dependsOn
|
12 | 13 | import com.facebook.react.internal.PrivateReactExtension
|
@@ -81,6 +82,7 @@ class ReactPlugin : Plugin<Project> {
|
81 | 82 | }
|
82 | 83 | configureAutolinking(project, extension)
|
83 | 84 | configureCodegen(project, extension, rootExtension, isLibrary = false)
|
| 85 | + configureResources(project, extension) |
84 | 86 | }
|
85 | 87 |
|
86 | 88 | // Library Only Configuration
|
@@ -110,6 +112,17 @@ class ReactPlugin : Plugin<Project> {
|
110 | 112 | }
|
111 | 113 | }
|
112 | 114 |
|
| 115 | + /** This function configures Android resources - in this case just the bundle */ |
| 116 | + private fun configureResources(project: Project, reactExtension: ReactExtension) { |
| 117 | + if (!reactExtension.enableBundleCompression.get()) { |
| 118 | + // Bundle should not be compressed; add it to noCompress blacklist. |
| 119 | + val bundleFileName = reactExtension.bundleAssetName.get() |
| 120 | + val bundleFileExtension = bundleFileName.substringAfterLast('.', "") |
| 121 | + val android = project.extensions.getByType(ApplicationExtension::class.java) |
| 122 | + android.androidResources.noCompress.add(bundleFileExtension) |
| 123 | + } |
| 124 | + } |
| 125 | + |
113 | 126 | /** This function sets up `react-native-codegen` in our Gradle plugin. */
|
114 | 127 | @Suppress("UnstableApiUsage")
|
115 | 128 | private fun configureCodegen(
|
|
0 commit comments