Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use packageName instead of applicationId in gradle script #439

Merged
merged 3 commits into from
Jun 24, 2019
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 7 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,17 @@ class ReactNativeModules {
* @param outputDir
* @param generatedFileName
* @param generatedFileContentsTemplate
* @param applicationId
* @param packageName
robertying marked this conversation as resolved.
Show resolved Hide resolved
*/
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 +195,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 +236,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