Fix PR
This commit is contained in:
parent
d7a571400d
commit
64c8f85298
|
|
@ -1,6 +1,7 @@
|
|||
$appName = File.basename(Dir['../*.xcworkspace'].first, '.*')
|
||||
|
||||
require_relative 'fastlane/touchlane/lib/touchlane'
|
||||
require_relative File.expand_path "../build-scripts/xcode/managers/managers"
|
||||
|
||||
# ugly hack to add support for custom storage
|
||||
|
||||
|
|
@ -114,9 +115,12 @@ private_lane :generateFeaturesFile do |options|
|
|||
|
||||
builder_features_list = options[:features]
|
||||
.split(",").map { |feature_name| feature_name.strip } # [ "Feature1", "Feature2", "Feature3" ]
|
||||
.reject { |feature_name| feature_name.empty? }
|
||||
|
||||
Touchlane::Features.generate_features_file_in_project(builder_features_list, build_settings_file_path, project_features_file_path)
|
||||
build_settings_features_list = Managers::FileManager.load_from_file_YAML(build_settings_file_path)["features"]
|
||||
|
||||
features_hash = Touchlane::Features.generate_features_hash(builder_features_list, build_settings_features_list)
|
||||
|
||||
Managers::FileManager.save_data_to_file_in_json(project_features_file_path, features_hash)
|
||||
end
|
||||
|
||||
private_lane :buildConfiguration do |options|
|
||||
|
|
|
|||
|
|
@ -1,12 +1,7 @@
|
|||
require 'json'
|
||||
|
||||
require_relative File.expand_path "../build-scripts/xcode/managers/managers"
|
||||
|
||||
module Touchlane
|
||||
class Features
|
||||
|
||||
def self.generate_features_file_in_project(builder_features_list, build_settings_file_path, project_features_file_path)
|
||||
build_settings_features_list = Managers::FileManager.load_from_file_YAML(build_settings_file_path)["features"]
|
||||
def self.generate_features_hash(builder_features_list, build_settings_features_list)
|
||||
|
||||
# Check is entered features contains in configuration file
|
||||
features_diff = builder_features_list - build_settings_features_list
|
||||
|
|
@ -15,12 +10,10 @@ module Touchlane
|
|||
raise "Unexpected features: " + features_diff.join(', ')
|
||||
end
|
||||
|
||||
# Generate JSON from feature names
|
||||
feature_bodies = builder_features_list.map { |feature_name| { :name => feature_name, :enabled => true} }
|
||||
# Generate hash from feature names
|
||||
feature_bodies = builder_features_list.map { |feature_name| { :name => feature_name, :enabled => true } }
|
||||
features_full_body = { :features => feature_bodies }
|
||||
features_json = JSON.pretty_generate(features_full_body)
|
||||
|
||||
Managers::FileManager.save_data_to_file(project_features_file_path, features_json)
|
||||
features_full_body.to_hash()
|
||||
end
|
||||
|
||||
private_class_method :new
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
require 'yaml'
|
||||
require 'json'
|
||||
|
||||
module Managers
|
||||
class FileManager
|
||||
|
|
@ -20,6 +21,11 @@ module Managers
|
|||
YAML.load_file(path)
|
||||
end
|
||||
end
|
||||
|
||||
def self.save_data_to_file_in_json(path, data)
|
||||
json_data = JSON.pretty_generate(data)
|
||||
save_data_to_file(path, json_data)
|
||||
end
|
||||
|
||||
private_class_method :new
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue