@@ -6,64 +6,108 @@ platform :android do
66 # For android, you should setup signing for release builds.
77 # Currently, the default debug keystore is used.
88 desc 'Build the staging release APK.'
9- private_lane :build_staging do
9+ private_lane :build_staging_apk do
1010 gradle ( task : 'clean' , project_dir : 'android/' )
1111 gradle (
1212 project_dir : "android/" ,
1313 task : "assemble" ,
14+ flavor : "Development" ,
1415 build_type : "Release"
1516 )
16- end
17+ end
1718
1819 desc 'Build the production release APK.'
19- private_lane :build_production do
20+ private_lane :build_production_apk do
2021 gradle ( task : 'clean' , project_dir : 'android/' )
21- sh ( "npm" , "run" , "make-apk:productionRelease" )
22+ gradle (
23+ project_dir : "android/" ,
24+ task : "assemble" ,
25+ build_type : "Release"
26+ )
2227 end
2328
29+ desc 'Build the staging release bundle.'
30+ private_lane :build_staging_bundle do
31+ gradle ( task : 'clean' , project_dir : 'android/' )
32+ gradle (
33+ project_dir : "android/" ,
34+ task : "bundle" ,
35+ flavor : "Development" ,
36+ build_type : "Release"
37+ )
38+ end
39+
40+ desc 'Build the product release bundle.'
41+ private_lane :build_production_bundle do
42+ gradle ( task : 'clean' , project_dir : 'android/' )
43+ gradle (
44+ project_dir : "android/" ,
45+ task : "bundle" ,
46+ build_type : "Release"
47+ )
48+ end
49+
2450 desc 'Upload the release APK to App Center.'
25- private_lane :upload do |options |
51+ private_lane :upload_apk_app_center do |options |
2652 release_notes = options [ :notes ]
2753 appcenter_upload (
2854 api_token : ENV [ "APPCENTER_API_TOKEN" ] ,
2955 owner_name : ENV [ "APPCENTER_OWNER_NAME" ] ,
3056 app_name : ENV [ "APPCENTER_APP_NAME" ] ,
31- apk : "./android/app/build/outputs/apk/release/app-release.apk" ,
57+ file : "./android/app/build/outputs/apk/release/app-release.apk" ,
3258 notify_testers : ENV [ "NOTIFY_TESTERS" ] ,
3359 destinations : ENV [ "DESTINATIONS" ] ,
3460 release_notes : release_notes
3561 )
3662 end
3763
38- desc 'Build, deploy staging Android.'
39- lane :deploy_staging do
40- build_staging
41- upload
64+ desc 'Upload the release Bundle to App Center.'
65+ private_lane :upload_bundle_app_center do |options |
66+ release_notes = options [ :notes ]
67+ appcenter_upload (
68+ api_token : ENV [ "APPCENTER_API_TOKEN" ] ,
69+ owner_name : ENV [ "APPCENTER_OWNER_NAME" ] ,
70+ app_name : ENV [ "APPCENTER_APP_NAME" ] ,
71+ file : "./android/app/build/outputs/bundle/release/app-release.aab" ,
72+ notify_testers : ENV [ "NOTIFY_TESTERS" ] ,
73+ destinations : ENV [ "DESTINATIONS" ] ,
74+ release_notes : release_notes
75+ )
4276 end
4377
44- desc 'Build, deploy production Android.'
45- lane :deploy_production do
46- build_production
47- upload
78+ desc 'Upload the release Bundle to Google Play Console with Roll out in 50%.'
79+ private_lane :upload_bundle_play_console do
80+ upload_to_play_store (
81+ track : 'production' ,
82+ rollout : '0.5' ,
83+ aab : "./android/app/build/outputs/bundle/release/app-release.aab"
84+ )
4885 end
4986
50- desc 'Bump, badge, deploy staging Android.'
51- lane :bump_badge_deploy_staging do
87+ desc 'Bump badge and build staging Android APK .'
88+ lane :bump_badge_build_staging_apk do
5289 bump_badge
53- deploy_staging
90+ build_staging_apk
5491 end
5592
56- desc 'Bump, badge, build staging Android.'
57- lane :bump_badge_build_staging do
58- bump_badge
59- build_staging
93+ desc 'Build and deploy staging Android APK .'
94+ lane :deploy_staging do
95+ bump_badge_build_staging_apk
96+ upload_apk_app_center
6097 end
61-
62- desc 'Bump, badge, deploy production Android.'
63- lane :bump_badge_deploy_prod do
98+
99+ desc 'Bump badge and build production Bundle Android.'
100+ lane :bump_badge_build_production_bundle do
64101 bump_badge
65- deploy_production
102+ build_production_bundle
66103 end
104+
105+ desc 'Bump, build and deploy production Bundle Android.'
106+ lane :deploy_production do
107+ bump_badge_build_production_bundle
108+ upload_bundle_app_center
109+ end
110+
67111end
68112
69113# -------------iOS Sign, Build & Deploy-------------#
@@ -84,7 +128,7 @@ platform :ios do
84128 end
85129
86130 desc 'Build the staging release iOS application.'
87- private_lane :build_staging do
131+ private_lane :build_staging_apk do
88132 package = load_json ( json_path : "./package.json" )
89133 gym (
90134 scheme : "STAGING" ,
@@ -94,7 +138,7 @@ platform :ios do
94138 end
95139
96140 desc 'Build the production release iOS application.'
97- private_lane :build_production do
141+ private_lane :build_production_apk do
98142 package = load_json ( json_path : "./package.json" )
99143 gym (
100144 scheme : "PRODUCTION" ,
@@ -121,14 +165,14 @@ platform :ios do
121165 desc 'Sign, build, deploy staging iOS.'
122166 lane :deploy_staging do
123167 certificates
124- build_staging
168+ build_staging_apk
125169 upload
126170 end
127171
128172 desc 'Sign, build, deploy production iOS.'
129173 lane :deploy_production do
130174 certificates
131- build_production
175+ build_production_apk
132176 upload
133177 end
134178
0 commit comments