Skip to content

Commit

Permalink
Move configureDevPorts inside AgpConfiguratorUtils and use finalizeDsl
Browse files Browse the repository at this point in the history
Summary:
This moves configureDevPorts inside AgpConfiguratorUtils, and makes it use
finalizeDsl. This removes a deprecated API `BaseVariant` which is causing a
build warning for all the users + it's a step towards making RNGP fully variant aware.

Changelog:
[Internal] [Changed] - Move configureDevPorts inside AgpConfiguratorUtils and use finalizeDsl

Reviewed By: cipolleschi

Differential Revision: D40139558

fbshipit-source-id: 1e5b8661b8d223a603f8ab5d160edd2133304d92
  • Loading branch information
cortinico authored and mohitcharkha committed Oct 17, 2022
1 parent 72d985d commit ee0b949
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 101 deletions.

This file was deleted.

Expand Up @@ -9,13 +9,13 @@ package com.facebook.react

import com.android.build.api.variant.AndroidComponentsExtension
import com.android.build.gradle.AppExtension
import com.android.build.gradle.BaseExtension
import com.android.build.gradle.LibraryExtension
import com.android.build.gradle.internal.tasks.factory.dependsOn
import com.facebook.react.tasks.BuildCodegenCLITask
import com.facebook.react.tasks.GenerateCodegenArtifactsTask
import com.facebook.react.tasks.GenerateCodegenSchemaTask
import com.facebook.react.utils.AgpConfiguratorUtils.configureBuildConfigFields
import com.facebook.react.utils.AgpConfiguratorUtils.configureDevPorts
import com.facebook.react.utils.JsonUtils
import com.facebook.react.utils.NdkConfiguratorUtils.configureReactNativeNdk
import com.facebook.react.utils.findPackageJsonFile
Expand Down Expand Up @@ -57,11 +57,9 @@ class ReactPlugin : Plugin<Project> {
private fun applyAppPlugin(project: Project, config: ReactExtension) {
configureReactNativeNdk(project, config)
configureBuildConfigFields(project)
configureDevPorts(project)
project.afterEvaluate {
if (config.applyAppPlugin.getOrElse(false)) {
val androidConfiguration = project.extensions.getByType(BaseExtension::class.java)
project.configureDevPorts(androidConfiguration)

val isAndroidLibrary = project.plugins.hasPlugin("com.android.library")
val variants =
if (isAndroidLibrary) {
Expand Down
Expand Up @@ -14,8 +14,9 @@ import org.gradle.api.Action
import org.gradle.api.Project
import org.gradle.api.plugins.AppliedPlugin

@Suppress("UnstableApiUsage")
internal object AgpConfiguratorUtils {
@Suppress("UnstableApiUsage")

fun configureBuildConfigFields(project: Project) {
val action =
Action<AppliedPlugin> {
Expand All @@ -29,4 +30,25 @@ internal object AgpConfiguratorUtils {
project.pluginManager.withPlugin("com.android.application", action)
project.pluginManager.withPlugin("com.android.library", action)
}

fun configureDevPorts(project: Project) {
val devServerPort =
project.properties["reactNativeDevServerPort"]?.toString() ?: DEFAULT_DEV_SERVER_PORT
val inspectorProxyPort =
project.properties["reactNativeInspectorProxyPort"]?.toString() ?: devServerPort

val action =
Action<AppliedPlugin> {
project.extensions.getByType(AndroidComponentsExtension::class.java).finalizeDsl { ext ->
ext.defaultConfig.resValue("integer", "react_native_dev_server_port", devServerPort)
ext.defaultConfig.resValue(
"integer", "react_native_inspector_proxy_port", inspectorProxyPort)
}
}

project.pluginManager.withPlugin("com.android.application", action)
project.pluginManager.withPlugin("com.android.library", action)
}
}

const val DEFAULT_DEV_SERVER_PORT = "8081"

This file was deleted.

0 comments on commit ee0b949

Please sign in to comment.