From 2b48ea45260fd01f4c1b90dcff664fc2b267209d Mon Sep 17 00:00:00 2001 From: andrei-zgirvaci Date: Fri, 5 Dec 2025 13:02:22 +0100 Subject: [PATCH 1/7] feat: support non default variants # Conflicts: # gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/VariantProcessor.kt --- .../react/brownfield/plugin/RNSourceSets.kt | 26 +++++++++++-------- .../brownfield/processors/VariantProcessor.kt | 4 +-- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt index 69ca5c67..db48b1e7 100644 --- a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt +++ b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt @@ -44,18 +44,22 @@ object RNSourceSets { } private fun configureSourceSets() { - androidExtension.sourceSets.getByName("main") { sourceSet -> - for (bundlePathSegment in listOf( - // outputs for RN <= 0.81 - "createBundleReleaseJsAndAssets", - // outputs for RN >= 0.82 - "react/release", - )) { - sourceSet.assets.srcDirs("$appBuildDir/generated/assets/$bundlePathSegment") - sourceSet.res.srcDirs("$appBuildDir/generated/res/$bundlePathSegment") + project.extensions.getByType(LibraryExtension::class.java).libraryVariants.all { variant -> + val upperCaseVariantName = variant.name.replaceFirstChar(Char::titlecase) + + androidExtension.sourceSets.getByName("main") { sourceSet -> + for (bundlePathSegment in listOf( + // outputs for RN <= 0.81 + "createBundle${upperCaseVariantName}JsAndAssets", + // outputs for RN >= 0.82 + "react/release", + )) { + sourceSet.assets.srcDirs("$appBuildDir/generated/assets/$bundlePathSegment") + sourceSet.res.srcDirs("$appBuildDir/generated/res/$bundlePathSegment") + } + + sourceSet.java.srcDirs("$moduleBuildDir/generated/autolinking/src/main/java") } - - sourceSet.java.srcDirs("$moduleBuildDir/generated/autolinking/src/main/java") } androidExtension.sourceSets.getByName("release") { diff --git a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/VariantProcessor.kt b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/VariantProcessor.kt index 704887e0..418dd6dc 100644 --- a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/VariantProcessor.kt +++ b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/VariantProcessor.kt @@ -55,8 +55,8 @@ class VariantProcessor(private val variant: LibraryVariant) : BaseProject() { throw TaskNotFound("Can not find $preBuildTaskPath task") } - if (capitalizedVariantName == "Release") { - prepareTask.dependsOn(":app:createBundleReleaseJsAndAssets") + if (capitalizedVariantName.contains("Release")) { + prepareTask.dependsOn(":app:createBundle${upperCaseVariantName}JsAndAssets") } val bundleTask = variantTaskProvider.bundleTaskProvider(project, variant.name) From db610e4d2d66299216307b8a9ce0ce9a281e37f4 Mon Sep 17 00:00:00 2001 From: andrei-zgirvaci Date: Mon, 8 Dec 2025 10:16:30 +0100 Subject: [PATCH 2/7] feat: set source assets for only release variants --- .../react/brownfield/plugin/RNSourceSets.kt | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt index db48b1e7..304db1b9 100644 --- a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt +++ b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt @@ -47,18 +47,20 @@ object RNSourceSets { project.extensions.getByType(LibraryExtension::class.java).libraryVariants.all { variant -> val upperCaseVariantName = variant.name.replaceFirstChar(Char::titlecase) - androidExtension.sourceSets.getByName("main") { sourceSet -> - for (bundlePathSegment in listOf( - // outputs for RN <= 0.81 - "createBundle${upperCaseVariantName}JsAndAssets", - // outputs for RN >= 0.82 - "react/release", - )) { - sourceSet.assets.srcDirs("$appBuildDir/generated/assets/$bundlePathSegment") - sourceSet.res.srcDirs("$appBuildDir/generated/res/$bundlePathSegment") + if (upperCaseVariantName.contains("Release")) { + androidExtension.sourceSets.getByName("main") { sourceSet -> + for (bundlePathSegment in listOf( + // outputs for RN <= 0.81 + "createBundle${upperCaseVariantName}JsAndAssets", + // outputs for RN >= 0.82 + "react/release", + )) { + sourceSet.assets.srcDirs("$appBuildDir/generated/assets/$bundlePathSegment") + sourceSet.res.srcDirs("$appBuildDir/generated/res/$bundlePathSegment") + } + + sourceSet.java.srcDirs("$moduleBuildDir/generated/autolinking/src/main/java") } - - sourceSet.java.srcDirs("$moduleBuildDir/generated/autolinking/src/main/java") } } From 5443bff7c31e161fa59fd50d054bc33ea4b2e1e1 Mon Sep 17 00:00:00 2001 From: andrei-zgirvaci Date: Mon, 8 Dec 2025 11:10:28 +0100 Subject: [PATCH 3/7] fix: if declaration order --- .../com/callstack/react/brownfield/plugin/RNSourceSets.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt index 304db1b9..1dd4b5b9 100644 --- a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt +++ b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt @@ -47,8 +47,8 @@ object RNSourceSets { project.extensions.getByType(LibraryExtension::class.java).libraryVariants.all { variant -> val upperCaseVariantName = variant.name.replaceFirstChar(Char::titlecase) - if (upperCaseVariantName.contains("Release")) { - androidExtension.sourceSets.getByName("main") { sourceSet -> + androidExtension.sourceSets.getByName("main") { sourceSet -> + if (upperCaseVariantName.contains("Release")) { for (bundlePathSegment in listOf( // outputs for RN <= 0.81 "createBundle${upperCaseVariantName}JsAndAssets", @@ -58,9 +58,9 @@ object RNSourceSets { sourceSet.assets.srcDirs("$appBuildDir/generated/assets/$bundlePathSegment") sourceSet.res.srcDirs("$appBuildDir/generated/res/$bundlePathSegment") } - - sourceSet.java.srcDirs("$moduleBuildDir/generated/autolinking/src/main/java") } + + sourceSet.java.srcDirs("$moduleBuildDir/generated/autolinking/src/main/java") } } From 4567e1174ef2d783ba4520f0655500585ca4625f Mon Sep 17 00:00:00 2001 From: andrei-zgirvaci Date: Mon, 8 Dec 2025 11:27:26 +0100 Subject: [PATCH 4/7] Revert "fix: if declaration order" This reverts commit 70224010cb8409ede700623deb0849e44fb0e843. --- .../com/callstack/react/brownfield/plugin/RNSourceSets.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt index 1dd4b5b9..304db1b9 100644 --- a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt +++ b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt @@ -47,8 +47,8 @@ object RNSourceSets { project.extensions.getByType(LibraryExtension::class.java).libraryVariants.all { variant -> val upperCaseVariantName = variant.name.replaceFirstChar(Char::titlecase) - androidExtension.sourceSets.getByName("main") { sourceSet -> - if (upperCaseVariantName.contains("Release")) { + if (upperCaseVariantName.contains("Release")) { + androidExtension.sourceSets.getByName("main") { sourceSet -> for (bundlePathSegment in listOf( // outputs for RN <= 0.81 "createBundle${upperCaseVariantName}JsAndAssets", @@ -58,9 +58,9 @@ object RNSourceSets { sourceSet.assets.srcDirs("$appBuildDir/generated/assets/$bundlePathSegment") sourceSet.res.srcDirs("$appBuildDir/generated/res/$bundlePathSegment") } - } - sourceSet.java.srcDirs("$moduleBuildDir/generated/autolinking/src/main/java") + sourceSet.java.srcDirs("$moduleBuildDir/generated/autolinking/src/main/java") + } } } From c7d05c5d2e41b7c7ba46aa1690e2264311887d1f Mon Sep 17 00:00:00 2001 From: andrei-zgirvaci Date: Mon, 8 Dec 2025 11:28:38 +0100 Subject: [PATCH 5/7] Revert "feat: set source assets for only release variants" This reverts commit 8ea4c8d0ae6318cf4631e72d1e4074b575cbdde5. --- .../react/brownfield/plugin/RNSourceSets.kt | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt index 304db1b9..db48b1e7 100644 --- a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt +++ b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt @@ -47,20 +47,18 @@ object RNSourceSets { project.extensions.getByType(LibraryExtension::class.java).libraryVariants.all { variant -> val upperCaseVariantName = variant.name.replaceFirstChar(Char::titlecase) - if (upperCaseVariantName.contains("Release")) { - androidExtension.sourceSets.getByName("main") { sourceSet -> - for (bundlePathSegment in listOf( - // outputs for RN <= 0.81 - "createBundle${upperCaseVariantName}JsAndAssets", - // outputs for RN >= 0.82 - "react/release", - )) { - sourceSet.assets.srcDirs("$appBuildDir/generated/assets/$bundlePathSegment") - sourceSet.res.srcDirs("$appBuildDir/generated/res/$bundlePathSegment") - } - - sourceSet.java.srcDirs("$moduleBuildDir/generated/autolinking/src/main/java") + androidExtension.sourceSets.getByName("main") { sourceSet -> + for (bundlePathSegment in listOf( + // outputs for RN <= 0.81 + "createBundle${upperCaseVariantName}JsAndAssets", + // outputs for RN >= 0.82 + "react/release", + )) { + sourceSet.assets.srcDirs("$appBuildDir/generated/assets/$bundlePathSegment") + sourceSet.res.srcDirs("$appBuildDir/generated/res/$bundlePathSegment") } + + sourceSet.java.srcDirs("$moduleBuildDir/generated/autolinking/src/main/java") } } From fa9289b97505c0ab4d3d4bb90c4fd1b2b8d9a537 Mon Sep 17 00:00:00 2001 From: andrei-zgirvaci Date: Mon, 8 Dec 2025 13:06:15 +0100 Subject: [PATCH 6/7] fix: rebase conflicts --- .../com/callstack/react/brownfield/plugin/RNSourceSets.kt | 4 ++-- .../callstack/react/brownfield/processors/VariantProcessor.kt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt index db48b1e7..33ef4475 100644 --- a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt +++ b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt @@ -45,12 +45,12 @@ object RNSourceSets { private fun configureSourceSets() { project.extensions.getByType(LibraryExtension::class.java).libraryVariants.all { variant -> - val upperCaseVariantName = variant.name.replaceFirstChar(Char::titlecase) + val capitalizedVariantName = variant.name.replaceFirstChar(Char::titlecase) androidExtension.sourceSets.getByName("main") { sourceSet -> for (bundlePathSegment in listOf( // outputs for RN <= 0.81 - "createBundle${upperCaseVariantName}JsAndAssets", + "createBundle${capitalizedVariantName}JsAndAssets", // outputs for RN >= 0.82 "react/release", )) { diff --git a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/VariantProcessor.kt b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/VariantProcessor.kt index 418dd6dc..5b57e990 100644 --- a/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/VariantProcessor.kt +++ b/gradle-plugins/react/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/VariantProcessor.kt @@ -56,7 +56,7 @@ class VariantProcessor(private val variant: LibraryVariant) : BaseProject() { } if (capitalizedVariantName.contains("Release")) { - prepareTask.dependsOn(":app:createBundle${upperCaseVariantName}JsAndAssets") + prepareTask.dependsOn(":app:createBundle${capitalizedVariantName}JsAndAssets") } val bundleTask = variantTaskProvider.bundleTaskProvider(project, variant.name) From 41462064e3f1e4b1a684c81b544069b2e1e0c1f2 Mon Sep 17 00:00:00 2001 From: andrei-zgirvaci Date: Mon, 8 Dec 2025 13:13:11 +0100 Subject: [PATCH 7/7] feat: ignore gpg --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index ea5f60a2..3a5e3558 100644 --- a/.gitignore +++ b/.gitignore @@ -80,3 +80,4 @@ example/.yarn/* # generated by bob lib/ +secring.gpg