cocoapods-mtxx-bin 0.0.1
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/LICENSE.txt +22 -0
- data/README.md +11 -0
- data/lib/cocoapods-mtxx-bin/command/bin/archive.rb +206 -0
- data/lib/cocoapods-mtxx-bin/command/bin/auto.rb +212 -0
- data/lib/cocoapods-mtxx-bin/command/bin/code.rb +232 -0
- data/lib/cocoapods-mtxx-bin/command/bin/imy.rb +45 -0
- data/lib/cocoapods-mtxx-bin/command/bin/init.rb +94 -0
- data/lib/cocoapods-mtxx-bin/command/bin/initHotKey.rb +70 -0
- data/lib/cocoapods-mtxx-bin/command/bin/install.rb +44 -0
- data/lib/cocoapods-mtxx-bin/command/bin/lib/lint.rb +67 -0
- data/lib/cocoapods-mtxx-bin/command/bin/repo/push.rb +115 -0
- data/lib/cocoapods-mtxx-bin/command/bin/repo/update.rb +42 -0
- data/lib/cocoapods-mtxx-bin/command/bin/repo.rb +14 -0
- data/lib/cocoapods-mtxx-bin/command/bin/spec/create.rb +73 -0
- data/lib/cocoapods-mtxx-bin/command/bin/spec/lint.rb +109 -0
- data/lib/cocoapods-mtxx-bin/command/bin/spec.rb +13 -0
- data/lib/cocoapods-mtxx-bin/command/bin/update.rb +154 -0
- data/lib/cocoapods-mtxx-bin/command/bin.rb +65 -0
- data/lib/cocoapods-mtxx-bin/command.rb +1 -0
- data/lib/cocoapods-mtxx-bin/config/config.rb +166 -0
- data/lib/cocoapods-mtxx-bin/config/config_asker.rb +60 -0
- data/lib/cocoapods-mtxx-bin/config/config_builder.rb +216 -0
- data/lib/cocoapods-mtxx-bin/config/config_hot_key.rb +103 -0
- data/lib/cocoapods-mtxx-bin/config/config_hot_key_asker.rb +57 -0
- data/lib/cocoapods-mtxx-bin/gem_version.rb +9 -0
- data/lib/cocoapods-mtxx-bin/helpers/Info.plist +0 -0
- data/lib/cocoapods-mtxx-bin/helpers/build_helper.rb +167 -0
- data/lib/cocoapods-mtxx-bin/helpers/build_utils.rb +64 -0
- data/lib/cocoapods-mtxx-bin/helpers/framework.rb +86 -0
- data/lib/cocoapods-mtxx-bin/helpers/framework_builder.rb +551 -0
- data/lib/cocoapods-mtxx-bin/helpers/library.rb +54 -0
- data/lib/cocoapods-mtxx-bin/helpers/library_builder.rb +90 -0
- data/lib/cocoapods-mtxx-bin/helpers/sources_helper.rb +35 -0
- data/lib/cocoapods-mtxx-bin/helpers/spec_creator.rb +170 -0
- data/lib/cocoapods-mtxx-bin/helpers/spec_files_helper.rb +80 -0
- data/lib/cocoapods-mtxx-bin/helpers/spec_source_creator.rb +304 -0
- data/lib/cocoapods-mtxx-bin/helpers/upload_helper.rb +104 -0
- data/lib/cocoapods-mtxx-bin/helpers.rb +5 -0
- data/lib/cocoapods-mtxx-bin/native/acknowledgements.rb +27 -0
- data/lib/cocoapods-mtxx-bin/native/analyzer.rb +85 -0
- data/lib/cocoapods-mtxx-bin/native/file_accessor.rb +28 -0
- data/lib/cocoapods-mtxx-bin/native/gen.rb +79 -0
- data/lib/cocoapods-mtxx-bin/native/installation_options.rb +25 -0
- data/lib/cocoapods-mtxx-bin/native/installer.rb +135 -0
- data/lib/cocoapods-mtxx-bin/native/linter.rb +26 -0
- data/lib/cocoapods-mtxx-bin/native/path_source.rb +33 -0
- data/lib/cocoapods-mtxx-bin/native/pod_source_installer.rb +19 -0
- data/lib/cocoapods-mtxx-bin/native/pod_target_installer.rb +94 -0
- data/lib/cocoapods-mtxx-bin/native/podfile.rb +91 -0
- data/lib/cocoapods-mtxx-bin/native/podfile_env.rb +37 -0
- data/lib/cocoapods-mtxx-bin/native/podfile_generator.rb +201 -0
- data/lib/cocoapods-mtxx-bin/native/podspec_finder.rb +25 -0
- data/lib/cocoapods-mtxx-bin/native/resolver.rb +238 -0
- data/lib/cocoapods-mtxx-bin/native/sandbox_analyzer.rb +34 -0
- data/lib/cocoapods-mtxx-bin/native/source.rb +35 -0
- data/lib/cocoapods-mtxx-bin/native/sources_manager.rb +19 -0
- data/lib/cocoapods-mtxx-bin/native/specification.rb +31 -0
- data/lib/cocoapods-mtxx-bin/native/target_validator.rb +41 -0
- data/lib/cocoapods-mtxx-bin/native/validator.rb +40 -0
- data/lib/cocoapods-mtxx-bin/native.rb +25 -0
- data/lib/cocoapods-mtxx-bin/source_provider_hook.rb +53 -0
- data/lib/cocoapods-mtxx-bin.rb +2 -0
- data/lib/cocoapods_plugin.rb +2 -0
- data/spec/command/bin_spec.rb +12 -0
- data/spec/spec_helper.rb +50 -0
- metadata +182 -0
@@ -0,0 +1,103 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require 'cocoapods-mtxx-bin/native/podfile'
|
3
|
+
require 'cocoapods-mtxx-bin/native/podfile_env'
|
4
|
+
require 'cocoapods/generate'
|
5
|
+
|
6
|
+
module CBin
|
7
|
+
class Config_Hot_Key
|
8
|
+
|
9
|
+
def config_file
|
10
|
+
config_file_with_hot_key_index(hot_key_index)
|
11
|
+
end
|
12
|
+
|
13
|
+
def template_hash
|
14
|
+
{
|
15
|
+
'hot_key_index' => { description: '快捷键', default: '1', selection: %w[1 2 3...] },
|
16
|
+
'hot_key_dir' => { description: '快捷键执行目录', default: '' },
|
17
|
+
'hot_key_cmd' => { description: '快捷键执行命令', default: 'pod bin update --no-repo-update' }
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
def config_file_with_hot_key_index(hot_key_index)
|
22
|
+
file = config_file_whith_hot_key_index(hot_key_index)
|
23
|
+
raise "\n===== #{hot_key_index} 参数有误,请检查%w[1 2 3...]===" unless (hot_key_index.to_i).is_a?(Integer)
|
24
|
+
File.expand_path("#{Pod::Config.instance.home_dir}/#{file}")
|
25
|
+
end
|
26
|
+
|
27
|
+
def hot_key_index
|
28
|
+
@hot_key_index = 1 if @hot_key_index.is_a?(NilClass)
|
29
|
+
@hot_key_index
|
30
|
+
end
|
31
|
+
|
32
|
+
def set_hot_key_index(hot_key_index)
|
33
|
+
@hot_key_index = hot_key_index
|
34
|
+
end
|
35
|
+
|
36
|
+
def config_file_whith_hot_key_index(hot_key_index)
|
37
|
+
"hot_key_#{hot_key_index}.yml"
|
38
|
+
end
|
39
|
+
|
40
|
+
def sync_config(config)
|
41
|
+
File.open(config_file_with_hot_key_index(config['hot_key_index']), 'w+') do |f|
|
42
|
+
f.write(config.to_yaml)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def default_config
|
47
|
+
@default_config ||= Hash[template_hash.map { |k, v| [k, v[:default]] }]
|
48
|
+
end
|
49
|
+
|
50
|
+
private
|
51
|
+
|
52
|
+
def load_config
|
53
|
+
file = config_file
|
54
|
+
if (!file.nil?) && File.exist?(config_file)
|
55
|
+
YAML.load_file(config_file)
|
56
|
+
else
|
57
|
+
default_config
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def config
|
62
|
+
@config ||= begin
|
63
|
+
puts "====== cocoapods-mtxx-bin #{CBin::VERSION} 版本 ======== \n"
|
64
|
+
@config = OpenStruct.new load_config
|
65
|
+
validate!
|
66
|
+
@config
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def validate!
|
71
|
+
template_hash.each do |k, v|
|
72
|
+
selection = v[:selection]
|
73
|
+
next if !selection || selection.empty?
|
74
|
+
|
75
|
+
config_value = @config.send(k)
|
76
|
+
next unless config_value
|
77
|
+
unless selection.include?(config_value)
|
78
|
+
raise Pod::Informative, "#{k} 字段的值必须限定在可选值 [ #{selection.join(' / ')} ] 内".red
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def respond_to_missing?(method, include_private = false)
|
84
|
+
config.respond_to?(method) || super
|
85
|
+
end
|
86
|
+
|
87
|
+
def method_missing(method, *args, &block)
|
88
|
+
if config.respond_to?(method)
|
89
|
+
config.send(method, *args)
|
90
|
+
elsif template_hash.keys.include?(method.to_s)
|
91
|
+
raise Pod::Informative, "#{method} 字段必须在配置文件 #{config_file} 中设置, 请执行 init 命令配置或手动修改配置文件".red
|
92
|
+
else
|
93
|
+
super
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
def self.config_hot_key
|
99
|
+
@config_hot_key ||= Config_Hot_Key.new
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
103
|
+
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require 'cocoapods-mtxx-bin/config/config_hot_key'
|
3
|
+
|
4
|
+
module CBin
|
5
|
+
class Config_Hot_Key
|
6
|
+
class Asker
|
7
|
+
def show_prompt
|
8
|
+
print ' > '.green
|
9
|
+
end
|
10
|
+
|
11
|
+
def ask_with_answer(question, pre_answer, selection)
|
12
|
+
print "\n#{question}\n"
|
13
|
+
|
14
|
+
print_selection_info = lambda {
|
15
|
+
print "可选值:[ #{selection.join(' / ')} ]\n" if selection
|
16
|
+
}
|
17
|
+
print_selection_info.call
|
18
|
+
print "旧值:#{pre_answer}\n" unless pre_answer.nil?
|
19
|
+
|
20
|
+
answer = ''
|
21
|
+
loop do
|
22
|
+
show_prompt
|
23
|
+
answer = STDIN.gets.chomp.strip
|
24
|
+
|
25
|
+
if answer == '' && !pre_answer.nil?
|
26
|
+
answer = pre_answer
|
27
|
+
print answer.yellow
|
28
|
+
print "\n"
|
29
|
+
end
|
30
|
+
|
31
|
+
next if answer.empty?
|
32
|
+
break if !selection || selection.include?(answer)
|
33
|
+
|
34
|
+
print_selection_info.call
|
35
|
+
end
|
36
|
+
|
37
|
+
answer
|
38
|
+
end
|
39
|
+
|
40
|
+
def wellcome_message
|
41
|
+
print <<~EOF
|
42
|
+
|
43
|
+
开始设置快捷键 pod bin imy.
|
44
|
+
所有的信息都会保存在 #{CBin.config_hot_key.config_file} 文件中.
|
45
|
+
%w[hot_key.yaml]
|
46
|
+
你可以在对应目录下手动添加编辑该文件. 文件包含的配置信息样式如下:
|
47
|
+
|
48
|
+
#{CBin.config_hot_key.default_config.to_yaml}
|
49
|
+
EOF
|
50
|
+
end
|
51
|
+
|
52
|
+
def done_message
|
53
|
+
print "\n设置完成.\n".green
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
Binary file
|
@@ -0,0 +1,167 @@
|
|
1
|
+
# copy from https://github.com/CocoaPods/cocoapods-packager
|
2
|
+
|
3
|
+
require 'cocoapods-mtxx-bin/native/podfile'
|
4
|
+
require 'cocoapods/command/gen'
|
5
|
+
require 'cocoapods/generate'
|
6
|
+
require 'cocoapods-mtxx-bin/helpers/framework_builder'
|
7
|
+
require 'cocoapods-mtxx-bin/helpers/library_builder'
|
8
|
+
require 'cocoapods-mtxx-bin/config/config_builder'
|
9
|
+
|
10
|
+
module CBin
|
11
|
+
class Build
|
12
|
+
class Helper
|
13
|
+
include Pod
|
14
|
+
#class var
|
15
|
+
@@build_defines = ""
|
16
|
+
#Debug下还待完成
|
17
|
+
def initialize(spec,
|
18
|
+
platform,
|
19
|
+
framework_output,
|
20
|
+
zip,
|
21
|
+
rootSpec,
|
22
|
+
skip_archive = false,
|
23
|
+
build_model="Release",
|
24
|
+
installer = nil)
|
25
|
+
@spec = spec
|
26
|
+
@platform = platform
|
27
|
+
@build_model = build_model
|
28
|
+
@rootSpec = rootSpec
|
29
|
+
@isRootSpec = rootSpec.name == spec.name
|
30
|
+
@skip_archive = skip_archive
|
31
|
+
@framework_output = framework_output
|
32
|
+
@zip = zip
|
33
|
+
@installer = installer
|
34
|
+
|
35
|
+
@framework_path
|
36
|
+
end
|
37
|
+
|
38
|
+
# 构建.a或.framework
|
39
|
+
def build
|
40
|
+
unless @skip_archive
|
41
|
+
unless CBin::Build::Utils.is_framework(@spec)
|
42
|
+
build_static_library
|
43
|
+
zip_static_library
|
44
|
+
else
|
45
|
+
build_static_framework
|
46
|
+
zip_static_framework
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
# 构建静态framework
|
52
|
+
def build_static_framework
|
53
|
+
UI.title("Building static framework #{@spec}") do
|
54
|
+
source_dir = Dir.pwd
|
55
|
+
# file_accessor = Sandbox::FileAccessor.new(Pathname.new('.').expand_path, @spec.consumer(@platform))
|
56
|
+
Dir.chdir(workspace_directory) do
|
57
|
+
builder = CBin::Framework::Builder.new(@spec, @installer, @platform, source_dir, @isRootSpec, @build_model )
|
58
|
+
# 编译当前库
|
59
|
+
@@build_defines = builder.build if @isRootSpec
|
60
|
+
begin
|
61
|
+
@framework_path = builder.lipo_create(@@build_defines) unless @skip_archive
|
62
|
+
rescue
|
63
|
+
@skip_archive = true
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
# 构建library
|
70
|
+
def build_static_library
|
71
|
+
source_dir = zip_dir
|
72
|
+
file_accessor = Sandbox::FileAccessor.new(Pathname.new('.').expand_path, @spec.consumer(@platform))
|
73
|
+
Dir.chdir(workspace_directory) do
|
74
|
+
builder = CBin::Library::Builder.new(@spec, file_accessor, @platform, source_dir,@framework_path)
|
75
|
+
builder.build
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
# 压缩静态framework
|
80
|
+
def zip_static_framework
|
81
|
+
Dir.chdir(File.join(workspace_directory,@framework_path.root_path)) do
|
82
|
+
output_name = File.join(zip_dir, framework_name_zip)
|
83
|
+
unless File.exist?(framework_name)
|
84
|
+
UI.info "没有需要压缩的 framework 文件:#{framework_name}"
|
85
|
+
return
|
86
|
+
end
|
87
|
+
|
88
|
+
UI.title "Compressing #{framework_name} into #{output_name}" do
|
89
|
+
Dir.mkdir(zip_dir) unless File.exist?(zip_dir)
|
90
|
+
command = "zip --symlinks -r #{output_name} #{framework_name}"
|
91
|
+
UI.info "#{command}"
|
92
|
+
`#{command}`
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
# 压缩library
|
98
|
+
def zip_static_library
|
99
|
+
Dir.chdir(zip_dir) do
|
100
|
+
output_library = "#{library_name}.zip"
|
101
|
+
unless File.exist?(library_name)
|
102
|
+
raise Informative, "没有需要压缩的 library 文件:#{library_name}"
|
103
|
+
end
|
104
|
+
|
105
|
+
UI.puts "Compressing #{library_name} into #{output_library}"
|
106
|
+
`zip --symlinks -r #{output_library} #{library_name}`
|
107
|
+
end
|
108
|
+
|
109
|
+
end
|
110
|
+
|
111
|
+
# 清理缓存
|
112
|
+
def clean_workspace
|
113
|
+
UI.puts 'Cleaning workspace'
|
114
|
+
|
115
|
+
FileUtils.rm_rf(gen_name)
|
116
|
+
Dir.chdir(zip_dir) do
|
117
|
+
FileUtils.rm_rf(framework_name) if @zip
|
118
|
+
FileUtils.rm_rf(library_name)
|
119
|
+
FileUtils.rm_rf(framework_name) unless @framework_output
|
120
|
+
FileUtils.rm_rf("#{framework_name}.zip") unless @framework_output
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
def framework_name
|
125
|
+
CBin::Config::Builder.instance.framework_name(@spec)
|
126
|
+
end
|
127
|
+
|
128
|
+
def framework_name_zip
|
129
|
+
CBin::Config::Builder.instance.framework_name_version(@spec) + ".zip"
|
130
|
+
end
|
131
|
+
|
132
|
+
def library_name
|
133
|
+
CBin::Config::Builder.instance.library_name(@spec)
|
134
|
+
end
|
135
|
+
|
136
|
+
# "PodA-build-temp/bin-archive/PodA"
|
137
|
+
def workspace_directory
|
138
|
+
File.expand_path("#{gen_name}/#{@rootSpec.name}")
|
139
|
+
end
|
140
|
+
|
141
|
+
def zip_dir
|
142
|
+
CBin::Config::Builder.instance.zip_dir
|
143
|
+
end
|
144
|
+
|
145
|
+
def gen_name
|
146
|
+
CBin::Config::Builder.instance.gen_dir
|
147
|
+
end
|
148
|
+
|
149
|
+
|
150
|
+
def spec_file
|
151
|
+
@spec_file ||= begin
|
152
|
+
if @podspec
|
153
|
+
find_spec_file(@podspec)
|
154
|
+
else
|
155
|
+
if code_spec_files.empty?
|
156
|
+
raise Informative, '当前目录下没有找到可用源码 podspec.'
|
157
|
+
end
|
158
|
+
|
159
|
+
spec_file = code_spec_files.first
|
160
|
+
spec_file
|
161
|
+
end
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
end
|
166
|
+
end
|
167
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require 'cocoapods-mtxx-bin/config/config'
|
3
|
+
|
4
|
+
module CBin
|
5
|
+
class Build
|
6
|
+
|
7
|
+
class Utils
|
8
|
+
|
9
|
+
def Utils.is_framework(spec)
|
10
|
+
if Utils.uses_frameworks?
|
11
|
+
return true
|
12
|
+
end
|
13
|
+
|
14
|
+
return Utils.is_swift_module(spec)
|
15
|
+
end
|
16
|
+
|
17
|
+
def Utils.is_swift_module(spec)
|
18
|
+
|
19
|
+
is_framework = false
|
20
|
+
dir = File.join(CBin::Config::Builder.instance.gen_dir, CBin::Config::Builder.instance.target_name)
|
21
|
+
#auto 走这里
|
22
|
+
if File.exist?(dir)
|
23
|
+
Dir.chdir(dir) do
|
24
|
+
public_headers = Array.new
|
25
|
+
spec_header_dir = "./Headers/Public/#{spec.name}"
|
26
|
+
|
27
|
+
unless File.exist?(spec_header_dir)
|
28
|
+
spec_header_dir = "./Pods/Headers/Public/#{spec.name}"
|
29
|
+
end
|
30
|
+
return false unless File.exist?(spec_header_dir)
|
31
|
+
|
32
|
+
is_framework = File.exist?(File.join(spec_header_dir, "#{spec.name}-umbrella.h"))
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
if $ARGV[1] == "local"
|
37
|
+
is_framework = File.exist?(File.join(CBin::Config::Builder.instance.xcode_build_dir, "#{spec.name}.framework"))
|
38
|
+
unless is_framework
|
39
|
+
is_framework = File.exist?(File.join(CBin::Config::Builder.instance.xcode_BuildProductsPath_dir, "#{spec.name}","Swift Compatibility Header"))
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
is_framework
|
44
|
+
end
|
45
|
+
|
46
|
+
def Utils.uses_frameworks?
|
47
|
+
return true
|
48
|
+
uses_frameworks = false
|
49
|
+
Pod::Config.instance.podfile.target_definitions.each do |key,value|
|
50
|
+
if key != "Pods"
|
51
|
+
uses_frameworks = value.uses_frameworks?
|
52
|
+
if uses_frameworks
|
53
|
+
break ;
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
return uses_frameworks
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# copy from https://github.com/CocoaPods/cocoapods-packager
|
2
|
+
|
3
|
+
module CBin
|
4
|
+
class Framework
|
5
|
+
attr_reader :headers_path
|
6
|
+
attr_reader :module_map_path
|
7
|
+
attr_reader :resources_path
|
8
|
+
attr_reader :root_path
|
9
|
+
attr_reader :versions_path
|
10
|
+
attr_reader :swift_module_path
|
11
|
+
attr_reader :fwk_path
|
12
|
+
|
13
|
+
def initialize(name, platform)
|
14
|
+
@name = name
|
15
|
+
@platform = platform
|
16
|
+
end
|
17
|
+
|
18
|
+
def make
|
19
|
+
make_root
|
20
|
+
make_framework
|
21
|
+
# make_headers
|
22
|
+
# make_resources
|
23
|
+
# make_current_version
|
24
|
+
end
|
25
|
+
|
26
|
+
def delete_resources
|
27
|
+
Pathname.new(@resources_path).rmtree if File.exist? (@resources_path)
|
28
|
+
(Pathname.new(@fwk_path) + Pathname.new('Resources')).delete if File.exist?(Pathname.new(@fwk_path) + Pathname.new('Resources'))
|
29
|
+
end
|
30
|
+
|
31
|
+
def remove_current_version
|
32
|
+
FileUtils.rm_f(File.join(@fwk_path,@name))
|
33
|
+
FileUtils.rm_f(File.join(@fwk_path,"Headers"))
|
34
|
+
FileUtils.rm_f(File.join(@fwk_path,"Resources"))
|
35
|
+
|
36
|
+
FileUtils.cp_r("#{@versions_path}/.", @fwk_path)
|
37
|
+
# FileUtils.remove_dir(@versions_path)
|
38
|
+
FileUtils.remove_dir("#{@fwk_path}/Versions")
|
39
|
+
|
40
|
+
# current_version_path = @versions_path + Pathname.new('../Current')
|
41
|
+
# `ln -sf A #{current_version_path}`
|
42
|
+
# `ln -sf Versions/Current/Headers #{@fwk_path}/`
|
43
|
+
# `ln -sf Versions/Current/Resources #{@fwk_path}/`
|
44
|
+
# `ln -sf Versions/Current/#{@name} #{@fwk_path}/`
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
|
49
|
+
def make_current_version
|
50
|
+
current_version_path = @versions_path + Pathname.new('../Current')
|
51
|
+
`ln -sf A #{current_version_path}`
|
52
|
+
`ln -sf Versions/Current/Headers #{@fwk_path}/`
|
53
|
+
`ln -sf Versions/Current/Resources #{@fwk_path}/`
|
54
|
+
`ln -sf Versions/Current/#{@name} #{@fwk_path}/`
|
55
|
+
end
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
def make_framework
|
60
|
+
@fwk_path = @root_path + Pathname.new(@name + '.framework')
|
61
|
+
@fwk_path.mkdir unless @fwk_path.exist?
|
62
|
+
|
63
|
+
@module_map_path = @fwk_path + Pathname.new('Modules')
|
64
|
+
@swift_module_path = @module_map_path + Pathname.new(@name + '.swiftmodule')
|
65
|
+
|
66
|
+
|
67
|
+
# @versions_path = @fwk_path + Pathname.new('Versions/A')
|
68
|
+
end
|
69
|
+
|
70
|
+
def make_headers
|
71
|
+
@headers_path = @versions_path + Pathname.new('Headers')
|
72
|
+
@headers_path.mkpath unless @headers_path.exist?
|
73
|
+
end
|
74
|
+
|
75
|
+
def make_resources
|
76
|
+
@resources_path = @versions_path + Pathname.new('Resources')
|
77
|
+
@resources_path.mkpath unless @resources_path.exist?
|
78
|
+
end
|
79
|
+
|
80
|
+
# bin-archive/PodA/ios
|
81
|
+
def make_root
|
82
|
+
@root_path = Pathname.new(@platform)
|
83
|
+
@root_path.mkpath unless @root_path.exist?
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|