diff --git a/package.json b/package.json index cfea54d9..396be3c4 100644 --- a/package.json +++ b/package.json @@ -88,8 +88,11 @@ "rnpm": { "android": { "buildPatch": " compile(project(':react-native-firebase')) {\n transitive = false\n }\n", - "packageImportPath": "import io.invertase.firebase.RNFirebasePackage;\nimport io.invertase.firebase.analytics.RNFirebaseAnalyticsPackage;", - "packageInstance": "new RNFirebasePackage(),\n new RNFirebaseAnalyticsPackage()" + "packageImportPath": "import io.invertase.firebase.RNFirebasePackage;", + "packageInstance": "new RNFirebasePackage()" + }, + "commands": { + "postlink": "node node_modules/react-native-firebase/scripts/rnpm-postlink" } } } diff --git a/scripts/rnpm-postlink.js b/scripts/rnpm-postlink.js new file mode 100644 index 00000000..048c7ac7 --- /dev/null +++ b/scripts/rnpm-postlink.js @@ -0,0 +1,26 @@ +const fs = require('fs'); +const path = require('path'); + +const appBuildGradlePath = path.join('android', 'app', 'build.gradle'); + +const defaultCompileStatement = "compile project(':react-native-firebase')"; +const requiredCompileStatement = "compile(project(':react-native-firebase')) {\n transitive = false\n }"; + +// android/build.gradle +// 1) TODO: Add Google Play maven repository + +// 2) TODO: Add google-services dependency if required + +// android/app/build.gradle +// 0) Load the file +let buildGradleContents = fs.readFileSync(appBuildGradlePath, 'utf8'); + +// 1) Check that react-native-firebase compile statement is the correct format +buildGradleContents = buildGradleContents.replace(defaultCompileStatement, requiredCompileStatement); + +// 2) TODO: Add firebase-core and play-services-base dependencies + +// 3) TODO: Add google-services plugin + +// 4) Write file +fs.writeFileSync(appBuildGradlePath, buildGradleContents);