From d73b9f8500be0215514abb17946e336f6165aa98 Mon Sep 17 00:00:00 2001 From: Sergey Kopytov Date: Mon, 16 Sep 2019 20:06:03 +0300 Subject: [PATCH 1/3] add missing bundle id generator --- xcode/config_generator/render_xcconfigs.rb | 25 ++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/xcode/config_generator/render_xcconfigs.rb b/xcode/config_generator/render_xcconfigs.rb index b4ad9b7..dbe8d84 100644 --- a/xcode/config_generator/render_xcconfigs.rb +++ b/xcode/config_generator/render_xcconfigs.rb @@ -5,6 +5,9 @@ require 'mustache' $configs_folder_name = "TargetConfigurations" $standard_dev_team = "D4HA43V467" $enterprise_dev_team = "228J5MMU7S" +$standard_bundle_prefix = "ru.touchin." +$enterprise_bundle_prefix = "com.touchin." +$bundle_id_key = "PRODUCT_BUNDLE_IDENTIFIER" # create config directory if needed Dir.mkdir($configs_folder_name) unless Dir.exist?($configs_folder_name) @@ -36,24 +39,38 @@ end def generate_provisioning_profile(provisioning_key, bundle_id, account_type) if account_type == "AppStore" app_store_profiile = "match AppStore " + bundle_id - return [config_option(provisioning_key, app_store_profiile)] + return config_option(provisioning_key, app_store_profiile) else return config_option(provisioning_key, bundle_id) end end +def generate_bundle_id(target_name, account_type) + bundle_id_prefix = account_type == "Standard" ? $standard_bundle_prefix : $enterprise_bundle_prefix + bundle_id = bundle_id_prefix + target_name + return config_option($bundle_id_key, bundle_id) +end + # generate missing properties if needed -def generate_missing_properties(properties, account_type) +def generate_missing_properties(target_name, properties, account_type) result = [] development_team_key = "DEVELOPMENT_TEAM" provisioning_key = "PROVISIONING_PROFILE_SPECIFIER" + unless properties.key?($bundle_id_key) + bundle_id_config = generate_bundle_id(target_name, account_type) + bundle_id = bundle_id_config["value"] + result.append(bundle_id_config) + else + bundle_id = properties[$bundle_id_key] + end + unless properties.key?(development_team_key) result.append(generate_development_team(development_team_key, account_type)) end unless properties.key?(provisioning_key) - result.append(generate_provisioning_profile(provisioning_key, properties["PRODUCT_BUNDLE_IDENTIFIER"], account_type)) + result.append(generate_provisioning_profile(provisioning_key, bundle_id, account_type)) end return result @@ -79,7 +96,7 @@ targets.each do |target| end # add missing properties if needed - config["xcconfig_options"].concat(generate_missing_properties(properties, account_type)) + config["xcconfig_options"].concat(generate_missing_properties(target_name, properties, account_type)) # create settings pack config_data = { From f1cbf0431887d617a8aa4e7dea33a19492895131 Mon Sep 17 00:00:00 2001 From: Sergey Kopytov Date: Mon, 16 Sep 2019 22:27:51 +0300 Subject: [PATCH 2/3] add lanes generator --- .../generate_lanes_template.rb | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 xcode/config_generator/generate_lanes_template.rb diff --git a/xcode/config_generator/generate_lanes_template.rb b/xcode/config_generator/generate_lanes_template.rb new file mode 100644 index 0000000..313689c --- /dev/null +++ b/xcode/config_generator/generate_lanes_template.rb @@ -0,0 +1,30 @@ +require 'json' + +# call python script and generate configs to config file +system("python gen_configurations.py > configs_data.json") + +# generate fastlane lane block +def generate_lane(lane_name) + first_line = "lane :" + lane_name + " do |options|\n" + second_line = "\tbuildConfiguration(options)\n" + third_line = "end\n" + separator = "\n" + return first_line + second_line + third_line + separator +end + +# open configs for rendering +configs = JSON.load(File.open("configs_data.json"))["configurations"] + +# map configs to lanes +lanes = configs.map { |config| generate_lane(config["name"]) } + +# make all lanes uniq +lanes.uniq! + +# write lanes to file +File.open("lanes_template", 'w') { |file| + file.puts(lanes) +} + +# remove config file, it's trash +File.delete("configs_data.json") if File.exist?("configs_data.json") From e628d3703970e3042110e9dac79de25c37cd7235 Mon Sep 17 00:00:00 2001 From: Sergey Kopytov Date: Tue, 17 Sep 2019 11:21:30 +0300 Subject: [PATCH 3/3] Revert "add lanes generator" This reverts commit f1cbf0431887d617a8aa4e7dea33a19492895131. --- .../generate_lanes_template.rb | 30 ------------------- 1 file changed, 30 deletions(-) delete mode 100644 xcode/config_generator/generate_lanes_template.rb diff --git a/xcode/config_generator/generate_lanes_template.rb b/xcode/config_generator/generate_lanes_template.rb deleted file mode 100644 index 313689c..0000000 --- a/xcode/config_generator/generate_lanes_template.rb +++ /dev/null @@ -1,30 +0,0 @@ -require 'json' - -# call python script and generate configs to config file -system("python gen_configurations.py > configs_data.json") - -# generate fastlane lane block -def generate_lane(lane_name) - first_line = "lane :" + lane_name + " do |options|\n" - second_line = "\tbuildConfiguration(options)\n" - third_line = "end\n" - separator = "\n" - return first_line + second_line + third_line + separator -end - -# open configs for rendering -configs = JSON.load(File.open("configs_data.json"))["configurations"] - -# map configs to lanes -lanes = configs.map { |config| generate_lane(config["name"]) } - -# make all lanes uniq -lanes.uniq! - -# write lanes to file -File.open("lanes_template", 'w') { |file| - file.puts(lanes) -} - -# remove config file, it's trash -File.delete("configs_data.json") if File.exist?("configs_data.json")