Skip to content

Commit

Permalink
fix: use packageName instead of applicationId in gradle script (r…
Browse files Browse the repository at this point in the history
…eact-native-community#439)

* Use `packageName` instead of `applicationId`

* Use pre-parsed config for `packageName`

* Remove param `packageName`

Co-Authored-By: Michał Pierzchała <[email protected]>
  • Loading branch information
robertying and thymikee committed Jun 24, 2019
1 parent 0fcf6d3 commit 9a63f86
Showing 1 changed file with 6 additions and 10 deletions.
16 changes: 6 additions & 10 deletions packages/platform-android/native_modules.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ public class PackageList {
class ReactNativeModules {
private Logger logger
private Project project
private String packageName
private DefaultSettings defaultSettings
private ExtraPropertiesExtension extension
private ArrayList<HashMap<String, String>> reactNativeModules
Expand Down Expand Up @@ -136,16 +137,16 @@ class ReactNativeModules {
* @param outputDir
* @param generatedFileName
* @param generatedFileContentsTemplate
* @param applicationId
*/
void generatePackagesFile(File outputDir, String generatedFileName, String generatedFileContentsTemplate, String applicationId) {
void generatePackagesFile(File outputDir, String generatedFileName, String generatedFileContentsTemplate) {
ArrayList<HashMap<String, String>>[] packages = this.reactNativeModules
String packageName = this.packageName

String packageImports = ""
String packageClassInstances = ""

if (packages.size() > 0) {
packageImports = "import ${applicationId}.BuildConfig;\nimport ${applicationId}.R;\n\n"
packageImports = "import ${packageName}.BuildConfig;\nimport ${packageName}.R;\n\n"
packageImports = packageImports + packages.collect {
"// ${it.name}\n${it.packageImportPath}"
}.join('\n')
Expand Down Expand Up @@ -193,6 +194,7 @@ class ReactNativeModules {

def reactNativeConfigOutput = cmdProcess.in.text
def json = new JsonSlurper().parseText(reactNativeConfigOutput)
this.packageName = json["project"]["android"]["packageName"]
def dependencies = json["dependencies"]

dependencies.each { name, value ->
Expand Down Expand Up @@ -233,17 +235,11 @@ ext.applyNativeModulesSettingsGradle = { DefaultSettings defaultSettings ->
ext.applyNativeModulesAppBuildGradle = { Project project ->
autoModules.applyBuildGradle(project, ext)

def applicationId
def generatedSrcDir = new File(buildDir, "generated/rncli/src/main/java/com/facebook/react")

// TODO(salakar): not sure if this is the best way of getting the package name (used to import BuildConfig)
project.android.applicationVariants.all { variant ->
applicationId = [variant.mergedFlavor.applicationId, variant.buildType.applicationIdSuffix].findAll().join()
}

task generatePackageList {
doLast {
autoModules.generatePackagesFile(generatedSrcDir, generatedFileName, generatedFileContentsTemplate, applicationId)
autoModules.generatePackagesFile(generatedSrcDir, generatedFileName, generatedFileContentsTemplate)
}
}

Expand Down

0 comments on commit 9a63f86

Please sign in to comment.