Class: PodPrebuild::Config
- Inherits:
-
Object
- Object
- PodPrebuild::Config
- Defined in:
- lib/command/config.rb
Overview
rubocop:disable Metrics/ClassLength
Instance Attribute Summary collapse
-
#cli_config ⇒ Object
Returns the value of attribute cli_config.
-
#dsl_config ⇒ Object
Returns the value of attribute dsl_config.
Class Method Summary collapse
Instance Method Summary collapse
- #bitcode_enabled? ⇒ Boolean
- #build_args ⇒ Object
- #cache_path ⇒ Object
- #cache_repo ⇒ Object
- #dev_pods_enabled? ⇒ Boolean
- #device_build_enabled? ⇒ Boolean
- #disable_dsym? ⇒ Boolean
- #dont_remove_source_code? ⇒ Boolean
- #excluded_pods ⇒ Object
- #generated_frameworks_dir(in_cache: false) ⇒ Object
-
#initialize(path) ⇒ Config
constructor
A new instance of Config.
- #local_cache? ⇒ Boolean
- #manifest_path(in_cache: false) ⇒ Object
- #prebuild_all_pods? ⇒ Boolean
- #prebuild_code_gen ⇒ Object
- #prebuild_config ⇒ Object
- #prebuild_delta_path ⇒ Object
- #prebuild_job? ⇒ Boolean
- #prebuild_sandbox_path ⇒ Object
- #prebuilt_path(path: nil) ⇒ Object
- #prebuilt_pod_names ⇒ Object
- #reset! ⇒ Object
- #root_dir(in_cache) ⇒ Object
- #save_cache_validation_to ⇒ Object
- #silent_build? ⇒ Boolean
- #strict_diagnosis? ⇒ Boolean
- #targets_to_prebuild_from_cli ⇒ Object
- #tracked_prebuilt_pod_names ⇒ Object
- #update_detected_excluded_pods!(value) ⇒ Object
- #update_detected_prebuilt_pod_names!(value) ⇒ Object
- #validate_dsl_config ⇒ Object
- #validate_prebuilt_settings ⇒ Object
- #xcframework? ⇒ Boolean
- #xcodebuild_log_path ⇒ Object
Constructor Details
#initialize(path) ⇒ Config
Returns a new instance of Config.
11 12 13 14 15 16 |
# File 'lib/command/config.rb', line 11 def initialize(path) @deprecated_config = File.exist?(path) ? PodPrebuild::JSONFile.new(path).data : {} @dsl_config = {} @cli_config = {} @detected_config = {} end |
Instance Attribute Details
#cli_config ⇒ Object
Returns the value of attribute cli_config.
9 10 11 |
# File 'lib/command/config.rb', line 9 def cli_config @cli_config end |
#dsl_config ⇒ Object
Returns the value of attribute dsl_config.
9 10 11 |
# File 'lib/command/config.rb', line 9 def dsl_config @dsl_config end |
Class Method Details
.instance ⇒ Object
18 19 20 |
# File 'lib/command/config.rb', line 18 def self.instance @instance ||= new("PodBinaryCacheConfig.json") end |
Instance Method Details
#bitcode_enabled? ⇒ Boolean
100 101 102 |
# File 'lib/command/config.rb', line 100 def bitcode_enabled? @dsl_config[:bitcode_enabled] end |
#build_args ⇒ Object
124 125 126 |
# File 'lib/command/config.rb', line 124 def build_args @dsl_config[:build_args] end |
#cache_path ⇒ Object
36 37 38 |
# File 'lib/command/config.rb', line 36 def cache_path @cache_path ||= File.(cache_repo_config["local"]) end |
#cache_repo ⇒ Object
28 29 30 |
# File 'lib/command/config.rb', line 28 def cache_repo @cache_repo ||= cache_repo_config["remote"] end |
#dev_pods_enabled? ⇒ Boolean
96 97 98 |
# File 'lib/command/config.rb', line 96 def dev_pods_enabled? @dsl_config[:dev_pods_enabled] end |
#device_build_enabled? ⇒ Boolean
104 105 106 |
# File 'lib/command/config.rb', line 104 def device_build_enabled? @dsl_config[:device_build_enabled] end |
#disable_dsym? ⇒ Boolean
112 113 114 |
# File 'lib/command/config.rb', line 112 def disable_dsym? @dsl_config[:disable_dsym] end |
#dont_remove_source_code? ⇒ Boolean
116 117 118 |
# File 'lib/command/config.rb', line 116 def dont_remove_source_code? @dsl_config[:dont_remove_source_code] end |
#excluded_pods ⇒ Object
92 93 94 |
# File 'lib/command/config.rb', line 92 def excluded_pods ((@dsl_config[:excluded_pods] || Set.new) + (@detected_config[:excluded_pods] || Set.new)).to_set end |
#generated_frameworks_dir(in_cache: false) ⇒ Object
56 57 58 |
# File 'lib/command/config.rb', line 56 def generated_frameworks_dir(in_cache: false) root_dir(in_cache) + "/GeneratedFrameworks" end |
#local_cache? ⇒ Boolean
32 33 34 |
# File 'lib/command/config.rb', line 32 def local_cache? cache_repo.nil? end |
#manifest_path(in_cache: false) ⇒ Object
48 49 50 |
# File 'lib/command/config.rb', line 48 def manifest_path(in_cache: false) root_dir(in_cache) + "/Manifest.lock" end |
#prebuild_all_pods? ⇒ Boolean
88 89 90 |
# File 'lib/command/config.rb', line 88 def prebuild_all_pods? @cli_config[:prebuild_all_pods] || @dsl_config[:prebuild_all_pods] end |
#prebuild_code_gen ⇒ Object
136 137 138 |
# File 'lib/command/config.rb', line 136 def prebuild_code_gen @dsl_config[:prebuild_code_gen] end |
#prebuild_config ⇒ Object
80 81 82 |
# File 'lib/command/config.rb', line 80 def prebuild_config @cli_config[:prebuild_config] || @dsl_config[:prebuild_config] || "Debug" end |
#prebuild_delta_path ⇒ Object
44 45 46 |
# File 'lib/command/config.rb', line 44 def prebuild_delta_path @dsl_config[:prebuild_delta_path] || @deprecated_config["prebuild_delta_path"] || "_Prebuild_delta/changes.json" end |
#prebuild_job? ⇒ Boolean
84 85 86 |
# File 'lib/command/config.rb', line 84 def prebuild_job? @cli_config[:prebuild_job] || @dsl_config[:prebuild_job] end |
#prebuild_sandbox_path ⇒ Object
40 41 42 |
# File 'lib/command/config.rb', line 40 def prebuild_sandbox_path @dsl_config[:prebuild_sandbox_path] || @deprecated_config["prebuild_path"] || "_Prebuild" end |
#prebuilt_path(path: nil) ⇒ Object
60 61 62 63 64 |
# File 'lib/command/config.rb', line 60 def prebuilt_path(path: nil) p = Pathname.new(path.nil? ? "_Prebuilt" : "_Prebuilt/#{path}") p = p.sub_ext(".xcframework") if xcframework? && p.extname == ".framework" p.to_s end |
#prebuilt_pod_names ⇒ Object
160 161 162 |
# File 'lib/command/config.rb', line 160 def prebuilt_pod_names @detected_config[:prebuilt_pod_names] || Set.new end |
#reset! ⇒ Object
22 23 24 25 26 |
# File 'lib/command/config.rb', line 22 def reset! @deprecated_config = {} @dsl_config = {} @cli_config = {} end |
#root_dir(in_cache) ⇒ Object
52 53 54 |
# File 'lib/command/config.rb', line 52 def root_dir(in_cache) in_cache ? cache_path : prebuild_sandbox_path end |
#save_cache_validation_to ⇒ Object
128 129 130 |
# File 'lib/command/config.rb', line 128 def save_cache_validation_to @dsl_config[:save_cache_validation_to] end |
#silent_build? ⇒ Boolean
144 145 146 |
# File 'lib/command/config.rb', line 144 def silent_build? @dsl_config[:silent_build] end |
#strict_diagnosis? ⇒ Boolean
140 141 142 |
# File 'lib/command/config.rb', line 140 def strict_diagnosis? @dsl_config[:strict_diagnosis] end |
#targets_to_prebuild_from_cli ⇒ Object
148 149 150 |
# File 'lib/command/config.rb', line 148 def targets_to_prebuild_from_cli @cli_config[:prebuild_targets] || [] end |
#tracked_prebuilt_pod_names ⇒ Object
164 165 166 |
# File 'lib/command/config.rb', line 164 def tracked_prebuilt_pod_names prebuilt_pod_names - excluded_pods end |
#update_detected_excluded_pods!(value) ⇒ Object
156 157 158 |
# File 'lib/command/config.rb', line 156 def update_detected_excluded_pods!(value) @detected_config[:excluded_pods] = value end |
#update_detected_prebuilt_pod_names!(value) ⇒ Object
152 153 154 |
# File 'lib/command/config.rb', line 152 def update_detected_prebuilt_pod_names!(value) @detected_config[:prebuilt_pod_names] = value end |
#validate_dsl_config ⇒ Object
66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/command/config.rb', line 66 def validate_dsl_config = @dsl_config.keys - applicable_dsl_config return if .empty? = <<~HEREDOC [WARNING] The following options (in `config_cocoapods_binary_cache`) are not correct: #{}. Available options: #{applicable_dsl_config}. Check out the following doc for more details https://github.com/pandaleecn/cocoapods-binary-ht/blob/master/docs/configure_cocoapods_binary_cache.md HEREDOC Pod::UI.puts .yellow end |
#validate_prebuilt_settings ⇒ Object
132 133 134 |
# File 'lib/command/config.rb', line 132 def validate_prebuilt_settings @dsl_config[:validate_prebuilt_settings] end |
#xcframework? ⇒ Boolean
108 109 110 |
# File 'lib/command/config.rb', line 108 def xcframework? @dsl_config[:xcframework] end |
#xcodebuild_log_path ⇒ Object
120 121 122 |
# File 'lib/command/config.rb', line 120 def xcodebuild_log_path @dsl_config[:xcodebuild_log_path] end |