Skip to content

Commit 4f050ef

Browse files
committed
refactor: move task dependency for JSBubndle to variant aware preBuild task
1 parent e9cc6cf commit 4f050ef

2 files changed

Lines changed: 14 additions & 3 deletions

File tree

gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,17 @@ object RNSourceSets {
109109

110110
project.tasks.named("preBuild").configure {
111111
/**
112-
* As part of the build task, we need to make sure the auto-gen files are present.
113-
* This makes sure that AutoLinking and ReactNativeEntryPoint are generated.
112+
* Ensure auto-generated sources are available before compilation.
113+
*
114+
* This hooks into the global `preBuild` task, so the dependency runs
115+
* regardless of build variant. Use this only when the generated sources
116+
* are identical for all variants (debug/release).
117+
*
118+
* If variant-specific
119+
* files are needed, prefer `preDebugBuild` / `preReleaseBuild` under
120+
* `VariantProcessor.processVariant`
114121
*/
115122
it.dependsOn("copyAutolinkingSources")
116-
it.dependsOn(":${appProject.name}:createBundleReleaseJsAndAssets")
117123
}
118124
}
119125
}

gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/VariantProcessor.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
package com.callstack.react.brownfield.processors
1212

1313
import com.android.build.gradle.api.LibraryVariant
14+
import com.android.build.gradle.internal.tasks.factory.dependsOn
1415
import com.callstack.react.brownfield.artifacts.ArtifactsResolver.Companion.ARTIFACT_TYPE_AAR
1516
import com.callstack.react.brownfield.artifacts.ArtifactsResolver.Companion.ARTIFACT_TYPE_JAR
1617
import com.callstack.react.brownfield.exceptions.TaskNotFound
@@ -54,6 +55,10 @@ class VariantProcessor(private val variant: LibraryVariant) : BaseProject() {
5455
throw TaskNotFound("Can not find $preBuildTaskPath task")
5556
}
5657

58+
if (upperCaseVariantName == "Release") {
59+
prepareTask.dependsOn(":app:createBundleReleaseJsAndAssets")
60+
}
61+
5762
val bundleTask = variantTaskProvider.bundleTaskProvider(project, variant.name)
5863
explodeArtifactFiles(artifacts, prepareTask, bundleTask)
5964
mergeClassesAndJars(bundleTask)

0 commit comments

Comments
 (0)