fastlane-plugin-pod_spec_generator 0.1.1 → 0.1.3
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 +4 -4
- data/lib/fastlane/plugin/pod_spec_generator/actions/pod_file_generator_action.rb +2 -2
- data/lib/fastlane/plugin/pod_spec_generator/actions/pod_spec_generator_action.rb +16 -1
- data/lib/fastlane/plugin/pod_spec_generator/helper/pod_spec_builder.rb +16 -14
- data/lib/fastlane/plugin/pod_spec_generator/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 990680109f16f7fcadda9de2c11f5aa258b4630b2494c69ba586cb59d4607a81
|
4
|
+
data.tar.gz: 48c10a9a71c29d8036459f1fb6b35ba5e8b7abafd83770c497b725fa9b375171
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73709bffdb3691df658d6caf9234a2490d16388f6ce9bf552ebbc49306dfeea45ce6bcb0f453a6c68c51d1572c9bb5060ecce2bb851477e82cb1815f6c4bb205
|
7
|
+
data.tar.gz: bb1151ad542fe883b67cc6005138ec0a0cf5f853f7b3ceb4799b38092cdd48dd283ee3e549ccfbad2b08a25a6f79dc30baf9f3678c10ee431048e14d5bd6accc
|
@@ -42,13 +42,13 @@ module Fastlane
|
|
42
42
|
FastlaneCore::ConfigItem.new(key: :use_frameworks,
|
43
43
|
env_name: "POD_FILE_GENERATOR_VERSION",
|
44
44
|
description: "Version String",
|
45
|
-
|
45
|
+
is_string: false,
|
46
46
|
default_value: true,
|
47
47
|
optional: true),
|
48
48
|
FastlaneCore::ConfigItem.new(key: :apply_local_spm_fix,
|
49
49
|
env_name: "POD_LOCAL_SPM",
|
50
50
|
description: "Use local spm",
|
51
|
-
|
51
|
+
is_string: false,
|
52
52
|
default_value: false,
|
53
53
|
optional: true),
|
54
54
|
FastlaneCore::ConfigItem.new(key: :targets,
|
@@ -25,6 +25,11 @@ module Fastlane
|
|
25
25
|
builder.platform = params[:platform].reduce([]) do |content, pair|
|
26
26
|
content += pair
|
27
27
|
end
|
28
|
+
(params[:subspecs]).each do |dep|
|
29
|
+
puts(dep)
|
30
|
+
builder.add_subspec(dep[:name], dep[:local_files], dep[:dependencies])
|
31
|
+
end
|
32
|
+
builder.static_framework = params[:static_framework]
|
28
33
|
|
29
34
|
output = builder.build_pod_spec_string
|
30
35
|
File.write("#{params[:folder]}/#{params[:name]}.podspec", output)
|
@@ -118,7 +123,17 @@ module Fastlane
|
|
118
123
|
description: "Local spm dependencies",
|
119
124
|
default_value: [],
|
120
125
|
optional: true,
|
121
|
-
type: Array)
|
126
|
+
type: Array),
|
127
|
+
FastlaneCore::ConfigItem.new(key: :subspecs,
|
128
|
+
description: "Additional subspecs",
|
129
|
+
default_value: [],
|
130
|
+
optional: true,
|
131
|
+
type: Array),
|
132
|
+
FastlaneCore::ConfigItem.new(key: :static_framework,
|
133
|
+
description: "Static Framework",
|
134
|
+
default_value: false,
|
135
|
+
optional: true,
|
136
|
+
is_string: false)
|
122
137
|
|
123
138
|
]
|
124
139
|
end
|
@@ -14,7 +14,8 @@ class PodSpecBuilder
|
|
14
14
|
:source_files,
|
15
15
|
:source,
|
16
16
|
:dependencies,
|
17
|
-
:spm_local_dependencies
|
17
|
+
:spm_local_dependencies,
|
18
|
+
:static_framework
|
18
19
|
|
19
20
|
|
20
21
|
def initialize
|
@@ -32,15 +33,18 @@ class PodSpecBuilder
|
|
32
33
|
@source_files = nil
|
33
34
|
@source = nil
|
34
35
|
@spm_local_dependencies = []
|
36
|
+
@static_framework = false
|
35
37
|
end
|
36
38
|
|
37
39
|
def build_pod_spec_string
|
38
40
|
[start_of_spec,
|
39
41
|
podspec_content_setting_string,
|
42
|
+
static_framework_string,
|
40
43
|
generate_dependencies(@dependencies),
|
44
|
+
subscpecs_string,
|
41
45
|
generate_local_spm_dependencies(@spm_local_dependencies),
|
42
46
|
end_of_spec
|
43
|
-
].reject { |s| s.empty? }.join("\n")
|
47
|
+
].compact.reject { |s| s.empty? }.join("\n")
|
44
48
|
end
|
45
49
|
|
46
50
|
def add_dependency(name, version = nil)
|
@@ -72,13 +76,15 @@ class PodSpecBuilder
|
|
72
76
|
hash = {}
|
73
77
|
instance_variables.reject { |var| exclude(var) }
|
74
78
|
.each { |var| hash[var.to_s.delete("@")] = instance_variable_get(var) }
|
75
|
-
|
76
79
|
hash.compact.reject { |_k, v| v.empty? }
|
77
80
|
end
|
78
81
|
|
79
|
-
|
82
|
+
def static_framework_string
|
83
|
+
return "\ts.static_framework = true" if @static_framework
|
84
|
+
nil
|
85
|
+
end
|
80
86
|
def exclude(variable)
|
81
|
-
%w[@
|
87
|
+
%w[@subscpecs @dependencies @spm_local_dependencies @static_framework].include? variable.to_s
|
82
88
|
end
|
83
89
|
def content(items)
|
84
90
|
items.reject(&:empty?).reduce(String.new) do |content, item|
|
@@ -86,8 +92,6 @@ class PodSpecBuilder
|
|
86
92
|
end
|
87
93
|
end
|
88
94
|
|
89
|
-
|
90
|
-
|
91
95
|
def subscpecs_string
|
92
96
|
@subscpecs.reduce(String.new) do |content, subscpec|
|
93
97
|
content += "#{subspec_string(subscpec)}\n"
|
@@ -95,16 +99,14 @@ class PodSpecBuilder
|
|
95
99
|
end
|
96
100
|
|
97
101
|
def subspec_string(sub)
|
98
|
-
"
|
99
|
-
|
100
|
-
|
101
|
-
end
|
102
|
-
"
|
102
|
+
"\n\ts.subspec '#{sub[:name]}' do |s|"\
|
103
|
+
"\n\t\ts.source_files = #{sub[:local_files]}#{generate_dependencies(sub[:dependencies],"\t")}" \
|
104
|
+
"\n\tend"
|
103
105
|
end
|
104
106
|
|
105
|
-
def generate_dependencies(dependencies)
|
107
|
+
def generate_dependencies(dependencies, allignment = "")
|
106
108
|
dependencies.reduce(String.new) do |content, dep|
|
107
|
-
dependency = "\n\ts.dependency '#{dep[:name]}'"
|
109
|
+
dependency = "\n#{allignment}\ts.dependency '#{dep[:name]}'"
|
108
110
|
vers = dep[:version] ? "'#{dep[:version]}'" : nil
|
109
111
|
out = [dependency, vers].compact.join(", ~>")
|
110
112
|
content += "#{out}"
|