pod-builder 0.1.4
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 +7 -0
- data/.gitignore +8 -0
- data/.vscode/launch.json +102 -0
- data/Example/PodBuilderExample.xcodeproj/project.pbxproj +416 -0
- data/Example/PodBuilderExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/Example/PodBuilderExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- data/Example/PodBuilderExample.xcodeproj/project.xcworkspace/xcuserdata/tomas.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/Example/PodBuilderExample.xcodeproj/xcuserdata/tomas.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
- data/Example/PodBuilderExample.xcworkspace/contents.xcworkspacedata +10 -0
- data/Example/PodBuilderExample/AppDelegate.swift +47 -0
- data/Example/PodBuilderExample/Assets.xcassets/AppIcon.appiconset/Contents.json +98 -0
- data/Example/PodBuilderExample/Assets.xcassets/Contents.json +6 -0
- data/Example/PodBuilderExample/Base.lproj/LaunchScreen.storyboard +25 -0
- data/Example/PodBuilderExample/Base.lproj/Main.storyboard +24 -0
- data/Example/PodBuilderExample/Info.plist +45 -0
- data/Example/PodBuilderExample/ViewController.swift +25 -0
- data/Example/Podfile +8 -0
- data/Example/Podfile.lock +16 -0
- data/Example/Pods/Alamofire/LICENSE +19 -0
- data/Example/Pods/Alamofire/README.md +242 -0
- data/Example/Pods/Alamofire/Source/AFError.swift +460 -0
- data/Example/Pods/Alamofire/Source/Alamofire.swift +465 -0
- data/Example/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift +37 -0
- data/Example/Pods/Alamofire/Source/MultipartFormData.swift +580 -0
- data/Example/Pods/Alamofire/Source/NetworkReachabilityManager.swift +233 -0
- data/Example/Pods/Alamofire/Source/Notifications.swift +55 -0
- data/Example/Pods/Alamofire/Source/ParameterEncoding.swift +483 -0
- data/Example/Pods/Alamofire/Source/Request.swift +654 -0
- data/Example/Pods/Alamofire/Source/Response.swift +567 -0
- data/Example/Pods/Alamofire/Source/ResponseSerialization.swift +715 -0
- data/Example/Pods/Alamofire/Source/Result.swift +300 -0
- data/Example/Pods/Alamofire/Source/ServerTrustPolicy.swift +307 -0
- data/Example/Pods/Alamofire/Source/SessionDelegate.swift +725 -0
- data/Example/Pods/Alamofire/Source/SessionManager.swift +896 -0
- data/Example/Pods/Alamofire/Source/TaskDelegate.swift +466 -0
- data/Example/Pods/Alamofire/Source/Timeline.swift +136 -0
- data/Example/Pods/Alamofire/Source/Validation.swift +315 -0
- data/Example/Pods/Manifest.lock +16 -0
- data/Example/Pods/Pods.xcodeproj/project.pbxproj +673 -0
- data/Example/Pods/Pods.xcodeproj/xcuserdata/tomas.xcuserdatad/xcschemes/Alamofire.xcscheme +60 -0
- data/Example/Pods/Pods.xcodeproj/xcuserdata/tomas.xcuserdatad/xcschemes/Pods-PodBuilderExample.xcscheme +60 -0
- data/Example/Pods/Pods.xcodeproj/xcuserdata/tomas.xcuserdatad/xcschemes/xcschememanagement.plist +21 -0
- data/Example/Pods/Target Support Files/Alamofire/Alamofire-dummy.m +5 -0
- data/Example/Pods/Target Support Files/Alamofire/Alamofire-prefix.pch +12 -0
- data/Example/Pods/Target Support Files/Alamofire/Alamofire-umbrella.h +16 -0
- data/Example/Pods/Target Support Files/Alamofire/Alamofire.modulemap +6 -0
- data/Example/Pods/Target Support Files/Alamofire/Alamofire.xcconfig +9 -0
- data/Example/Pods/Target Support Files/Alamofire/Info.plist +26 -0
- data/Example/Pods/Target Support Files/Pods-PodBuilderExample/Info.plist +26 -0
- data/Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample-acknowledgements.markdown +26 -0
- data/Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample-acknowledgements.plist +58 -0
- data/Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample-dummy.m +5 -0
- data/Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample-frameworks.sh +153 -0
- data/Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample-resources.sh +118 -0
- data/Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample-umbrella.h +16 -0
- data/Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample.debug.xcconfig +11 -0
- data/Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample.modulemap +6 -0
- data/Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample.release.xcconfig +11 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +100 -0
- data/LICENSE.txt +13 -0
- data/README.md +192 -0
- data/Rakefile +2 -0
- data/bin/console +16 -0
- data/bin/setup +8 -0
- data/exe/pod_builder +174 -0
- data/lib/pod_builder/analyze.rb +52 -0
- data/lib/pod_builder/cocoapods/analyzer.rb +24 -0
- data/lib/pod_builder/cocoapods/specification.rb +27 -0
- data/lib/pod_builder/command.rb +9 -0
- data/lib/pod_builder/command/build.rb +240 -0
- data/lib/pod_builder/command/build_all.rb +15 -0
- data/lib/pod_builder/command/clean.rb +80 -0
- data/lib/pod_builder/command/deintegrate.rb +51 -0
- data/lib/pod_builder/command/generate_podspec.rb +17 -0
- data/lib/pod_builder/command/init.rb +86 -0
- data/lib/pod_builder/command/install_sources.rb +82 -0
- data/lib/pod_builder/command/none.rb +16 -0
- data/lib/pod_builder/command/restore_all.rb +30 -0
- data/lib/pod_builder/configuration.rb +91 -0
- data/lib/pod_builder/core.rb +74 -0
- data/lib/pod_builder/install.rb +105 -0
- data/lib/pod_builder/podfile.rb +207 -0
- data/lib/pod_builder/podfile/post_actions.rb +141 -0
- data/lib/pod_builder/podfile_item.rb +216 -0
- data/lib/pod_builder/podspec.rb +71 -0
- data/lib/pod_builder/templates/build_podfile.template +78 -0
- data/lib/pod_builder/templates/build_podspec.template +19 -0
- data/lib/pod_builder/version.rb +4 -0
- data/pod-builder.gemspec +36 -0
- metadata +274 -0
@@ -0,0 +1,216 @@
|
|
1
|
+
require 'pod_builder/cocoapods/specification'
|
2
|
+
|
3
|
+
module PodBuilder
|
4
|
+
class PodfileItem
|
5
|
+
# @return [String] The git repo
|
6
|
+
#
|
7
|
+
attr_reader :repo
|
8
|
+
|
9
|
+
# @return [String] The git branch
|
10
|
+
#
|
11
|
+
attr_reader :branch
|
12
|
+
|
13
|
+
# @return [String] Matches @name unless for subspecs were it stores the name of the root pod
|
14
|
+
#
|
15
|
+
attr_reader :root_name
|
16
|
+
|
17
|
+
# @return [String] The name of the pod, which might be the subspec name if appicable
|
18
|
+
#
|
19
|
+
attr_reader :name
|
20
|
+
|
21
|
+
# @return [String] The pinned tag of the pod, if any
|
22
|
+
#
|
23
|
+
attr_reader :tag
|
24
|
+
|
25
|
+
# @return [String] The pinned version of the pod, if any
|
26
|
+
#
|
27
|
+
attr_reader :version
|
28
|
+
|
29
|
+
# @return [String] Local path, if any
|
30
|
+
#
|
31
|
+
attr_reader :path
|
32
|
+
|
33
|
+
# @return [String] The pinned commit of the pod, if any
|
34
|
+
#
|
35
|
+
attr_reader :commit
|
36
|
+
|
37
|
+
# @return [String] The module name
|
38
|
+
#
|
39
|
+
attr_reader :module_name
|
40
|
+
|
41
|
+
# @return [String] The swift version if applicable
|
42
|
+
#
|
43
|
+
attr_reader :swift_version
|
44
|
+
|
45
|
+
# @return [Array<String>] The pod's dependency names, if any. Use dependencies() to get the [Array<PodfileItem>]
|
46
|
+
#
|
47
|
+
attr_reader :dependency_names
|
48
|
+
|
49
|
+
# @return [Bool] True if the pod is shipped as a static framework
|
50
|
+
#
|
51
|
+
attr_reader :is_static
|
52
|
+
|
53
|
+
# @return [Array<Hash>] The pod's xcconfig configuration
|
54
|
+
#
|
55
|
+
attr_reader :xcconfig
|
56
|
+
|
57
|
+
# @return [Bool] Is external pod
|
58
|
+
#
|
59
|
+
attr_reader :is_external
|
60
|
+
|
61
|
+
# @return [String] The pod's build configuration
|
62
|
+
#
|
63
|
+
attr_accessor :build_configuration
|
64
|
+
|
65
|
+
# @return [String] The pod's swift optimization level overriding
|
66
|
+
# build_settings in PodBuilder::Configuration::build_configuration.
|
67
|
+
#
|
68
|
+
# This is a workaround to overcome segmentation faults that might trigger by certain optimization level
|
69
|
+
#
|
70
|
+
attr_accessor :swift_optimization_level
|
71
|
+
|
72
|
+
# Initialize a new instance
|
73
|
+
#
|
74
|
+
# @param [Specification] spec
|
75
|
+
#
|
76
|
+
# @param [Hash] checkout_options
|
77
|
+
#
|
78
|
+
def initialize(spec, all_specs, checkout_options)
|
79
|
+
if overrides = Configuration.spec_overrides[spec.name]
|
80
|
+
overrides.each do |k, v|
|
81
|
+
spec.root.attributes_hash[k] = v
|
82
|
+
if checkout_options.has_key?(spec.name)
|
83
|
+
checkout_options[spec.name][k] = v
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
@name = spec.name
|
89
|
+
@root_name = spec.name.split("/").first
|
90
|
+
|
91
|
+
if checkout_options.has_key?(name)
|
92
|
+
@repo = checkout_options[name][:git]
|
93
|
+
@tag = checkout_options[name][:tag]
|
94
|
+
@commit = checkout_options[name][:commit]
|
95
|
+
@path = checkout_options[name][:path]
|
96
|
+
@branch = checkout_options[name][:branch]
|
97
|
+
@is_external = true
|
98
|
+
else
|
99
|
+
@repo = spec.root.source[:git]
|
100
|
+
@tag = spec.root.source[:tag]
|
101
|
+
@commit = spec.root.source[:commit]
|
102
|
+
@is_external = false
|
103
|
+
end
|
104
|
+
|
105
|
+
@version = spec.root.version.version
|
106
|
+
|
107
|
+
@swift_version = spec.root.swift_version&.to_s
|
108
|
+
@module_name = spec.root.module_name
|
109
|
+
|
110
|
+
@dependency_names = spec.recursive_dep_names(all_specs)
|
111
|
+
|
112
|
+
@is_static = spec.root.attributes_hash["static_framework"] || false
|
113
|
+
@xcconfig = spec.root.attributes_hash["xcconfig"] || {}
|
114
|
+
@build_configuration = spec.root.attributes_hash.dig("pod_target_xcconfig", "prebuild_configuration") || "release"
|
115
|
+
@build_configuration.downcase!
|
116
|
+
|
117
|
+
@swift_optimization_level = spec.root.attributes_hash.dig("pod_target_xcconfig", "swift_optimization_level")
|
118
|
+
end
|
119
|
+
|
120
|
+
def inspect
|
121
|
+
return "#{@name} repo=#{@repo} pinned=#{@tag || @commit} is_static=#{@is_static} deps=#{@dependencies || "[]"}"
|
122
|
+
end
|
123
|
+
|
124
|
+
def dependencies(available_pods)
|
125
|
+
return available_pods.select { |x| dependency_names.include?(x.name) }
|
126
|
+
end
|
127
|
+
|
128
|
+
# @return [Bool] True if it's a pod that doesn't provide source code (is already shipped as a prebuilt pod)
|
129
|
+
#
|
130
|
+
def is_prebuilt
|
131
|
+
@repo.nil? && @path.nil?
|
132
|
+
end
|
133
|
+
|
134
|
+
# @return [Bool] True if it's a subspec
|
135
|
+
#
|
136
|
+
def is_subspec
|
137
|
+
@root_name != @name
|
138
|
+
end
|
139
|
+
|
140
|
+
# @return [String] The podfile entry
|
141
|
+
#
|
142
|
+
def entry(include_version = true)
|
143
|
+
e = "pod '#{@name}'"
|
144
|
+
|
145
|
+
unless include_version
|
146
|
+
return e
|
147
|
+
end
|
148
|
+
|
149
|
+
if is_external
|
150
|
+
if @repo
|
151
|
+
e += ", :git => '#{@repo}'"
|
152
|
+
end
|
153
|
+
if @tag
|
154
|
+
e += ", :tag => '#{@tag}'"
|
155
|
+
end
|
156
|
+
if @commit
|
157
|
+
e += ", :commit => '#{@commit}'"
|
158
|
+
end
|
159
|
+
if @path
|
160
|
+
e += ", :path => '#{@path}'"
|
161
|
+
end
|
162
|
+
if @branch
|
163
|
+
e += ", :branch => '#{@branch}'"
|
164
|
+
end
|
165
|
+
else
|
166
|
+
e += ", '=#{@version}'"
|
167
|
+
end
|
168
|
+
|
169
|
+
return e
|
170
|
+
end
|
171
|
+
|
172
|
+
def podspec_name
|
173
|
+
return name.gsub("/", "_")
|
174
|
+
end
|
175
|
+
|
176
|
+
def prebuilt_rel_path
|
177
|
+
if is_subspec
|
178
|
+
return "#{name}/#{module_name}.framework"
|
179
|
+
else
|
180
|
+
return "#{module_name}.framework"
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
184
|
+
def prebuilt_entry
|
185
|
+
relative_path = Pathname.new(Configuration.base_path).relative_path_from(Pathname.new(PodBuilder::xcodepath)).to_s
|
186
|
+
return "pod 'PodBuilder/#{podspec_name}', :path => '#{relative_path}'"
|
187
|
+
end
|
188
|
+
|
189
|
+
def has_subspec(named)
|
190
|
+
unless !is_subspec
|
191
|
+
return false
|
192
|
+
end
|
193
|
+
|
194
|
+
return named.split("/").first == name
|
195
|
+
end
|
196
|
+
|
197
|
+
def has_common_spec(named)
|
198
|
+
return root_name == named.split("/").first
|
199
|
+
end
|
200
|
+
|
201
|
+
def git_hard_checkout
|
202
|
+
prefix = "git fetch --all --tags --prune; git reset --hard"
|
203
|
+
if @tag
|
204
|
+
return "#{prefix} tags/#{@tag}"
|
205
|
+
end
|
206
|
+
if @commit
|
207
|
+
return "#{prefix} #{@commit}"
|
208
|
+
end
|
209
|
+
if @branch
|
210
|
+
return "#{prefix} origin/#{@branch}"
|
211
|
+
end
|
212
|
+
|
213
|
+
return nil
|
214
|
+
end
|
215
|
+
end
|
216
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
module PodBuilder
|
2
|
+
class Podspec
|
3
|
+
def self.generate
|
4
|
+
buildable_items = Podfile.podfile_items_at(PodBuilder::basepath("Podfile"))
|
5
|
+
buildable_items.select! { |x| x.is_prebuilt == false }
|
6
|
+
|
7
|
+
podspecs = []
|
8
|
+
buildable_items.each do |pod|
|
9
|
+
spec_exists = File.exist?(PodBuilder::basepath(vendored_spec_framework_path(pod)))
|
10
|
+
subspec_exists = File.exist?(PodBuilder::basepath(vendored_subspec_framework_path(pod)))
|
11
|
+
|
12
|
+
unless spec_exists || subspec_exists
|
13
|
+
puts "Skipping #{pod.name}, not prebuilt".blue
|
14
|
+
next
|
15
|
+
end
|
16
|
+
|
17
|
+
vendored_frameworks = [pod] + pod.dependencies(buildable_items)
|
18
|
+
|
19
|
+
static_vendored_frameworks = vendored_frameworks.select { |x| x.is_static }
|
20
|
+
framework_paths = vendored_frameworks.map { |x| vendored_framework_path(x) }.compact
|
21
|
+
|
22
|
+
podspec = " s.subspec '#{pod.podspec_name}' do |p|\n"
|
23
|
+
podspec += " p.vendored_frameworks = '#{framework_paths.uniq.join("','")}'\n"
|
24
|
+
|
25
|
+
podspec_resources = static_vendored_frameworks.map { |x| "#{vendored_framework_path(x)}/*.{nib,bundle,xcasset,strings,png,jpg,tif,tiff,otf,ttf,ttc,plist,json,caf,wav,p12,momd}" }
|
26
|
+
if podspec_resources.count > 0
|
27
|
+
podspec += " p.resources = '#{podspec_resources.uniq.join("','")}'\n"
|
28
|
+
end
|
29
|
+
|
30
|
+
podspec_exclude_files = static_vendored_frameworks.map { |x| "#{vendored_framework_path(x)}/Info.plist" }
|
31
|
+
if podspec_exclude_files.count > 0
|
32
|
+
podspec += " p.exclude_files = '#{podspec_exclude_files.uniq.join("','")}'\n"
|
33
|
+
end
|
34
|
+
|
35
|
+
if pod.xcconfig.count > 0
|
36
|
+
podspec += " p.xcconfig = #{pod.xcconfig.to_s.gsub("\"", "'")}\n"
|
37
|
+
end
|
38
|
+
|
39
|
+
podspec += " end"
|
40
|
+
|
41
|
+
podspecs.push(podspec)
|
42
|
+
end
|
43
|
+
|
44
|
+
cwd = File.dirname(File.expand_path(__FILE__))
|
45
|
+
podspec_file = File.read("#{cwd}/templates/build_podspec.template")
|
46
|
+
podspec_file.gsub!("%%%podspecs%%%", podspecs.join("\n\n"))
|
47
|
+
|
48
|
+
File.write(PodBuilder::basepath("PodBuilder.podspec"), podspec_file)
|
49
|
+
end
|
50
|
+
|
51
|
+
private
|
52
|
+
|
53
|
+
def self.vendored_framework_path(pod)
|
54
|
+
if File.exist?(PodBuilder::basepath(vendored_subspec_framework_path(pod)))
|
55
|
+
return vendored_subspec_framework_path(pod)
|
56
|
+
elsif File.exist?(PodBuilder::basepath(vendored_spec_framework_path(pod)))
|
57
|
+
return vendored_spec_framework_path(pod)
|
58
|
+
end
|
59
|
+
|
60
|
+
return nil
|
61
|
+
end
|
62
|
+
|
63
|
+
def self.vendored_subspec_framework_path(pod)
|
64
|
+
return "Rome/#{pod.prebuilt_rel_path}"
|
65
|
+
end
|
66
|
+
|
67
|
+
def self.vendored_spec_framework_path(pod)
|
68
|
+
return "Rome/#{pod.module_name}.framework"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
require 'CFPropertyList'
|
2
|
+
|
3
|
+
%%%sources%%%
|
4
|
+
|
5
|
+
use_frameworks!
|
6
|
+
|
7
|
+
plugin 'cocoapods-rome', { dsym: false, configuration: '%%%build_configuration%%%', pre_compile: Proc.new { |installer|
|
8
|
+
|
9
|
+
def set_build_settings(target_name, build_configurations, installer)
|
10
|
+
installer.pods_project.targets.each do |target|
|
11
|
+
target.build_configurations.each do |config|
|
12
|
+
if target.name == target_name
|
13
|
+
build_configurations.each do |k, v|
|
14
|
+
config.build_settings[k] = v
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
%%%build_settings%%%
|
22
|
+
pods = [%%%pods%%%]
|
23
|
+
dependencies = [%%%dependencies%%%]
|
24
|
+
|
25
|
+
removed_dependencies = []
|
26
|
+
installer.pods_project.targets.each do |target|
|
27
|
+
target.frameworks_build_phase.files.each do |f|
|
28
|
+
dependencies.each do |dependency|
|
29
|
+
if f.display_name().include?(dependency + ".a") then
|
30
|
+
removed_dependencies.push(dependency)
|
31
|
+
target.frameworks_build_phase.remove_build_file(f)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
# Add -l<dependency> to other linker flags
|
38
|
+
installer.pods_project.targets.each do |target|
|
39
|
+
if pods.any? { |w| target.display_name().include?(w) }
|
40
|
+
removed_dependencies.each do |dependency|
|
41
|
+
target.build_configurations.each do |config|
|
42
|
+
if config.build_settings['OTHER_LDFLAGS'].nil?
|
43
|
+
config.build_settings['OTHER_LDFLAGS'] = '-framework '
|
44
|
+
else
|
45
|
+
config.build_settings['OTHER_LDFLAGS'] << '-framework '
|
46
|
+
end
|
47
|
+
|
48
|
+
config.build_settings['OTHER_LDFLAGS'] << "\"#{dependency}\" "
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
system("mkdir -p Pods/Pods.xcodeproj/project.xcworkspace/xcshareddata")
|
55
|
+
|
56
|
+
data = { 'BuildSystemType' => '%%%build_system%%%' } # Latest is new build system, Legacy is Legacy one
|
57
|
+
plist = CFPropertyList::List.new
|
58
|
+
plist.value = CFPropertyList.guess(data)
|
59
|
+
plist.save("Pods/Pods.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings", CFPropertyList::List::FORMAT_BINARY)
|
60
|
+
|
61
|
+
installer.pods_project.save
|
62
|
+
}}
|
63
|
+
|
64
|
+
platform :ios, '9.0'
|
65
|
+
|
66
|
+
# Targets
|
67
|
+
|
68
|
+
target 'DummyTarget' do
|
69
|
+
%%%targets%%%
|
70
|
+
end
|
71
|
+
|
72
|
+
pre_install do |installer|
|
73
|
+
raise "\n🚨 Do not launch 'pod install' manually, use `pod_builder` instead!\n" if !File.exist?('pod_builder.lock')
|
74
|
+
|
75
|
+
# workaround for https://github.com/CocoaPods/CocoaPods/issues/3289
|
76
|
+
Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
|
77
|
+
Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_duplicate_framework_and_library_names) {}
|
78
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Pod::Spec.new do |s|
|
2
|
+
s.name = "PodBuilder"
|
3
|
+
s.version = "0.0.1"
|
4
|
+
s.summary = "Prebuilt frameworks"
|
5
|
+
|
6
|
+
s.description = <<-DESC
|
7
|
+
A set of prebuilt frameworks to make compilation faster
|
8
|
+
DESC
|
9
|
+
|
10
|
+
s.homepage = "https://www.subito.it"
|
11
|
+
s.license = 'Apache License, Version 2.0'
|
12
|
+
s.author = { "Tomas Camin" => "tomas.camin@schibsted.com" }
|
13
|
+
s.source = { :git => "https://www.subito.it", :tag => s.version.to_s }
|
14
|
+
|
15
|
+
s.platform = :ios, '9.0'
|
16
|
+
s.requires_arc = true
|
17
|
+
|
18
|
+
%%%podspecs%%%
|
19
|
+
end
|
data/pod-builder.gemspec
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'pod_builder/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "pod-builder"
|
8
|
+
spec.version = PodBuilder::VERSION
|
9
|
+
spec.authors = ["Tomas Camin"]
|
10
|
+
spec.email = ["tomas.camin@schibsted.com"]
|
11
|
+
|
12
|
+
spec.summary = %q{Prebuild CocoaPods pods}
|
13
|
+
spec.description = %q{Prebuild CocoaPods pods to make compiling your Xcode projects faster}
|
14
|
+
spec.homepage = "https://github.com/Subito-it/PodBuilder"
|
15
|
+
spec.license = "Apache-2.0"
|
16
|
+
|
17
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
18
|
+
f.match(%r{^(test|spec|features)/})
|
19
|
+
end
|
20
|
+
spec.bindir = "exe"
|
21
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
|
+
spec.require_paths = ["lib"]
|
23
|
+
|
24
|
+
spec.add_development_dependency "bundler", "~> 1.16"
|
25
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
26
|
+
spec.add_development_dependency "ruby-debug-ide"
|
27
|
+
spec.add_development_dependency "debase"
|
28
|
+
|
29
|
+
spec.add_runtime_dependency 'xcodeproj'
|
30
|
+
spec.add_runtime_dependency 'colored'
|
31
|
+
spec.add_runtime_dependency 'cocoapods', '~> 1.0'
|
32
|
+
spec.add_runtime_dependency 'cocoapods-core', '~> 1.0'
|
33
|
+
spec.add_runtime_dependency 'cocoapods-rome', '~> 1.0'
|
34
|
+
|
35
|
+
spec.add_runtime_dependency 'CFPropertyList'
|
36
|
+
end
|
metadata
ADDED
@@ -0,0 +1,274 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: pod-builder
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.4
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Tomas Camin
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-08-24 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.16'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.16'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: ruby-debug-ide
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: debase
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: xcodeproj
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: colored
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: cocoapods
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '1.0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '1.0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: cocoapods-core
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '1.0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '1.0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: cocoapods-rome
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '1.0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '1.0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: CFPropertyList
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
description: Prebuild CocoaPods pods to make compiling your Xcode projects faster
|
154
|
+
email:
|
155
|
+
- tomas.camin@schibsted.com
|
156
|
+
executables:
|
157
|
+
- pod_builder
|
158
|
+
extensions: []
|
159
|
+
extra_rdoc_files: []
|
160
|
+
files:
|
161
|
+
- ".gitignore"
|
162
|
+
- ".vscode/launch.json"
|
163
|
+
- Example/PodBuilderExample.xcodeproj/project.pbxproj
|
164
|
+
- Example/PodBuilderExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata
|
165
|
+
- Example/PodBuilderExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
|
166
|
+
- Example/PodBuilderExample.xcodeproj/project.xcworkspace/xcuserdata/tomas.xcuserdatad/UserInterfaceState.xcuserstate
|
167
|
+
- Example/PodBuilderExample.xcodeproj/xcuserdata/tomas.xcuserdatad/xcschemes/xcschememanagement.plist
|
168
|
+
- Example/PodBuilderExample.xcworkspace/contents.xcworkspacedata
|
169
|
+
- Example/PodBuilderExample/AppDelegate.swift
|
170
|
+
- Example/PodBuilderExample/Assets.xcassets/AppIcon.appiconset/Contents.json
|
171
|
+
- Example/PodBuilderExample/Assets.xcassets/Contents.json
|
172
|
+
- Example/PodBuilderExample/Base.lproj/LaunchScreen.storyboard
|
173
|
+
- Example/PodBuilderExample/Base.lproj/Main.storyboard
|
174
|
+
- Example/PodBuilderExample/Info.plist
|
175
|
+
- Example/PodBuilderExample/ViewController.swift
|
176
|
+
- Example/Podfile
|
177
|
+
- Example/Podfile.lock
|
178
|
+
- Example/Pods/Alamofire/LICENSE
|
179
|
+
- Example/Pods/Alamofire/README.md
|
180
|
+
- Example/Pods/Alamofire/Source/AFError.swift
|
181
|
+
- Example/Pods/Alamofire/Source/Alamofire.swift
|
182
|
+
- Example/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift
|
183
|
+
- Example/Pods/Alamofire/Source/MultipartFormData.swift
|
184
|
+
- Example/Pods/Alamofire/Source/NetworkReachabilityManager.swift
|
185
|
+
- Example/Pods/Alamofire/Source/Notifications.swift
|
186
|
+
- Example/Pods/Alamofire/Source/ParameterEncoding.swift
|
187
|
+
- Example/Pods/Alamofire/Source/Request.swift
|
188
|
+
- Example/Pods/Alamofire/Source/Response.swift
|
189
|
+
- Example/Pods/Alamofire/Source/ResponseSerialization.swift
|
190
|
+
- Example/Pods/Alamofire/Source/Result.swift
|
191
|
+
- Example/Pods/Alamofire/Source/ServerTrustPolicy.swift
|
192
|
+
- Example/Pods/Alamofire/Source/SessionDelegate.swift
|
193
|
+
- Example/Pods/Alamofire/Source/SessionManager.swift
|
194
|
+
- Example/Pods/Alamofire/Source/TaskDelegate.swift
|
195
|
+
- Example/Pods/Alamofire/Source/Timeline.swift
|
196
|
+
- Example/Pods/Alamofire/Source/Validation.swift
|
197
|
+
- Example/Pods/Manifest.lock
|
198
|
+
- Example/Pods/Pods.xcodeproj/project.pbxproj
|
199
|
+
- Example/Pods/Pods.xcodeproj/xcuserdata/tomas.xcuserdatad/xcschemes/Alamofire.xcscheme
|
200
|
+
- Example/Pods/Pods.xcodeproj/xcuserdata/tomas.xcuserdatad/xcschemes/Pods-PodBuilderExample.xcscheme
|
201
|
+
- Example/Pods/Pods.xcodeproj/xcuserdata/tomas.xcuserdatad/xcschemes/xcschememanagement.plist
|
202
|
+
- Example/Pods/Target Support Files/Alamofire/Alamofire-dummy.m
|
203
|
+
- Example/Pods/Target Support Files/Alamofire/Alamofire-prefix.pch
|
204
|
+
- Example/Pods/Target Support Files/Alamofire/Alamofire-umbrella.h
|
205
|
+
- Example/Pods/Target Support Files/Alamofire/Alamofire.modulemap
|
206
|
+
- Example/Pods/Target Support Files/Alamofire/Alamofire.xcconfig
|
207
|
+
- Example/Pods/Target Support Files/Alamofire/Info.plist
|
208
|
+
- Example/Pods/Target Support Files/Pods-PodBuilderExample/Info.plist
|
209
|
+
- Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample-acknowledgements.markdown
|
210
|
+
- Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample-acknowledgements.plist
|
211
|
+
- Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample-dummy.m
|
212
|
+
- Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample-frameworks.sh
|
213
|
+
- Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample-resources.sh
|
214
|
+
- Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample-umbrella.h
|
215
|
+
- Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample.debug.xcconfig
|
216
|
+
- Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample.modulemap
|
217
|
+
- Example/Pods/Target Support Files/Pods-PodBuilderExample/Pods-PodBuilderExample.release.xcconfig
|
218
|
+
- Gemfile
|
219
|
+
- Gemfile.lock
|
220
|
+
- LICENSE.txt
|
221
|
+
- README.md
|
222
|
+
- Rakefile
|
223
|
+
- bin/console
|
224
|
+
- bin/setup
|
225
|
+
- exe/pod_builder
|
226
|
+
- lib/pod_builder/analyze.rb
|
227
|
+
- lib/pod_builder/cocoapods/analyzer.rb
|
228
|
+
- lib/pod_builder/cocoapods/specification.rb
|
229
|
+
- lib/pod_builder/command.rb
|
230
|
+
- lib/pod_builder/command/build.rb
|
231
|
+
- lib/pod_builder/command/build_all.rb
|
232
|
+
- lib/pod_builder/command/clean.rb
|
233
|
+
- lib/pod_builder/command/deintegrate.rb
|
234
|
+
- lib/pod_builder/command/generate_podspec.rb
|
235
|
+
- lib/pod_builder/command/init.rb
|
236
|
+
- lib/pod_builder/command/install_sources.rb
|
237
|
+
- lib/pod_builder/command/none.rb
|
238
|
+
- lib/pod_builder/command/restore_all.rb
|
239
|
+
- lib/pod_builder/configuration.rb
|
240
|
+
- lib/pod_builder/core.rb
|
241
|
+
- lib/pod_builder/install.rb
|
242
|
+
- lib/pod_builder/podfile.rb
|
243
|
+
- lib/pod_builder/podfile/post_actions.rb
|
244
|
+
- lib/pod_builder/podfile_item.rb
|
245
|
+
- lib/pod_builder/podspec.rb
|
246
|
+
- lib/pod_builder/templates/build_podfile.template
|
247
|
+
- lib/pod_builder/templates/build_podspec.template
|
248
|
+
- lib/pod_builder/version.rb
|
249
|
+
- pod-builder.gemspec
|
250
|
+
homepage: https://github.com/Subito-it/PodBuilder
|
251
|
+
licenses:
|
252
|
+
- Apache-2.0
|
253
|
+
metadata: {}
|
254
|
+
post_install_message:
|
255
|
+
rdoc_options: []
|
256
|
+
require_paths:
|
257
|
+
- lib
|
258
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
259
|
+
requirements:
|
260
|
+
- - ">="
|
261
|
+
- !ruby/object:Gem::Version
|
262
|
+
version: '0'
|
263
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
264
|
+
requirements:
|
265
|
+
- - ">="
|
266
|
+
- !ruby/object:Gem::Version
|
267
|
+
version: '0'
|
268
|
+
requirements: []
|
269
|
+
rubyforge_project:
|
270
|
+
rubygems_version: 2.7.3
|
271
|
+
signing_key:
|
272
|
+
specification_version: 4
|
273
|
+
summary: Prebuild CocoaPods pods
|
274
|
+
test_files: []
|