nx-react-native-cli 1.0.9 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/lib/index.cjs +1 -1
  2. package/package.json +1 -1
  3. package/contents/.eslintrc.json +0 -293
  4. package/contents/.husky/pre-commit +0 -5
  5. package/contents/.husky/pre-push +0 -15
  6. package/contents/.nvmrc +0 -1
  7. package/contents/.prettierignore +0 -8
  8. package/contents/.prettierrc +0 -13
  9. package/contents/.ruby-version +0 -1
  10. package/contents/.vscode/extensions.json +0 -10
  11. package/contents/.vscode/settings.json +0 -18
  12. package/contents/apps/mobile/.env.template +0 -3
  13. package/contents/apps/mobile/.eslintrc.json +0 -34
  14. package/contents/apps/mobile/Gemfile +0 -11
  15. package/contents/apps/mobile/android/app/build.gradle +0 -164
  16. package/contents/apps/mobile/android/app/src/dev/res/values/strings.xml +0 -3
  17. package/contents/apps/mobile/android/app/src/production/res/values/strings.xml +0 -3
  18. package/contents/apps/mobile/android/build.gradle +0 -34
  19. package/contents/apps/mobile/babel.config.json +0 -14
  20. package/contents/apps/mobile/fastlane/.env.template +0 -24
  21. package/contents/apps/mobile/fastlane/Fastfile +0 -303
  22. package/contents/apps/mobile/fastlane/Matchfile +0 -5
  23. package/contents/apps/mobile/fastlane/Pluginfile +0 -6
  24. package/contents/apps/mobile/fastlane/README.md +0 -65
  25. package/contents/apps/mobile/package.json +0 -77
  26. package/contents/apps/mobile/project.json +0 -102
  27. package/contents/apps/mobile/src/app/index.tsx +0 -68
  28. package/contents/apps/mobile/src/components/atoms/BottomSheet/bottom-sheet.component.tsx +0 -145
  29. package/contents/apps/mobile/src/components/atoms/BottomSheet/index.ts +0 -1
  30. package/contents/apps/mobile/src/components/atoms/Button/button.component.tsx +0 -55
  31. package/contents/apps/mobile/src/components/atoms/Button/index.ts +0 -2
  32. package/contents/apps/mobile/src/components/atoms/Button/outlined-button.component.tsx +0 -59
  33. package/contents/apps/mobile/src/components/atoms/Divider/divider-component.tsx +0 -13
  34. package/contents/apps/mobile/src/components/atoms/Divider/index.ts +0 -1
  35. package/contents/apps/mobile/src/components/atoms/InputLayout/index.ts +0 -1
  36. package/contents/apps/mobile/src/components/atoms/InputLayout/input-layout.component.tsx +0 -34
  37. package/contents/apps/mobile/src/components/atoms/ListLoadingItem/index.ts +0 -1
  38. package/contents/apps/mobile/src/components/atoms/ListLoadingItem/list-loading-item.component.tsx +0 -56
  39. package/contents/apps/mobile/src/components/atoms/Modal/index.ts +0 -1
  40. package/contents/apps/mobile/src/components/atoms/Modal/modal.component.tsx +0 -58
  41. package/contents/apps/mobile/src/components/atoms/ScreenLoader/index.ts +0 -1
  42. package/contents/apps/mobile/src/components/atoms/ScreenLoader/screen-loader.component.tsx +0 -17
  43. package/contents/apps/mobile/src/components/atoms/Skeleton/index.ts +0 -1
  44. package/contents/apps/mobile/src/components/atoms/Skeleton/skeleton.component.tsx +0 -42
  45. package/contents/apps/mobile/src/components/atoms/Text/index.ts +0 -1
  46. package/contents/apps/mobile/src/components/atoms/Text/text.component.tsx +0 -23
  47. package/contents/apps/mobile/src/components/atoms/TextInput/constants.ts +0 -43
  48. package/contents/apps/mobile/src/components/atoms/TextInput/index.ts +0 -2
  49. package/contents/apps/mobile/src/components/atoms/TextInput/text-input.component.tsx +0 -137
  50. package/contents/apps/mobile/src/components/atoms/index.ts +0 -10
  51. package/contents/apps/mobile/src/components/index.ts +0 -3
  52. package/contents/apps/mobile/src/components/molecules/BackButton/back-button.component.tsx +0 -58
  53. package/contents/apps/mobile/src/components/molecules/BackButton/index.ts +0 -1
  54. package/contents/apps/mobile/src/components/molecules/BottomActionsContainer/BottomActionsContainer.component.tsx +0 -28
  55. package/contents/apps/mobile/src/components/molecules/BottomActionsContainer/index.ts +0 -1
  56. package/contents/apps/mobile/src/components/molecules/ScreenContainer/index.ts +0 -1
  57. package/contents/apps/mobile/src/components/molecules/ScreenContainer/screen-container.component.tsx +0 -100
  58. package/contents/apps/mobile/src/components/molecules/ScreenHeader/index.ts +0 -1
  59. package/contents/apps/mobile/src/components/molecules/ScreenHeader/screen-header.component.tsx +0 -71
  60. package/contents/apps/mobile/src/components/molecules/StorageManager/StorageManager.component.tsx +0 -18
  61. package/contents/apps/mobile/src/components/molecules/StorageManager/index.ts +0 -1
  62. package/contents/apps/mobile/src/components/molecules/index.ts +0 -5
  63. package/contents/apps/mobile/src/components/organisms/index.ts +0 -1
  64. package/contents/apps/mobile/src/config/index.ts +0 -13
  65. package/contents/apps/mobile/src/dimens/index.ts +0 -1
  66. package/contents/apps/mobile/src/env.d.ts +0 -17
  67. package/contents/apps/mobile/src/hooks/index.ts +0 -9
  68. package/contents/apps/mobile/src/hooks/useAppState.hook.tsx +0 -20
  69. package/contents/apps/mobile/src/hooks/useApplicationDimensions.hook.tsx +0 -10
  70. package/contents/apps/mobile/src/hooks/useDebounce.hook.ts +0 -11
  71. package/contents/apps/mobile/src/hooks/useGetLayoutHeight.hook.tsx +0 -27
  72. package/contents/apps/mobile/src/hooks/useGetLayoutWidth.hook.tsx +0 -27
  73. package/contents/apps/mobile/src/hooks/useNavigation.hook.tsx +0 -8
  74. package/contents/apps/mobile/src/hooks/useShakeAnimation.hook.tsx +0 -32
  75. package/contents/apps/mobile/src/hooks/useTextInputChangeFocus.hook.tsx +0 -12
  76. package/contents/apps/mobile/src/hooks/useThrottle.hook.ts +0 -11
  77. package/contents/apps/mobile/src/icons/arrow-left.svg +0 -3
  78. package/contents/apps/mobile/src/icons/checkbox-active.svg +0 -4
  79. package/contents/apps/mobile/src/icons/checkbox-unactive.svg +0 -4
  80. package/contents/apps/mobile/src/icons/close.svg +0 -3
  81. package/contents/apps/mobile/src/icons/download.svg +0 -4
  82. package/contents/apps/mobile/src/icons/email.svg +0 -10
  83. package/contents/apps/mobile/src/icons/eye-slash.svg +0 -11
  84. package/contents/apps/mobile/src/icons/eye.svg +0 -4
  85. package/contents/apps/mobile/src/icons/gear.svg +0 -4
  86. package/contents/apps/mobile/src/icons/home.svg +0 -3
  87. package/contents/apps/mobile/src/icons/index.ts +0 -33
  88. package/contents/apps/mobile/src/icons/pencil.svg +0 -3
  89. package/contents/apps/mobile/src/icons/phone.svg +0 -3
  90. package/contents/apps/mobile/src/icons/user-circle.svg +0 -3
  91. package/contents/apps/mobile/src/icons/user.svg +0 -4
  92. package/contents/apps/mobile/src/icons/warning.svg +0 -3
  93. package/contents/apps/mobile/src/main.tsx +0 -5
  94. package/contents/apps/mobile/src/routes/index.tsx +0 -65
  95. package/contents/apps/mobile/src/routes/privateRoutes.tsx +0 -32
  96. package/contents/apps/mobile/src/routes/publicRoutes.tsx +0 -26
  97. package/contents/apps/mobile/src/routes/routes.enum.ts +0 -5
  98. package/contents/apps/mobile/src/routes/screen-options.ts +0 -9
  99. package/contents/apps/mobile/src/routes/screens.enum.ts +0 -4
  100. package/contents/apps/mobile/src/screens/HomeScreen/home.screen.tsx +0 -12
  101. package/contents/apps/mobile/src/screens/LoginScreen/login.screen.tsx +0 -13
  102. package/contents/apps/mobile/src/stores/index.ts +0 -1
  103. package/contents/apps/mobile/src/stores/local-storage.store.ts +0 -60
  104. package/contents/apps/mobile/src/stores/mmkvStorage.ts +0 -19
  105. package/contents/apps/mobile/src/tailwind/index.ts +0 -24
  106. package/contents/apps/mobile/src/types/component.type.ts +0 -13
  107. package/contents/apps/mobile/src/types/index.ts +0 -1
  108. package/contents/apps/mobile/tailwind.config.js +0 -80
  109. package/contents/apps/mobile/tsconfig.app.json +0 -11
  110. package/contents/check-env.sh +0 -44
  111. package/contents/clean-generated-outputs.sh +0 -32
@@ -1,164 +0,0 @@
1
- apply plugin: "com.android.application"
2
- apply plugin: "com.facebook.react"
3
-
4
- /**
5
- * This is the configuration block to customize your React Native Android app.
6
- * By default you don't need to apply any configuration, just uncomment the lines you need.
7
- */
8
- react {
9
- /* Folders */
10
- // The root of your project, i.e. where "package.json" lives. Default is '..'
11
- // root = file("../")
12
- // The folder where the react-native NPM package is. Default is ../node_modules/react-native
13
- // reactNativeDir = file("../node_modules/react-native")
14
- // The folder where the react-native Codegen package is. Default is ../node_modules/@react-native/codegen
15
- // codegenDir = file("../node_modules/@react-native/codegen")
16
- // The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js
17
- // cliFile = file("../node_modules/react-native/cli.js")
18
-
19
- /* Variants */
20
- // The list of variants to that are debuggable. For those we're going to
21
- // skip the bundling of the JS bundle and the assets. By default is just 'debug'.
22
- // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants.
23
- // debuggableVariants = ["liteDebug", "prodDebug"]
24
-
25
- /* Bundling */
26
- // A list containing the node command and its flags. Default is just 'node'.
27
- // nodeExecutableAndArgs = ["node"]
28
- //
29
- // The command to run when bundling. By default is 'bundle'
30
- // bundleCommand = "ram-bundle"
31
- //
32
- // The path to the CLI configuration file. Default is empty.
33
- // bundleConfig = file(../rn-cli.config.js)
34
- //
35
- // The name of the generated asset file containing your JS bundle
36
- // bundleAssetName = "MyApplication.android.bundle"
37
- //
38
- // The entry file for bundle generation. Default is 'index.android.js' or 'index.js'
39
- // entryFile = file("../js/MyApplication.android.js")
40
- //
41
- // A list of extra flags to pass to the 'bundle' commands.
42
- // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle
43
- // extraPackagerArgs = []
44
-
45
- /* Hermes Commands */
46
- // The hermes compiler command to run. By default it is 'hermesc'
47
- // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc"
48
- //
49
- // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
50
- // hermesFlags = ["-O", "-output-source-map"]
51
- entryFile = file("../../src/main.tsx")
52
- }
53
-
54
- /**
55
- * Set this to true to Run Proguard on Release builds to minify the Java bytecode.
56
- */
57
- def enableProguardInReleaseBuilds = false
58
-
59
- /**
60
- * The preferred build flavor of JavaScriptCore (JSC)
61
- *
62
- * For example, to use the international variant, you can use:
63
- * `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
64
- *
65
- * The international variant includes ICU i18n library and necessary data
66
- * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
67
- * give correct results when using with locales other than en-US. Note that
68
- * this variant is about 6MiB larger per architecture than default.
69
- */
70
- def jscFlavor = 'org.webkit:android-jsc:+'
71
-
72
- android {
73
- ndkVersion rootProject.ext.ndkVersion
74
- compileSdkVersion rootProject.ext.compileSdkVersion
75
- namespace "com.appsmobile"
76
- flavorDimensions "default"
77
-
78
- defaultConfig {
79
- applicationId "com.appsmobile"
80
- minSdkVersion rootProject.ext.minSdkVersion
81
- targetSdkVersion rootProject.ext.targetSdkVersion
82
- versionCode 1
83
- versionName "1.0"
84
-
85
- testBuildType System.getProperty('testBuildType', 'debug')
86
- testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
87
-
88
- }
89
- signingConfigs {
90
- debug {
91
- storeFile file('dev.keystore')
92
- storePassword 'development'
93
- keyAlias 'dev'
94
- keyPassword 'development'
95
- }
96
- dev {
97
- storeFile file('dev.keystore')
98
- storePassword 'development'
99
- keyAlias 'dev'
100
- keyPassword 'development'
101
- }
102
- production {
103
- storeFile file('production.keystore')
104
- storePassword System.getenv("STORE_PASSWORD")
105
- keyAlias System.getenv("KEY_ALIAS")
106
- keyPassword System.getenv("KEY_PASSWORD")
107
- }
108
- }
109
-
110
- productFlavors {
111
- dev {
112
- minSdkVersion rootProject.ext.minSdkVersion
113
- applicationId "com.appsmobile"
114
- applicationIdSuffix ".dev"
115
- targetSdkVersion rootProject.ext.targetSdkVersion
116
- resValue "string", "build_config_package", "com.appsmobile.dev"
117
- signingConfig signingConfigs.dev
118
- }
119
- production {
120
- minSdkVersion rootProject.ext.minSdkVersion
121
- applicationId "com.appsmobile"
122
- targetSdkVersion rootProject.ext.targetSdkVersion
123
- resValue "string", "build_config_package", "com.appsmobile"
124
- signingConfig signingConfigs.production
125
- }
126
- }
127
-
128
- buildTypes {
129
- debug {
130
- }
131
- release {
132
- // Caution! In production, you need to generate your own keystore file.
133
- // see https://reactnative.dev/docs/signed-apk-android.
134
- minifyEnabled enableProguardInReleaseBuilds
135
- proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
136
-
137
- proguardFile "${rootProject.projectDir}/../node_modules/detox/android/detox/proguard-rules-app.pro"
138
-
139
- }
140
- }
141
- }
142
-
143
- dependencies {
144
-
145
- androidTestImplementation('com.wix:detox:+')
146
- implementation 'androidx.appcompat:appcompat:1.1.0'
147
-
148
- // The version of react-native is set by the React Native Gradle Plugin
149
- implementation("com.facebook.react:react-android")
150
-
151
- debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}")
152
- debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
153
- exclude group:'com.squareup.okhttp3', module:'okhttp'
154
- }
155
-
156
- debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}")
157
- if (hermesEnabled.toBoolean()) {
158
- implementation("com.facebook.react:hermes-android")
159
- } else {
160
- implementation jscFlavor
161
- }
162
- }
163
-
164
- apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
@@ -1,3 +0,0 @@
1
- <resources>
2
- <string name="app_name">AppsMobile - Dev</string>
3
- </resources>
@@ -1,3 +0,0 @@
1
- <resources>
2
- <string name="app_name">AppsMobile</string>
3
- </resources>
@@ -1,34 +0,0 @@
1
- // Top-level build file where you can add configuration options common to all sub-projects/modules.
2
-
3
- buildscript {
4
- ext {
5
- buildToolsVersion = "33.0.0"
6
- minSdkVersion = 24
7
- compileSdkVersion = 34
8
- targetSdkVersion = 34
9
- kotlinVersion = "1.8.20"
10
-
11
- // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
12
- ndkVersion = "23.1.7779620"
13
- }
14
- repositories {
15
- google()
16
- mavenCentral()
17
- }
18
- dependencies {
19
- classpath("com.android.tools.build:gradle")
20
- classpath("com.facebook.react:react-native-gradle-plugin")
21
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
22
- }
23
- }
24
-
25
- allprojects {
26
- repositories {
27
-
28
- maven {
29
- // https://wix.github.io/Detox/docs/introduction/project-setup
30
- url("$rootDir/../node_modules/detox/Detox-android")
31
- }
32
-
33
- }
34
- }
@@ -1,14 +0,0 @@
1
- {
2
- "presets": ["module:metro-react-native-babel-preset"],
3
- "plugins": [
4
- [
5
- "module:react-native-dotenv",
6
- {
7
- "envName": "ENVFILE",
8
- "moduleName": "@env",
9
- "path": ".env"
10
- }
11
- ],
12
- "react-native-reanimated/plugin"
13
- ]
14
- }
@@ -1,24 +0,0 @@
1
- # Fastlane ENV
2
- IS_CI=false
3
-
4
- # Firebase
5
- FASTLANE_FIREBASE_APP_ID=
6
- FASTLANE_FIREBASE_GROUP_TESTERS=
7
-
8
- # AppStore
9
- MATCH_PASSWORD=
10
- GITHUB_API_TOKEN=
11
- FASTLANE_APPSTORE_KEY_ID=
12
- FASTLANE_APPSTORE_ISSUER_ID=
13
- FASTLANE_APPSTORE_KEY_CONTENT=
14
- FASTLANE_APP_IDENTIFIER=
15
- FASTLANE_APP_IDENTIFIERS=
16
- FASTLANE_APPSTORE_EXTERNAL_DESTINATIONS=""
17
-
18
- # MISC
19
- FASTLANE_CHANGELOGS="Performance and Feature updates"
20
-
21
- # Android (Production ONLY)
22
- STORE_PASSWORD=
23
- KEY_PASSWORD=
24
- KEY_ALIAS=
@@ -1,303 +0,0 @@
1
-
2
- require 'fileutils'
3
-
4
- def app_name = ""
5
-
6
- def delete_gradle_temp()
7
- UI.message("Deleting Gradle Temp...")
8
- directory_path = '../android/.gradle'
9
- if Dir.exist?(directory_path)
10
- FileUtils.rm_rf(directory_path)
11
- UI.success("Successfully deleted Gradle Temp at '#{directory_path}'")
12
- else
13
- UI.message("Directory '#{directory_path}' does not exist.")
14
- end
15
- end
16
-
17
- def to_boolean(value)
18
- return true if value =~ /^(true|t|yes|y|1)$/i
19
- return false if value =~ /^(false|f|no|n|0)$/i
20
- return false if value.nil? || value == ''
21
- raise ArgumentError.new("Invalid value for boolean: #{value}")
22
- end
23
-
24
- def get_timestamp()
25
- build_number = Time.now.to_i
26
- UI.success("Using build number: #{build_number}")
27
- return build_number
28
- end
29
-
30
- def appstore_api_key()
31
- begin
32
- api_key = app_store_connect_api_key(
33
- key_id: ENV['FASTLANE_APPSTORE_KEY_ID'],
34
- issuer_id: ENV['FASTLANE_APPSTORE_ISSUER_ID'],
35
- key_content: ENV['FASTLANE_APPSTORE_KEY_CONTENT'],
36
- duration: 1200,
37
- in_house: false,
38
- )
39
- UI.success("Successfully connected to Appstore API Key: #{api_key}")
40
- rescue => exception
41
- UI.error(exception)
42
- end
43
- return api_key
44
- end
45
-
46
- def get_appstore_build_number(api_key)
47
- build_number = 1
48
- begin
49
- build_number = latest_testflight_build_number(
50
- api_key: api_key,
51
- app_identifier: ENV['FASTLANE_APP_IDENTIFIER'],
52
- ).to_i + 1
53
- UI.success("Successfully connected to Appstore TestFlight build_num: #{build_number}")
54
- rescue => exception
55
- UI.error(exception)
56
- end
57
- return build_number
58
- end
59
-
60
- def get_appstore_external_testers()
61
- external_destinations = (ENV['FASTLANE_APPSTORE_EXTERNAL_DESTINATIONS'] || "").split(',').map(&:strip)
62
- UI.message("External Testers Found: #{external_destinations}")
63
-
64
- return external_destinations
65
- end
66
-
67
- def get_certificates(api_key)
68
- begin
69
- # Get Signing Information (Ceritificates, Profiles, etc.)
70
- UI.message("Getting Signing Information...")
71
- match(
72
- api_key: api_key,
73
- app_identifier: ENV['FASTLANE_APP_IDENTIFIERS'],
74
- readonly: false,
75
- type: "development",
76
- verbose: true,
77
- force_for_new_devices: true,
78
- generate_apple_certs: false,
79
- )
80
- match(
81
- api_key: api_key,
82
- app_identifier: ENV['FASTLANE_APP_IDENTIFIERS'],
83
- readonly: false,
84
- type: "appstore",
85
- verbose: true,
86
- generate_apple_certs: false,
87
- )
88
- rescue => exception
89
- UI.error(exception)
90
- end
91
- end
92
-
93
- def setup_ios()
94
- skip_docs()
95
-
96
- #Setup CI
97
- UI.message("Setting up CI for match...")
98
- setup_ci()
99
-
100
- # Get Build Information
101
- UI.message("Getting AppStore Metadata...")
102
- api_key = appstore_api_key()
103
- build_number = get_appstore_build_number(api_key)
104
-
105
- increment_build_number(
106
- build_number: build_number.to_s,
107
- xcodeproj: "./ios/#{app_name}.xcodeproj",
108
- )
109
-
110
- # Get Signing Information (Ceritificates, Profiles, etc.)
111
- UI.message("Getting Signing Information...")
112
- get_certificates(api_key)
113
-
114
- return build_number
115
- end
116
-
117
- def setup_android()
118
- skip_docs()
119
-
120
- # Clean Gradle Temp
121
- delete_gradle_temp()
122
-
123
- # Get Build Information
124
- build_number = get_timestamp()
125
-
126
- # Build Android App
127
- UI.message("Cleaning build artifacts...")
128
- gradle(
129
- project_dir: './android',
130
- task: 'clean',
131
- )
132
-
133
- # Increment version code
134
- UI.message("Incrementing version code...")
135
- increment_version_code(
136
- gradle_file_path: "./android/app/build.gradle",
137
- version_code: build_number
138
- )
139
- end
140
-
141
- def ios_build_ipa(configuration, scheme)
142
- # Build iOS App
143
- UI.message("Building iOS app...")
144
- gym(
145
- clean: true,
146
- configuration: "#{configuration}",
147
- export_method: "app-store",
148
- output_directory: "./build",
149
- output_name: "#{app_name}-#{scheme}.ipa",
150
- scheme: "#{scheme}",
151
- workspace: "./ios/#{app_name}.xcworkspace",
152
- )
153
- end
154
-
155
- def upload_dysm(scheme, firebase_env = "Dev")
156
- # Upload dSYM to Crashlytics
157
- UI.message("Uploading dSYM to Firebase Crashlytics...")
158
- upload_symbols_to_crashlytics(
159
- binary_path: "./ios/Pods/FirebaseCrashlytics/upload-symbols",
160
- dsym_path: "./build/#{app_name}-#{scheme}.app.dSYM.zip",
161
- gsp_path: "./ios/Firebase/#{firebase_env}/GoogleService-Info.plist",
162
- )
163
- end
164
-
165
- def android_build_bundle(flavor)
166
- UI.message("Building app...")
167
- gradle(
168
- build_type: 'Release',
169
- flavor: flavor,
170
- project_dir: './android',
171
- task: 'bundle',
172
- )
173
- end
174
-
175
- def android_build_apk(flavor)
176
- UI.message("Building app...")
177
- gradle(
178
- build_type: 'Release',
179
- flavor: flavor,
180
- project_dir: './android',
181
- task: 'assemble',
182
- )
183
- end
184
-
185
- def publish_ipa(build_number, scheme)
186
- api_key = appstore_api_key()
187
-
188
- # Upload to App Store TestFlight
189
- UI.message("Uploading build to AppStore TestFlight...")
190
- external_destinations = get_appstore_external_testers()
191
-
192
- if external_destinations.length > 0
193
- UI.message("Distributing to external Testers: #{external_destinations}")
194
- upload_to_testflight(
195
- api_key: api_key,
196
- build_number: build_number.to_s,
197
- changelog: ENV["FASTLANE_CHANGELOGS"],
198
- distribute_external: true,
199
- distribute_only: false,
200
- ipa: "./build/#{app_name}-#{scheme}.ipa",
201
- groups: external_destinations,
202
- skip_waiting_for_build_processing: false,
203
- )
204
- else
205
- UI.message("No external testers to distribute to")
206
- upload_to_testflight(
207
- api_key: api_key,
208
- build_number: build_number.to_s,
209
- changelog: ENV["FASTLANE_CHANGELOGS"],
210
- ipa: "./build/#{app_name}-#{scheme}.ipa",
211
- skip_waiting_for_build_processing: true,
212
- )
213
- end
214
- end
215
-
216
- def publish_bundle(flavor)
217
- UI.message("Uploading aab build to Firebase...")
218
- release = firebase_app_distribution(
219
- service_credentials_file: to_boolean(ENV['IS_CI']) ? '/tmp/google-service-account-key.json' : nil,
220
- app: ENV['FASTLANE_FIREBASE_APP_ID'],
221
- android_artifact_type: "AAB",
222
- android_artifact_path: "./android/app/build/outputs/bundle/#{flavor}Release/app-#{flavor}-release.aab",
223
- release_notes: ENV["FASTLANE_CHANGELOGS"],
224
- groups: ENV["FASTLANE_FIREBASE_GROUP_TESTERS"]
225
- )
226
- end
227
-
228
- def publish_apk(flavor)
229
- UI.message("Uploading apk build to Firebase...")
230
- release = firebase_app_distribution(
231
- service_credentials_file: to_boolean(ENV['IS_CI']) ? '/tmp/google-service-account-key.json' : nil,
232
- app: ENV['FASTLANE_FIREBASE_APP_ID'],
233
- android_artifact_type: "APK",
234
- android_artifact_path: "./android/app/build/outputs/apk/#{flavor}/release/app-#{flavor}-release.apk",
235
- release_notes: ENV["FASTLANE_CHANGELOGS"],
236
- groups: ENV["FASTLANE_FIREBASE_GROUP_TESTERS"]
237
- )
238
- end
239
-
240
- platform :android do
241
- desc "Build Android (Dev Server)"
242
- lane :dev do
243
- begin
244
- flavor = 'dev'
245
- setup_android()
246
- android_build_apk(flavor)
247
- publish_apk(flavor)
248
- rescue => exception
249
- UI.error(exception)
250
- end
251
- end
252
-
253
- desc "Build Android (Production Server)"
254
- lane :prod do
255
- begin
256
- flavor = 'production'
257
- setup_android()
258
- android_build_bundle(flavor)
259
- publish_bundle(flavor)
260
- rescue => exception
261
- UI.error(exception)
262
- end
263
- end
264
- end
265
-
266
- platform :ios do
267
- lane :certificates do
268
- skip_docs()
269
-
270
- api_key = appstore_api_key()
271
-
272
- # Get Signing Information (Ceritificates, Profiles, etc.)
273
- UI.message("Getting Signing Information...")
274
- get_certificates(api_key)
275
- end
276
-
277
- desc "Build iOS (Dev Server)"
278
- lane :dev do
279
- begin
280
- build_number = setup_ios()
281
- ios_build_ipa("Dev.Release", "Dev")
282
- # (Optional) Uncomment if you want to upload dSYM to Firebase Crashlytics
283
- # upload_dysm("Dev", "Dev")
284
- publish_ipa(build_number, "Dev")
285
- rescue => exception
286
- UI.error(exception)
287
- end
288
- end
289
-
290
- desc "Build iOS (Production Server)"
291
- lane :prod do
292
- begin
293
- build_number = setup_ios()
294
- ios_build_ipa("Release", "Release")
295
- # (Optional) Uncomment if you want to upload dSYM to Firebase Crashlytics
296
- # upload_dysm("Release", "Prod")
297
- publish_ipa(build_number, "Release")
298
- rescue => exception
299
- UI.error(exception)
300
- end
301
- end
302
- end
303
-
@@ -1,5 +0,0 @@
1
- git_url("")
2
- git_branch("main")
3
- git_basic_authorization(ENV['GITHUB_API_TOKEN'])
4
- storage_mode("git")
5
- type("appstore")
@@ -1,6 +0,0 @@
1
- # Autogenerated by fastlane
2
- #
3
- # Ensure this file is checked in to source control!
4
-
5
- gem 'fastlane-plugin-increment_version_code'
6
- gem 'fastlane-plugin-firebase_app_distribution'
@@ -1,65 +0,0 @@
1
- ## fastlane documentation
2
-
3
- # Installation
4
-
5
- Make sure you have the latest version of the Xcode command line tools installed:
6
-
7
- ```sh
8
- xcode-select --install
9
- ```
10
-
11
- For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane)
12
-
13
- # Available Actions
14
-
15
- ## Android
16
-
17
- ### android dev
18
-
19
- ```sh
20
- [bundle exec] fastlane android dev
21
- ```
22
-
23
- Build Android (Dev Server)
24
-
25
- ### android prod
26
-
27
- ```sh
28
- [bundle exec] fastlane android prod
29
- ```
30
-
31
- Build Android (Production Server)
32
-
33
- ---
34
-
35
- ## iOS
36
-
37
- ### ios certificates
38
-
39
- ```sh
40
- [bundle exec] fastlane ios certificates
41
- ```
42
-
43
- ### ios dev
44
-
45
- ```sh
46
- [bundle exec] fastlane ios dev
47
- ```
48
-
49
- Build iOS (Dev Server)
50
-
51
- ### ios prod
52
-
53
- ```sh
54
- [bundle exec] fastlane ios prod
55
- ```
56
-
57
- Build iOS (Production Server)
58
-
59
- ---
60
-
61
- This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.
62
-
63
- More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools).
64
-
65
- The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).