fastlane-plugin-ovo_poeditor 1.1.0 → 1.2.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 051422ad4d30b1f8154f475883f0665e01e1db9a9f6fed969c003023e38b9e24
4
- data.tar.gz: c9798a6ee87e8fa1b43a033ae28e600b9c486afd8c2d7acaf3353db909c0b206
3
+ metadata.gz: 4a6b97335c1077586b4617d579b464f8bc8134dd21d81eae54e9c3e8561513c6
4
+ data.tar.gz: ac35af035115242393ae1bd18e1ed7e1d5e92621470736a880b28dee4a96ae33
5
5
  SHA512:
6
- metadata.gz: b2b34ca78e6c43ffc5e3d0e078d7c76165fb6611a9f347c2730f07fbbf322a514e49ed7c0f6221276664ad511a2898e1f56b5c1d4cb462085b0edf8b2e960b15
7
- data.tar.gz: 0ec29fa34adfc6158442837519c01f0c5e715499d081a7b65b508fbeaa575ee2ac53d324ef26a02a02cc5cc02a2bd056a60855d10d3a9685ed97b6ce7635e408
6
+ metadata.gz: 94bf45f0d99fdd8e8656da176fe21d60738ea575347cbd5fdd2f8377b11e38b10bef638b8b80ee391532453134d786f0970e773ba9bd573971cb0106d668624a
7
+ data.tar.gz: 12f2c5c367e245ae76cb1d74a133523c395823ea3a822eea90fbaffe7e5ed0ede3529e61995a581e1869bd7f7f7da1848dcb8b9fa263c71c6479fb2e11461a8f
@@ -14,6 +14,7 @@ module Fastlane
14
14
  default_language = params[:default_language]
15
15
  language_map = params[:language_map]
16
16
  unquoted_strings = params[:unquoted_strings]
17
+ bypass_default_language = params[:bypass_default_language]
17
18
 
18
19
  Helper::OvoPoeditorHelper.sync_strings(
19
20
  api_token: api_token,
@@ -24,7 +25,8 @@ module Fastlane
24
25
  file_name: file_name,
25
26
  default_language: default_language,
26
27
  language_map: language_map,
27
- unquoted_strings: unquoted_strings
28
+ unquoted_strings: unquoted_strings,
29
+ bypass_default_language: bypass_default_language
28
30
  )
29
31
  end
30
32
 
@@ -33,16 +35,14 @@ module Fastlane
33
35
  end
34
36
 
35
37
  def self.authors
36
- ['Alessio Arsuffi']
38
+ ['Alessio Arsuffi', 'Christian Borsato']
37
39
  end
38
40
 
39
41
  def self.return_value
40
- # If your method provides a return value, you can describe here what it does
41
42
  'Return a file with all POEditor terms'
42
43
  end
43
44
 
44
45
  def self.details
45
- # Optional:
46
46
  'Fetch latest POEditor terms and download them as .strings/.xml/.xcstrings file'
47
47
  end
48
48
 
@@ -93,26 +93,34 @@ module Fastlane
93
93
  FastlaneCore::ConfigItem.new(
94
94
  key: :default_language,
95
95
  env_name: 'POEDITOR_DEFAULT_LANGUAGE',
96
- description: 'Default/fallback language code for the project',
96
+ description: 'Optional. Default/fallback language code for the project',
97
97
  optional: true,
98
98
  type: String
99
99
  ),
100
100
  FastlaneCore::ConfigItem.new(
101
101
  key: :language_map,
102
- description: 'Map POEditor language codes to platform-specific folder names',
102
+ description: 'Optional. Map POEditor language codes to platform-specific folder names',
103
103
  optional: true,
104
104
  type: Hash
105
105
  ),
106
106
  FastlaneCore::ConfigItem.new(
107
107
  key: :unquoted_strings,
108
108
  env_name: 'POEDITOR_UNQUOTED_STRINGS',
109
- description: 'Set to 1 to export Android strings without quotes (unquoted). Allowed values: 0 or 1',
109
+ description: 'Optional. Set to 1 to export Android strings without quotes (unquoted). Allowed values: 0 or 1',
110
110
  optional: true,
111
111
  type: Integer,
112
112
  default_value: 0,
113
113
  verify_block: proc do |value|
114
114
  UI.user_error!("unquoted_strings (POEDITOR_UNQUOTED_STRINGS) must be 0 or 1. Received: #{value}.") unless [0, 1].include?(value)
115
115
  end
116
+ ),
117
+ FastlaneCore::ConfigItem.new(
118
+ key: :bypass_default_language,
119
+ env_name: 'POEDITOR_BYPASS_DEFAULT_LANGUAGE',
120
+ description: 'Optional. Skip the default language check when the output path is built',
121
+ optional: true,
122
+ type: Boolean,
123
+ default_value: false
116
124
  )
117
125
  ]
118
126
  end
@@ -21,7 +21,8 @@ module Fastlane
21
21
  file_name:,
22
22
  default_language:,
23
23
  language_map:,
24
- unquoted_strings:
24
+ unquoted_strings:,
25
+ bypass_default_language:
25
26
  )
26
27
  unless @supported_export_types.include?(file_format)
27
28
  UI.error("Invalid export type '#{file_format}'. Allowed values: #{@supported_export_types.join(', ')}")
@@ -46,7 +47,7 @@ module Fastlane
46
47
  strings_data = download_file(export_url, language)
47
48
  next unless strings_data
48
49
 
49
- output_path = build_output_path(output_dir, language, file_name, file_format, default_language, language_map)
50
+ output_path = build_output_path(output_dir, language, file_name, file_format, default_language, language_map, bypass_default_language)
50
51
 
51
52
  begin
52
53
  FileUtils.mkdir_p(File.dirname(output_path))
@@ -96,22 +97,24 @@ module Fastlane
96
97
  nil
97
98
  end
98
99
 
99
- def self.build_output_path(base_dir, language, file_name, format, default_language, language_map)
100
+ def self.build_output_path(base_dir, language, file_name, format, default_language, language_map, bypass_default_language)
100
101
  if format == 'xcstrings'
101
102
  "#{base_dir}/#{file_name}"
102
103
  elsif format == 'apple_strings'
103
104
  "#{base_dir}/#{language}.lproj/#{file_name}"
104
- elsif language == default_language
105
- "#{base_dir}/values/#{file_name}"
106
- else
107
- mapped_language = language_map&.[](language.to_s)
108
- values_folder = if mapped_language.nil? || mapped_language.empty?
109
- "values-#{language}"
110
- else
111
- "values-#{mapped_language}"
112
- end
113
-
114
- "#{base_dir}/#{values_folder}/#{file_name}"
105
+ elsif format == 'android_strings'
106
+ if language == default_language && !bypass_default_language
107
+ "#{base_dir}/values/#{file_name}"
108
+ else
109
+ mapped_language = language_map&.[](language.to_s)
110
+ values_folder = if mapped_language.nil? || mapped_language.empty?
111
+ "values-#{language}"
112
+ else
113
+ "values-#{mapped_language}"
114
+ end
115
+
116
+ "#{base_dir}/#{values_folder}/#{file_name}"
117
+ end
115
118
  end
116
119
  end
117
120
  end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module OvoPoeditor
3
- VERSION = "1.1.0"
3
+ VERSION = "1.2.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-ovo_poeditor
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alessio Arsuffi