feat: configure Firebase and signing for multiple environments in mobile app
This commit is contained in:
141
build.gradle
Normal file
141
build.gradle
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
plugins {
|
||||||
|
id "com.android.application"
|
||||||
|
// START: FlutterFire Configuration
|
||||||
|
id 'com.google.gms.google-services'
|
||||||
|
id 'com.google.firebase.crashlytics'
|
||||||
|
// END: FlutterFire Configuration
|
||||||
|
id "kotlin-android"
|
||||||
|
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
|
||||||
|
id "dev.flutter.flutter-gradle-plugin"
|
||||||
|
}
|
||||||
|
|
||||||
|
android {
|
||||||
|
namespace = "com.example.troywallet"
|
||||||
|
compileSdk = 36
|
||||||
|
ndkVersion = "25.1.8937393"
|
||||||
|
//ndkVersion = flutter.ndkVersion
|
||||||
|
|
||||||
|
compileOptions {
|
||||||
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||||
|
targetCompatibility = JavaVersion.VERSION_1_8
|
||||||
|
coreLibraryDesugaringEnabled true
|
||||||
|
}
|
||||||
|
|
||||||
|
kotlinOptions {
|
||||||
|
jvmTarget = JavaVersion.VERSION_1_8
|
||||||
|
}
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
|
||||||
|
applicationId = "com.example.troywallet"
|
||||||
|
namespace("com.example.troywallet")
|
||||||
|
minSdk = 29
|
||||||
|
targetSdk = 35
|
||||||
|
versionCode = flutter.versionCode
|
||||||
|
versionName = flutter.versionName
|
||||||
|
multiDexEnabled true
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// KeyStore //////////////////////////////////////////////////
|
||||||
|
// - kast.keystore..alias android..pw=android..pw=android
|
||||||
|
def keystorePropertiesFileNameDev = 'kast_key_dev.properties'
|
||||||
|
def keystorePropertiesDev = new Properties()
|
||||||
|
keystorePropertiesDev.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameDev)))
|
||||||
|
|
||||||
|
def keystorePropertiesFileNameUat = 'kast_key_uat.properties'
|
||||||
|
def keystorePropertiesUat = new Properties()
|
||||||
|
keystorePropertiesUat.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameUat)))
|
||||||
|
|
||||||
|
def keystorePropertiesFileNameStaging = 'kast_key_staging.properties'
|
||||||
|
def keystorePropertiesStaging = new Properties()
|
||||||
|
keystorePropertiesStaging.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameStaging)))
|
||||||
|
|
||||||
|
def keystorePropertiesFileNameProd = 'kast_key_prod.properties'
|
||||||
|
def keystorePropertiesProd = new Properties()
|
||||||
|
keystorePropertiesProd.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameProd)))
|
||||||
|
|
||||||
|
|
||||||
|
signingConfigs {
|
||||||
|
configDev {
|
||||||
|
keyAlias keystorePropertiesDev['keyAlias']
|
||||||
|
keyPassword keystorePropertiesDev['keyPassword']
|
||||||
|
storeFile file('../kast_android_dev.jks') //keystorePropertiesSit['storeFile']
|
||||||
|
storePassword keystorePropertiesDev['storePassword']
|
||||||
|
}
|
||||||
|
configUat {
|
||||||
|
keyAlias keystorePropertiesUat['keyAlias']
|
||||||
|
keyPassword keystorePropertiesUat['keyPassword']
|
||||||
|
storeFile file('../kast_android_uat.jks') //keystorePropertiesPat['storeFile']
|
||||||
|
storePassword keystorePropertiesUat['storePassword']
|
||||||
|
}
|
||||||
|
|
||||||
|
configStaging {
|
||||||
|
keyAlias keystorePropertiesStaging['keyAlias']
|
||||||
|
keyPassword keystorePropertiesStaging['keyPassword']
|
||||||
|
storeFile file('../kast_android_staging.jks') //keystorePropertiesPat['storeFile']
|
||||||
|
storePassword keystorePropertiesStaging['storePassword']
|
||||||
|
}
|
||||||
|
configProd {
|
||||||
|
keyAlias keystorePropertiesProd['keyAlias']
|
||||||
|
keyPassword keystorePropertiesProd['keyPassword']
|
||||||
|
storeFile file('../kast_android_prod.jks')
|
||||||
|
storePassword keystorePropertiesProd['storePassword']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
flavorDimensions "default"
|
||||||
|
productFlavors {
|
||||||
|
dev {
|
||||||
|
dimension "default"
|
||||||
|
applicationId "dev.kastcard.com"
|
||||||
|
resValue "string", "app_name", "KAST DEV"
|
||||||
|
resValue "string", "deeplink_prefix", "/dls"
|
||||||
|
resValue "drawable", "ic_launcher", "@mipmap/ic_launcher_dev"
|
||||||
|
signingConfig signingConfigs.configDev
|
||||||
|
}
|
||||||
|
uat {
|
||||||
|
dimension "default"
|
||||||
|
applicationId "uat.kastcard.com"
|
||||||
|
resValue "string", "app_name", "KAST UAT"
|
||||||
|
resValue "string", "deeplink_prefix", "/dlp"
|
||||||
|
resValue "drawable", "ic_launcher", "@mipmap/ic_launcher_uat"
|
||||||
|
signingConfig signingConfigs.configUat
|
||||||
|
}
|
||||||
|
staging {
|
||||||
|
dimension "default"
|
||||||
|
applicationId "stg.kastcard.com"
|
||||||
|
resValue "string", "app_name", "KAST Staging"
|
||||||
|
resValue "string", "deeplink_prefix", "/dlp"
|
||||||
|
resValue "drawable", "ic_launcher", "@mipmap/ic_launcher_staging"
|
||||||
|
signingConfig signingConfigs.configStaging
|
||||||
|
}
|
||||||
|
prod {
|
||||||
|
dimension "default"
|
||||||
|
applicationId "com.kastfinance.app"
|
||||||
|
resValue "string", "app_name", "KAST"
|
||||||
|
resValue "string", "deeplink_prefix", "/dlp"
|
||||||
|
resValue "drawable", "ic_launcher", "@mipmap/ic_launcher_prod"
|
||||||
|
signingConfig signingConfigs.configProd
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
buildTypes {
|
||||||
|
release {
|
||||||
|
shrinkResources false
|
||||||
|
minifyEnabled false
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
flutter {
|
||||||
|
source = "../.."
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation "com.sumsub.sns:idensic-mobile-sdk-videoident:1.33.1"
|
||||||
|
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.2.2'
|
||||||
|
implementation(files("libs/mdisdk-release-1.2.54.aar"))
|
||||||
|
}
|
||||||
@@ -35,11 +35,47 @@ android {
|
|||||||
|
|
||||||
flavorDimensions "release-type"
|
flavorDimensions "release-type"
|
||||||
|
|
||||||
|
def keystorePropertiesFileNameDev = "key_dev.properties"
|
||||||
|
def keystorePropertiesDev = new Properties()
|
||||||
|
keystorePropertiesDev.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameDev)))
|
||||||
|
|
||||||
|
def keystorePropertiesFileNameStaging = "key_staging.properties"
|
||||||
|
def keystorePropertiesStaging = new Properties()
|
||||||
|
keystorePropertiesStaging.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameStaging)))
|
||||||
|
|
||||||
|
def keystorePropertiesFileNameProd = "key_prod.properties"
|
||||||
|
def keystorePropertiesProd = new Properties()
|
||||||
|
keystorePropertiesProd.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameProd)))
|
||||||
|
|
||||||
|
signingConfigs {
|
||||||
|
configDev {
|
||||||
|
keyAlias keystorePropertiesDev['keyAlias']
|
||||||
|
keyPassword keystorePropertiesDev['keyPassword']
|
||||||
|
storeFile file('../key_dev.jks')
|
||||||
|
storePassword keystorePropertiesDev['storePassword']
|
||||||
|
}
|
||||||
|
|
||||||
|
configStaging {
|
||||||
|
keyAlias keystorePropertiesStaging['keyAlias']
|
||||||
|
keyPassword keystorePropertiesStaging['keyPassword']
|
||||||
|
storeFile file('../key_staging.jks')
|
||||||
|
storePassword keystorePropertiesStaging['storePassword']
|
||||||
|
}
|
||||||
|
|
||||||
|
configProd {
|
||||||
|
keyAlias keystorePropertiesProd['keyAlias']
|
||||||
|
keyPassword keystorePropertiesProd['keyPassword']
|
||||||
|
storeFile file('../key_staging.jks')
|
||||||
|
storePassword keystorePropertiesProd['storePassword']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
productFlavors {
|
productFlavors {
|
||||||
dev {
|
dev {
|
||||||
dimension "release-type"
|
dimension "release-type"
|
||||||
applicationIdSuffix ".dev"
|
applicationIdSuffix ".dev"
|
||||||
versionNameSuffix "-dev"
|
versionNameSuffix "-dev"
|
||||||
|
signingConfig signingConfigs.configDev
|
||||||
manifestPlaceholders = [
|
manifestPlaceholders = [
|
||||||
appLabel: "Krow Business dev",
|
appLabel: "Krow Business dev",
|
||||||
appIcon: "@mipmap/ic_launcher_dev"
|
appIcon: "@mipmap/ic_launcher_dev"
|
||||||
@@ -50,6 +86,7 @@ android {
|
|||||||
dimension "release-type"
|
dimension "release-type"
|
||||||
applicationIdSuffix ".staging"
|
applicationIdSuffix ".staging"
|
||||||
versionNameSuffix "-staging"
|
versionNameSuffix "-staging"
|
||||||
|
signingConfig signingConfigs.configStaging
|
||||||
manifestPlaceholders = [
|
manifestPlaceholders = [
|
||||||
appLabel: "Krow Business staging",
|
appLabel: "Krow Business staging",
|
||||||
appIcon: "@mipmap/ic_launcher_dev"
|
appIcon: "@mipmap/ic_launcher_dev"
|
||||||
@@ -58,27 +95,13 @@ android {
|
|||||||
|
|
||||||
prod {
|
prod {
|
||||||
dimension "release-type"
|
dimension "release-type"
|
||||||
|
signingConfig signingConfigs.configProd
|
||||||
manifestPlaceholders = [
|
manifestPlaceholders = [
|
||||||
appLabel: "Krow Business",
|
appLabel: "Krow Business",
|
||||||
appIcon: "@mipmap/ic_launcher"
|
appIcon: "@mipmap/ic_launcher"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
signingConfigs {
|
|
||||||
release {
|
|
||||||
keyAlias = keystoreProperties['keyAliasClient']
|
|
||||||
keyPassword = keystoreProperties['keyPassword']
|
|
||||||
storeFile = keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
|
|
||||||
storePassword = keystoreProperties['storePassword']
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
buildTypes {
|
|
||||||
release {
|
|
||||||
signingConfig = signingConfigs.release
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
flutter {
|
flutter {
|
||||||
|
|||||||
4
mobile-apps/client-app/android/key_dev.properties
Normal file
4
mobile-apps/client-app/android/key_dev.properties
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
storePassword=krowdev
|
||||||
|
keyPassword=krowdev
|
||||||
|
keyAlias=staff-dev
|
||||||
|
storeFile=kast_android_dev.jks
|
||||||
4
mobile-apps/client-app/android/key_prod.properties
Normal file
4
mobile-apps/client-app/android/key_prod.properties
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
storePassword=krowstaging
|
||||||
|
keyPassword=krowstaging
|
||||||
|
keyAlias=staff-staging
|
||||||
|
storeFile=key_staging.jks
|
||||||
4
mobile-apps/client-app/android/key_staging.properties
Normal file
4
mobile-apps/client-app/android/key_staging.properties
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
storePassword=krowstaging
|
||||||
|
keyPassword=krowstaging
|
||||||
|
keyAlias=staff-staging
|
||||||
|
storeFile=key_staging.jks
|
||||||
@@ -1 +1,64 @@
|
|||||||
{"flutter":{"platforms":{"android":{"default":{"projectId":"krow-staging","appId":"1:14482748607:android:85b147490ff76b6924820a","fileOutput":"android/app/google-services.json"},"buildConfigurations":{"src/dev":{"projectId":"krow-workforce-dev","appId":"1:933560802882:android:edcddb83ea4bbb517757db","fileOutput":"android/app/src/dev/google-services.json"},"src/staging":{"projectId":"krow-workforce-staging","appId":"1:1032971403708:android:d35f6d13a9e03bcb356bb9","fileOutput":"android/app/src/staging/google-services.json"}}},"ios":{"default":{"projectId":"krow-staging","appId":"1:14482748607:ios:229a7ce2d64cb09f24820a","uploadDebugSymbols":false,"fileOutput":"ios/Runner/GoogleService-Info.plist"},"targets":{"Runner":{"projectId":"krow-workforce-staging","appId":"1:1032971403708:ios:b1a21a7337a268b3356bb9","uploadDebugSymbols":false,"fileOutput":"ios/flavors/staging/GoogleService-Info.plist"}}},"dart":{"lib/firebase_options.dart":{"projectId":"krow-staging","configurations":{"android":"1:14482748607:android:85b147490ff76b6924820a","ios":"1:14482748607:ios:229a7ce2d64cb09f24820a"}},"lib/firebase_options_dev.dart":{"projectId":"krow-workforce-dev","configurations":{"android":"1:933560802882:android:edcddb83ea4bbb517757db","ios":"1:933560802882:ios:7f0632ecbeff8f027757db"}},"lib/firebase_options_staging.dart":{"projectId":"krow-workforce-staging","configurations":{"android":"1:1032971403708:android:d35f6d13a9e03bcb356bb9","ios":"1:1032971403708:ios:b1a21a7337a268b3356bb9"}}}}}}
|
{
|
||||||
|
"flutter": {
|
||||||
|
"platforms": {
|
||||||
|
"android": {
|
||||||
|
"default": {
|
||||||
|
"projectId": "krow-staging",
|
||||||
|
"appId": "1:14482748607:android:85b147490ff76b6924820a",
|
||||||
|
"fileOutput": "android/app/google-services.json"
|
||||||
|
},
|
||||||
|
"buildConfigurations": {
|
||||||
|
"src/dev": {
|
||||||
|
"projectId": "krow-workforce-dev",
|
||||||
|
"appId": "1:933560802882:android:edcddb83ea4bbb517757db",
|
||||||
|
"fileOutput": "android/app/src/dev/google-services.json"
|
||||||
|
},
|
||||||
|
"src/staging": {
|
||||||
|
"projectId": "krow-workforce-staging",
|
||||||
|
"appId": "1:1032971403708:android:d35f6d13a9e03bcb356bb9",
|
||||||
|
"fileOutput": "android/app/src/staging/google-services.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ios": {
|
||||||
|
"default": {
|
||||||
|
"projectId": "krow-staging",
|
||||||
|
"appId": "1:14482748607:ios:229a7ce2d64cb09f24820a",
|
||||||
|
"uploadDebugSymbols": false,
|
||||||
|
"fileOutput": "ios/Runner/GoogleService-Info.plist"
|
||||||
|
},
|
||||||
|
"targets": {
|
||||||
|
"Runner": {
|
||||||
|
"projectId": "krow-workforce-staging",
|
||||||
|
"appId": "1:1032971403708:ios:b1a21a7337a268b3356bb9",
|
||||||
|
"uploadDebugSymbols": false,
|
||||||
|
"fileOutput": "ios/flavors/staging/GoogleService-Info.plist"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dart": {
|
||||||
|
"lib/firebase_options.dart": {
|
||||||
|
"projectId": "krow-staging",
|
||||||
|
"configurations": {
|
||||||
|
"android": "1:14482748607:android:85b147490ff76b6924820a",
|
||||||
|
"ios": "1:14482748607:ios:229a7ce2d64cb09f24820a"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lib/firebase_options_dev.dart": {
|
||||||
|
"projectId": "krow-workforce-dev",
|
||||||
|
"configurations": {
|
||||||
|
"android": "1:933560802882:android:edcddb83ea4bbb517757db",
|
||||||
|
"ios": "1:933560802882:ios:7f0632ecbeff8f027757db"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lib/firebase_options_staging.dart": {
|
||||||
|
"projectId": "krow-workforce-staging",
|
||||||
|
"configurations": {
|
||||||
|
"android": "1:1032971403708:android:d35f6d13a9e03bcb356bb9",
|
||||||
|
"ios": "1:1032971403708:ios:b1a21a7337a268b3356bb9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id "com.android.application"
|
id "com.android.application"
|
||||||
id 'com.google.gms.google-services'
|
id "com.google.gms.google-services"
|
||||||
id "kotlin-android"
|
id "kotlin-android"
|
||||||
id "dev.flutter.flutter-gradle-plugin"
|
id "dev.flutter.flutter-gradle-plugin"
|
||||||
}
|
}
|
||||||
|
|
||||||
def keystoreProperties = new Properties()
|
def keystoreProperties = new Properties()
|
||||||
def keystorePropertiesFile = rootProject.file('key.properties')
|
def keystorePropertiesFile = rootProject.file("key.properties")
|
||||||
if (keystorePropertiesFile.exists()) {
|
if (keystorePropertiesFile.exists()) {
|
||||||
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
||||||
}
|
}
|
||||||
@@ -33,13 +33,49 @@ android {
|
|||||||
versionName = flutter.versionName
|
versionName = flutter.versionName
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def keystorePropertiesFileNameDev = "key_dev.properties"
|
||||||
|
def keystorePropertiesDev = new Properties()
|
||||||
|
keystorePropertiesDev.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameDev)))
|
||||||
|
|
||||||
|
def keystorePropertiesFileNameStaging = "key_staging.properties"
|
||||||
|
def keystorePropertiesStaging = new Properties()
|
||||||
|
keystorePropertiesStaging.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameStaging)))
|
||||||
|
|
||||||
|
def keystorePropertiesFileNameProd = "key_prod.properties"
|
||||||
|
def keystorePropertiesProd = new Properties()
|
||||||
|
keystorePropertiesProd.load(new FileInputStream(rootProject.file(keystorePropertiesFileNameProd)))
|
||||||
|
|
||||||
flavorDimensions "release-type"
|
flavorDimensions "release-type"
|
||||||
|
|
||||||
|
signingConfigs {
|
||||||
|
configDev {
|
||||||
|
keyAlias keystorePropertiesDev['keyAlias']
|
||||||
|
keyPassword keystorePropertiesDev['keyPassword']
|
||||||
|
storeFile file('../key_dev.jks')
|
||||||
|
storePassword keystorePropertiesDev['storePassword']
|
||||||
|
}
|
||||||
|
|
||||||
|
configStaging {
|
||||||
|
keyAlias keystorePropertiesStaging['keyAlias']
|
||||||
|
keyPassword keystorePropertiesStaging['keyPassword']
|
||||||
|
storeFile file('../key_staging.jks')
|
||||||
|
storePassword keystorePropertiesStaging['storePassword']
|
||||||
|
}
|
||||||
|
|
||||||
|
configProd {
|
||||||
|
keyAlias keystorePropertiesProd['keyAlias']
|
||||||
|
keyPassword keystorePropertiesProd['keyPassword']
|
||||||
|
storeFile file('../key_staging.jks')
|
||||||
|
storePassword keystorePropertiesProd['storePassword']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
productFlavors {
|
productFlavors {
|
||||||
dev {
|
dev {
|
||||||
dimension "release-type"
|
dimension "release-type"
|
||||||
applicationIdSuffix ".dev"
|
applicationIdSuffix ".dev"
|
||||||
versionNameSuffix "-dev"
|
versionNameSuffix "-dev"
|
||||||
|
signingConfig signingConfigs.configDev
|
||||||
manifestPlaceholders = [
|
manifestPlaceholders = [
|
||||||
appLabel: "Krow Staff dev",
|
appLabel: "Krow Staff dev",
|
||||||
appIcon : "@mipmap/ic_launcher_dev"
|
appIcon : "@mipmap/ic_launcher_dev"
|
||||||
@@ -50,6 +86,7 @@ android {
|
|||||||
dimension "release-type"
|
dimension "release-type"
|
||||||
applicationIdSuffix ".staging"
|
applicationIdSuffix ".staging"
|
||||||
versionNameSuffix "-staging"
|
versionNameSuffix "-staging"
|
||||||
|
signingConfig signingConfigs.configStaging
|
||||||
manifestPlaceholders = [
|
manifestPlaceholders = [
|
||||||
appLabel: "Krow Staff staging",
|
appLabel: "Krow Staff staging",
|
||||||
appIcon : "@mipmap/ic_launcher_dev"
|
appIcon : "@mipmap/ic_launcher_dev"
|
||||||
@@ -58,27 +95,13 @@ android {
|
|||||||
|
|
||||||
prod {
|
prod {
|
||||||
dimension "release-type"
|
dimension "release-type"
|
||||||
|
signingConfig signingConfigs.configProd
|
||||||
manifestPlaceholders = [
|
manifestPlaceholders = [
|
||||||
appLabel: "Krow Staff",
|
appLabel: "Krow Staff",
|
||||||
appIcon : "@mipmap/ic_launcher"
|
appIcon : "@mipmap/ic_launcher"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
signingConfigs {
|
|
||||||
release {
|
|
||||||
keyAlias = keystoreProperties['keyAlias']
|
|
||||||
keyPassword = keystoreProperties['keyPassword']
|
|
||||||
storeFile = keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
|
|
||||||
storePassword = keystoreProperties['storePassword']
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
buildTypes {
|
|
||||||
release {
|
|
||||||
signingConfig = signingConfigs.release
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
flutter {
|
flutter {
|
||||||
|
|||||||
@@ -24,6 +24,25 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"client_info": {
|
||||||
|
"mobilesdk_app_id": "1:1032971403708:android:6e5031c203f01cc2356bb9",
|
||||||
|
"android_client_info": {
|
||||||
|
"package_name": "com.krow.app.staff.staging"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"oauth_client": [],
|
||||||
|
"api_key": [
|
||||||
|
{
|
||||||
|
"current_key": "AIzaSyAZ4dOatvf3ZBt4qnbSlIvJ51bblHaRsRw"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"services": {
|
||||||
|
"appinvite_service": {
|
||||||
|
"other_platform_oauth_client": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"client_info": {
|
"client_info": {
|
||||||
"mobilesdk_app_id": "1:1032971403708:android:87edb39679f806ab356bb9",
|
"mobilesdk_app_id": "1:1032971403708:android:87edb39679f806ab356bb9",
|
||||||
|
|||||||
4
mobile-apps/staff-app/android/key_dev.properties
Normal file
4
mobile-apps/staff-app/android/key_dev.properties
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
storePassword=krowdev
|
||||||
|
keyPassword=krowdev
|
||||||
|
keyAlias=staff-dev
|
||||||
|
storeFile=kast_android_dev.jks
|
||||||
4
mobile-apps/staff-app/android/key_prod.properties
Normal file
4
mobile-apps/staff-app/android/key_prod.properties
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
storePassword=krowstaging
|
||||||
|
keyPassword=krowstaging
|
||||||
|
keyAlias=staff-staging
|
||||||
|
storeFile=key_staging.jks
|
||||||
4
mobile-apps/staff-app/android/key_staging.properties
Normal file
4
mobile-apps/staff-app/android/key_staging.properties
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
storePassword=krowstaging
|
||||||
|
keyPassword=krowstaging
|
||||||
|
keyAlias=staff-staging
|
||||||
|
storeFile=key_staging.jks
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
#dart run build_runner build --delete-conflicting-outputs
|
#dart run build_runner build --delete-conflicting-outputs
|
||||||
#flutter build appbundle --flavor dev --target-platform android-arm,android-arm64,android-x64 -t lib/main_dev.dart
|
flutter build appbundle --flavor dev --target-platform android-arm,android-arm64,android-x64 -t lib/main_dev.dart
|
||||||
flutter build ipa --flavor dev -t lib/main_dev.dart
|
flutter build ipa --flavor dev -t lib/main_dev.dart
|
||||||
|
|
||||||
cd android
|
cd android
|
||||||
|
|||||||
@@ -1 +1,92 @@
|
|||||||
{"flutter":{"platforms":{"android":{"default":{"projectId":"krow-workforce-dev","appId":"1:933560802882:android:f4587798877cbb917757db","fileOutput":"android/app/google-services.json"},"buildConfigurations":{"src/dev":{"projectId":"krow-workforce-dev","appId":"1:933560802882:android:d49b8c0f4d19e95e7757db","fileOutput":"android/app/src/dev/google-services.json"},"src/staging":{"projectId":"krow-workforce-staging","appId":"1:1032971403708:android:87edb39679f806ab356bb9","fileOutput":"android/app/src/staging/google-services.json"},"src/prod":{"projectId":"krow-workforce-production","appId":"1:705380165824:android:e028f36e679701cbf1e525","fileOutput":"android/app/src/prod/google-services.json"}}},"ios":{"default":{"projectId":"krow-workforce-dev","appId":"1:933560802882:ios:07becdd41ac6ca627757db","uploadDebugSymbols":false,"fileOutput":"ios/Runner/GoogleService-Info.plist"},"buildConfigurations":{"Debug-dev":{"projectId":"krow-workforce-dev","appId":"1:933560802882:ios:7264452527da24537757db","uploadDebugSymbols":false,"fileOutput":"ios/flavors/dev/GoogleService-Info.plist"},"Profile-dev":{"projectId":"krow-workforce-dev","appId":"1:933560802882:ios:07becdd41ac6ca627757db","uploadDebugSymbols":false,"fileOutput":"ios/flavors/dev/GoogleService-Info.plist"},"Release-dev":{"projectId":"krow-workforce-dev","appId":"1:933560802882:ios:07becdd41ac6ca627757db","uploadDebugSymbols":false,"fileOutput":"ios/flavors/dev/GoogleService-Info.plist"},"Debug-staging":{"projectId":"krow-workforce-staging","appId":"1:1032971403708:ios:1d9b09307e6f3983356bb9","uploadDebugSymbols":false,"fileOutput":"ios/flavors/staging/GoogleService-Info.plist"},"Profile-staging":{"projectId":"krow-workforce-staging","appId":"1:1032971403708:ios:1d9b09307e6f3983356bb9","uploadDebugSymbols":false,"fileOutput":"ios/flavors/staging/GoogleService-Info.plist"},"Release-staging":{"projectId":"krow-workforce-staging","appId":"1:1032971403708:ios:1d9b09307e6f3983356bb9","uploadDebugSymbols":false,"fileOutput":"ios/flavors/staging/GoogleService-Info.plist"}}},"dart":{"lib/firebase_options_dev.dart":{"projectId":"krow-workforce-dev","configurations":{"android":"1:933560802882:android:d49b8c0f4d19e95e7757db","ios":"1:933560802882:ios:7264452527da24537757db"}},"lib/firebase_options_staging.dart":{"projectId":"krow-workforce-staging","configurations":{"android":"1:1032971403708:android:87edb39679f806ab356bb9","ios":"1:1032971403708:ios:1d9b09307e6f3983356bb9"}}}}}}
|
{
|
||||||
|
"flutter": {
|
||||||
|
"platforms": {
|
||||||
|
"android": {
|
||||||
|
"default": {
|
||||||
|
"projectId": "krow-workforce-dev",
|
||||||
|
"appId": "1:933560802882:android:f4587798877cbb917757db",
|
||||||
|
"fileOutput": "android/app/google-services.json"
|
||||||
|
},
|
||||||
|
"buildConfigurations": {
|
||||||
|
"src/dev": {
|
||||||
|
"projectId": "krow-workforce-dev",
|
||||||
|
"appId": "1:933560802882:android:d49b8c0f4d19e95e7757db",
|
||||||
|
"fileOutput": "android/app/src/dev/google-services.json"
|
||||||
|
},
|
||||||
|
"src/staging": {
|
||||||
|
"projectId": "krow-workforce-staging",
|
||||||
|
"appId": "1:1032971403708:android:6e5031c203f01cc2356bb9",
|
||||||
|
"fileOutput": "android/app/src/staging/google-services.json"
|
||||||
|
},
|
||||||
|
"src/prod": {
|
||||||
|
"projectId": "krow-workforce-production",
|
||||||
|
"appId": "1:705380165824:android:e028f36e679701cbf1e525",
|
||||||
|
"fileOutput": "android/app/src/prod/google-services.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ios": {
|
||||||
|
"default": {
|
||||||
|
"projectId": "krow-workforce-dev",
|
||||||
|
"appId": "1:933560802882:ios:7264452527da24537757db",
|
||||||
|
"uploadDebugSymbols": false,
|
||||||
|
"fileOutput": "ios/flavors/dev/GoogleService-Info.plist"
|
||||||
|
},
|
||||||
|
"buildConfigurations": {
|
||||||
|
"Debug-dev": {
|
||||||
|
"projectId": "krow-workforce-dev",
|
||||||
|
"appId": "1:933560802882:ios:7264452527da24537757db",
|
||||||
|
"uploadDebugSymbols": false,
|
||||||
|
"fileOutput": "ios/flavors/dev/GoogleService-Info.plist"
|
||||||
|
},
|
||||||
|
"Profile-dev": {
|
||||||
|
"projectId": "krow-workforce-dev",
|
||||||
|
"appId": "1:933560802882:ios:7264452527da24537757db",
|
||||||
|
"uploadDebugSymbols": false,
|
||||||
|
"fileOutput": "ios/flavors/dev/GoogleService-Info.plist"
|
||||||
|
},
|
||||||
|
"Release-dev": {
|
||||||
|
"projectId": "krow-workforce-dev",
|
||||||
|
"appId": "1:933560802882:ios:7264452527da24537757db",
|
||||||
|
"uploadDebugSymbols": false,
|
||||||
|
"fileOutput": "ios/flavors/dev/GoogleService-Info.plist"
|
||||||
|
},
|
||||||
|
"Debug-staging": {
|
||||||
|
"projectId": "krow-workforce-staging",
|
||||||
|
"appId": "1:1032971403708:ios:134753083678e855356bb9",
|
||||||
|
"uploadDebugSymbols": false,
|
||||||
|
"fileOutput": "ios/flavors/staging/GoogleService-Info.plist"
|
||||||
|
},
|
||||||
|
"Profile-staging": {
|
||||||
|
"projectId": "krow-workforce-staging",
|
||||||
|
"appId": "1:1032971403708:ios:134753083678e855356bb9",
|
||||||
|
"uploadDebugSymbols": false,
|
||||||
|
"fileOutput": "ios/flavors/staging/GoogleService-Info.plist"
|
||||||
|
},
|
||||||
|
"Release-staging": {
|
||||||
|
"projectId": "krow-workforce-staging",
|
||||||
|
"appId": "1:1032971403708:ios:134753083678e855356bb9",
|
||||||
|
"uploadDebugSymbols": false,
|
||||||
|
"fileOutput": "ios/flavors/staging/GoogleService-Info.plist"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dart": {
|
||||||
|
"lib/firebase_options_dev.dart": {
|
||||||
|
"projectId": "krow-workforce-dev",
|
||||||
|
"configurations": {
|
||||||
|
"android": "1:933560802882:android:d49b8c0f4d19e95e7757db",
|
||||||
|
"ios": "1:933560802882:ios:7264452527da24537757db"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lib/firebase_options_staging.dart": {
|
||||||
|
"projectId": "krow-workforce-staging",
|
||||||
|
"configurations": {
|
||||||
|
"android": "1:1032971403708:android:6e5031c203f01cc2356bb9",
|
||||||
|
"ios": "1:1032971403708:ios:134753083678e855356bb9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -249,7 +249,7 @@
|
|||||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
||||||
924B93AB74D97EF4B42824EC /* [CP] Embed Pods Frameworks */,
|
924B93AB74D97EF4B42824EC /* [CP] Embed Pods Frameworks */,
|
||||||
8A3E049698DB74713226DAC2 /* [CP] Copy Pods Resources */,
|
8A3E049698DB74713226DAC2 /* [CP] Copy Pods Resources */,
|
||||||
9FB2BFDDFD4635E632456623 /* FlutterFire: "flutterfire bundle-service-file" */,
|
2D4EFA6B14F5C6291F0C6FED /* FlutterFire: "flutterfire bundle-service-file" */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
@@ -322,6 +322,24 @@
|
|||||||
/* End PBXResourcesBuildPhase section */
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXShellScriptBuildPhase section */
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
|
2D4EFA6B14F5C6291F0C6FED /* FlutterFire: "flutterfire bundle-service-file" */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputFileListPaths = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "FlutterFire: \"flutterfire bundle-service-file\"";
|
||||||
|
outputFileListPaths = (
|
||||||
|
);
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "\n#!/bin/bash\nPATH=\"${PATH}:$FLUTTER_ROOT/bin:${PUB_CACHE}/bin:$HOME/.pub-cache/bin\"\nflutterfire bundle-service-file --plist-destination=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app\" --build-configuration=${CONFIGURATION} --platform=ios --apple-project-path=\"${SRCROOT}\"\n";
|
||||||
|
};
|
||||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
alwaysOutOfDate = 1;
|
alwaysOutOfDate = 1;
|
||||||
@@ -457,24 +475,6 @@
|
|||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n";
|
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n";
|
||||||
};
|
};
|
||||||
9FB2BFDDFD4635E632456623 /* FlutterFire: "flutterfire bundle-service-file" */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputFileListPaths = (
|
|
||||||
);
|
|
||||||
inputPaths = (
|
|
||||||
);
|
|
||||||
name = "FlutterFire: \"flutterfire bundle-service-file\"";
|
|
||||||
outputFileListPaths = (
|
|
||||||
);
|
|
||||||
outputPaths = (
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "\n#!/bin/bash\nPATH=\"${PATH}:$FLUTTER_ROOT/bin:${PUB_CACHE}/bin:$HOME/.pub-cache/bin\"\nflutterfire bundle-service-file --plist-destination=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app\" --build-configuration=${CONFIGURATION} --platform=ios --apple-project-path=\"${SRCROOT}\"\n";
|
|
||||||
};
|
|
||||||
/* End PBXShellScriptBuildPhase section */
|
/* End PBXShellScriptBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<key>PLIST_VERSION</key>
|
<key>PLIST_VERSION</key>
|
||||||
<string>1</string>
|
<string>1</string>
|
||||||
<key>BUNDLE_ID</key>
|
<key>BUNDLE_ID</key>
|
||||||
<string>com.krow.app.staging</string>
|
<string>com.krow.app.staff.staging</string>
|
||||||
<key>PROJECT_ID</key>
|
<key>PROJECT_ID</key>
|
||||||
<string>krow-workforce-staging</string>
|
<string>krow-workforce-staging</string>
|
||||||
<key>STORAGE_BUCKET</key>
|
<key>STORAGE_BUCKET</key>
|
||||||
@@ -25,6 +25,6 @@
|
|||||||
<key>IS_SIGNIN_ENABLED</key>
|
<key>IS_SIGNIN_ENABLED</key>
|
||||||
<true></true>
|
<true></true>
|
||||||
<key>GOOGLE_APP_ID</key>
|
<key>GOOGLE_APP_ID</key>
|
||||||
<string>1:1032971403708:ios:1d9b09307e6f3983356bb9</string>
|
<string>1:1032971403708:ios:134753083678e855356bb9</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
@@ -51,7 +51,7 @@ class DefaultFirebaseOptions {
|
|||||||
|
|
||||||
static const FirebaseOptions android = FirebaseOptions(
|
static const FirebaseOptions android = FirebaseOptions(
|
||||||
apiKey: 'AIzaSyAZ4dOatvf3ZBt4qnbSlIvJ51bblHaRsRw',
|
apiKey: 'AIzaSyAZ4dOatvf3ZBt4qnbSlIvJ51bblHaRsRw',
|
||||||
appId: '1:1032971403708:android:87edb39679f806ab356bb9',
|
appId: '1:1032971403708:android:6e5031c203f01cc2356bb9',
|
||||||
messagingSenderId: '1032971403708',
|
messagingSenderId: '1032971403708',
|
||||||
projectId: 'krow-workforce-staging',
|
projectId: 'krow-workforce-staging',
|
||||||
storageBucket: 'krow-workforce-staging.firebasestorage.app',
|
storageBucket: 'krow-workforce-staging.firebasestorage.app',
|
||||||
@@ -59,11 +59,11 @@ class DefaultFirebaseOptions {
|
|||||||
|
|
||||||
static const FirebaseOptions ios = FirebaseOptions(
|
static const FirebaseOptions ios = FirebaseOptions(
|
||||||
apiKey: 'AIzaSyCgTXI3QhbEK3r4J5y7ek_6AxqhmR99QjY',
|
apiKey: 'AIzaSyCgTXI3QhbEK3r4J5y7ek_6AxqhmR99QjY',
|
||||||
appId: '1:1032971403708:ios:1d9b09307e6f3983356bb9',
|
appId: '1:1032971403708:ios:134753083678e855356bb9',
|
||||||
messagingSenderId: '1032971403708',
|
messagingSenderId: '1032971403708',
|
||||||
projectId: 'krow-workforce-staging',
|
projectId: 'krow-workforce-staging',
|
||||||
storageBucket: 'krow-workforce-staging.firebasestorage.app',
|
storageBucket: 'krow-workforce-staging.firebasestorage.app',
|
||||||
iosBundleId: 'com.krow.app.staging',
|
iosBundleId: 'com.krow.app.staff.staging',
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user