|
94 | 94 | #####################################################################################
|
95 | 95 | desc 'Updates the PlayStoreStrings.po files for WP + JP'
|
96 | 96 | lane :update_appstore_strings do |options|
|
97 |
| - update_wordpress_appstore_strings(options) |
98 |
| - update_jetpack_appstore_strings(options) |
99 |
| - end |
| 97 | + # If no `app:` is specified, call this for both WordPress and Jetpack |
| 98 | + apps = options[:app].nil? ? %i[wordpress jetpack] : Array(options[:app]&.downcase&.to_sym) |
100 | 99 |
|
101 |
| - ##################################################################################### |
102 |
| - # update_wordpress_appstore_strings |
103 |
| - # ----------------------------------------------------------------------------------- |
104 |
| - # This lane gets the data from the txt files in the `WordPress/metadata/` folder |
105 |
| - # and updates the `.po` file that is then picked by GlotPress for translations. |
106 |
| - # ----------------------------------------------------------------------------------- |
107 |
| - # Usage: |
108 |
| - # fastlane update_wordpress_appstore_strings [version:<version>] |
109 |
| - # |
110 |
| - # Example: |
111 |
| - # fastlane update_wordpress_appstore_strings version:10.3 |
112 |
| - ##################################################################################### |
113 |
| - desc 'Updates the PlayStoreStrings.po file for WordPress' |
114 |
| - lane :update_wordpress_appstore_strings do |options| |
115 |
| - metadata_folder = File.join(Dir.pwd, '..', 'WordPress', 'metadata') |
116 |
| - version = options.fetch(:version, android_get_app_version) |
| 100 | + apps.each do |app| |
| 101 | + app_values = APP_SPECIFIC_VALUES[app] |
117 | 102 |
|
118 |
| - # <key in po file> => <path to txt file to read the content from> |
119 |
| - files = { |
120 |
| - release_note: File.join(metadata_folder, 'release_notes.txt'), |
121 |
| - release_note_short: File.join(metadata_folder, 'release_notes_short.txt'), |
122 |
| - play_store_app_title: File.join(metadata_folder, 'title.txt'), |
123 |
| - play_store_promo: File.join(metadata_folder, 'short_description.txt'), |
124 |
| - play_store_desc: File.join(metadata_folder, 'full_description.txt') |
125 |
| - } |
126 |
| - files.merge!((1..9).map do |n| |
127 |
| - [:"play_store_screenshot_#{n}", File.join(metadata_folder, "screenshot_#{n}.txt")] |
128 |
| - end.to_h) |
129 |
| - |
130 |
| - update_po_file_for_metadata_localization( |
131 |
| - po_path: File.join(metadata_folder, 'PlayStoreStrings.po'), |
132 |
| - sources: files, |
133 |
| - release_version: version, |
134 |
| - commit_message: "Update WordPress `PlayStoreStrings.po` for version #{version}" |
135 |
| - ) |
136 |
| - end |
| 103 | + metadata_folder = File.join(PROJECT_ROOT_FOLDER, 'WordPress', app_values[:metadata_dir]) |
| 104 | + version = options.fetch(:version, android_get_app_version) |
137 | 105 |
|
138 |
| - ##################################################################################### |
139 |
| - # update_jetpack_appstore_strings |
140 |
| - # ----------------------------------------------------------------------------------- |
141 |
| - # This lane gets the data from the txt files in the `WordPress/jetpack_metadata/` folder |
142 |
| - # and updates the `.po` file that is then picked by GlotPress for translations. |
143 |
| - # ----------------------------------------------------------------------------------- |
144 |
| - # Usage: |
145 |
| - # fastlane update_jetpack_appstore_strings [version:<version>] |
146 |
| - # |
147 |
| - # Example: |
148 |
| - # fastlane update_jetpack_appstore_strings version:10.3 |
149 |
| - ##################################################################################### |
150 |
| - desc 'Updates the PlayStoreStrings.po file for Jetpack' |
151 |
| - lane :update_jetpack_appstore_strings do |options| |
152 |
| - metadata_folder = File.join(Dir.pwd, '..', 'WordPress', 'jetpack_metadata') |
153 |
| - version = options.fetch(:version, android_get_app_version) |
| 106 | + # <key in po file> => <path to txt file to read the content from> |
| 107 | + files = { |
| 108 | + release_note: File.join(metadata_folder, 'release_notes.txt'), |
| 109 | + release_note_short: File.join(metadata_folder, 'release_notes_short.txt'), |
| 110 | + play_store_app_title: File.join(metadata_folder, 'title.txt'), |
| 111 | + play_store_promo: File.join(metadata_folder, 'short_description.txt'), |
| 112 | + play_store_desc: File.join(metadata_folder, 'full_description.txt') |
| 113 | + } |
| 114 | + # Add entries for `screenshot_*.txt` files as well |
| 115 | + Dir.glob('screenshot_*.txt', base: metadata_folder).sort.each do |screenshot_file| |
| 116 | + key = "play_store_#{File.basename(screenshot_file, '.txt')}".to_sym |
| 117 | + files[key] = File.join(metadata_folder, screenshot_file) |
| 118 | + end |
154 | 119 |
|
155 |
| - files = { |
156 |
| - release_note: File.join(metadata_folder, 'release_notes.txt'), |
157 |
| - release_note_short: File.join(metadata_folder, 'release_notes_short.txt'), |
158 |
| - play_store_app_title: File.join(metadata_folder, 'title.txt'), |
159 |
| - play_store_promo: File.join(metadata_folder, 'short_description.txt'), |
160 |
| - play_store_desc: File.join(metadata_folder, 'full_description.txt') |
161 |
| - } |
162 |
| - |
163 |
| - update_po_file_for_metadata_localization( |
164 |
| - po_path: File.join(metadata_folder, 'PlayStoreStrings.po'), |
165 |
| - sources: files, |
166 |
| - release_version: version, |
167 |
| - commit_message: "Update Jetpack `PlayStoreStrings.po` for version #{version}" |
168 |
| - ) |
| 120 | + update_po_file_for_metadata_localization( |
| 121 | + po_path: File.join(metadata_folder, 'PlayStoreStrings.po'), |
| 122 | + sources: files, |
| 123 | + release_version: version, |
| 124 | + commit_message: "Update #{app_values[:display_name]} `PlayStoreStrings.po` for version #{version}" |
| 125 | + ) |
| 126 | + end |
169 | 127 | end
|
170 | 128 |
|
171 | 129 | # Updates the metadata in the Play Store (Main store listing) from the content of `fastlane/{metadata|jetpack_metadata}/android/*/*.txt` files
|
|
0 commit comments