cocoapods-imy-bin 0.2.6 → 0.3.0.11
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/README.md +0 -540
- data/lib/cocoapods-imy-bin/command/bin/archive.rb +43 -4
- data/lib/cocoapods-imy-bin/command/bin/auto.rb +9 -7
- data/lib/cocoapods-imy-bin/command/bin/code.rb +1 -6
- data/lib/cocoapods-imy-bin/command/bin/local.rb +16 -7
- data/lib/cocoapods-imy-bin/config/config.rb +1 -1
- data/lib/cocoapods-imy-bin/config/config_builder.rb +39 -2
- data/lib/cocoapods-imy-bin/gem_version.rb +1 -1
- data/lib/cocoapods-imy-bin/helpers.rb +1 -0
- data/lib/cocoapods-imy-bin/helpers/Info.plist +0 -0
- data/lib/cocoapods-imy-bin/helpers/build_helper.rb +15 -7
- data/lib/cocoapods-imy-bin/helpers/build_utils.rb +63 -0
- data/lib/cocoapods-imy-bin/helpers/framework.rb +25 -2
- data/lib/cocoapods-imy-bin/helpers/framework_builder.rb +172 -57
- data/lib/cocoapods-imy-bin/helpers/library.rb +2 -2
- data/lib/cocoapods-imy-bin/helpers/local/local_build_helper.rb +38 -6
- data/lib/cocoapods-imy-bin/helpers/local/local_framework.rb +20 -0
- data/lib/cocoapods-imy-bin/helpers/local/local_framework_builder.rb +91 -38
- data/lib/cocoapods-imy-bin/helpers/sources_helper.rb +5 -2
- data/lib/cocoapods-imy-bin/helpers/spec_source_creator.rb +65 -8
- data/lib/cocoapods-imy-bin/helpers/upload_helper.rb +8 -3
- data/lib/cocoapods-imy-bin/native.rb +4 -0
- data/lib/cocoapods-imy-bin/native/analyzer.rb +2 -0
- data/lib/cocoapods-imy-bin/native/file_accessor.rb +28 -0
- data/lib/cocoapods-imy-bin/native/pod_target_installer.rb +94 -0
- data/lib/cocoapods-imy-bin/native/podfile_generator.rb +11 -2
- data/lib/cocoapods-imy-bin/native/target_validator.rb +41 -0
- data/lib/cocoapods-imy-bin/native/validator.rb +1 -38
- metadata +7 -2
@@ -7,6 +7,7 @@ require 'cocoapods-imy-bin/helpers/build_helper'
|
|
7
7
|
require 'cocoapods-imy-bin/helpers/spec_source_creator'
|
8
8
|
require 'cocoapods-imy-bin/config/config_builder'
|
9
9
|
require 'cocoapods-imy-bin/command/bin/lib/lint'
|
10
|
+
require 'xcodeproj'
|
10
11
|
|
11
12
|
module Pod
|
12
13
|
class Command
|
@@ -62,13 +63,14 @@ module Pod
|
|
62
63
|
end
|
63
64
|
|
64
65
|
def run
|
65
|
-
|
66
|
-
|
67
|
-
FileUtils.rm_rf(zip_dir) if File.exist?(zip_dir)
|
66
|
+
# 清除之前的缓存
|
67
|
+
CBin::Config::Builder.instance.clean
|
68
68
|
|
69
69
|
@spec = Specification.from_file(spec_file)
|
70
70
|
generate_project
|
71
71
|
|
72
|
+
swift_pods_buildsetting
|
73
|
+
|
72
74
|
build_root_spec
|
73
75
|
|
74
76
|
sources_sepc = Array.new
|
@@ -127,7 +129,8 @@ module Pod
|
|
127
129
|
false ,
|
128
130
|
@config)
|
129
131
|
builder.build
|
130
|
-
rescue
|
132
|
+
rescue Object => exception
|
133
|
+
UI.puts exception
|
131
134
|
fail_build_specs << spec
|
132
135
|
end
|
133
136
|
end
|
@@ -154,9 +157,18 @@ module Pod
|
|
154
157
|
"--sources=#{sources_option(@code_dependencies, @sources)}",
|
155
158
|
"--gen-directory=#{CBin::Config::Builder.instance.gen_dir}",
|
156
159
|
'--clean',
|
160
|
+
"--verbose",
|
157
161
|
*@additional_args
|
158
162
|
]
|
159
163
|
|
164
|
+
if File.exist?(Pod::Config.instance.podfile_path)
|
165
|
+
argvs += ['--use-podfile']
|
166
|
+
end
|
167
|
+
|
168
|
+
unless CBin::Build::Utils.uses_frameworks?
|
169
|
+
argvs += ['--use-libraries']
|
170
|
+
end
|
171
|
+
|
160
172
|
argvs << spec_file if spec_file
|
161
173
|
|
162
174
|
gen = Pod::Command::Gen.new(CLAide::ARGV.new(argvs))
|
@@ -166,6 +178,33 @@ module Pod
|
|
166
178
|
end
|
167
179
|
end
|
168
180
|
|
181
|
+
def swift_pods_buildsetting
|
182
|
+
# swift_project_link_header
|
183
|
+
worksppace_path = File.expand_path("#{CBin::Config::Builder.instance.gen_dir}/#{@spec.name}")
|
184
|
+
path = File.join(worksppace_path, "Pods.xcodeproj")
|
185
|
+
path = File.join(worksppace_path, "Pods/Pods.xcodeproj") unless File.exist?(path)
|
186
|
+
raise Informative, "#{path} File no exist, please check" unless File.exist?(path)
|
187
|
+
project = Xcodeproj::Project.open(path)
|
188
|
+
project.build_configurations.each do |x|
|
189
|
+
x.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = true #设置生成swift inter
|
190
|
+
end
|
191
|
+
project.save
|
192
|
+
end
|
193
|
+
|
194
|
+
# def swift_project_link_header
|
195
|
+
# worksppace_path = Pod::Config.instance.installation_root
|
196
|
+
# Dir.chdir(worksppace_path) do
|
197
|
+
# shell_script = <<-'SH'.strip_heredoc
|
198
|
+
# ditto "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h" "${CBin::Config::Builder.instance.gen_dir}"
|
199
|
+
# SH
|
200
|
+
# shell_script
|
201
|
+
#
|
202
|
+
# # project = Xcodeproj::Project.open(Dir.glob('*.xcodeproj').first)
|
203
|
+
# # project.build_configurations.each do |x|
|
204
|
+
# # x.build_settings['DERIVED_SOURCES_DIR']
|
205
|
+
# # end
|
206
|
+
# end
|
207
|
+
# end
|
169
208
|
|
170
209
|
def spec_file
|
171
210
|
@spec_file ||= begin
|
@@ -19,9 +19,9 @@ module Pod
|
|
19
19
|
['--framework-output', '输出framework文件'],
|
20
20
|
['--no-zip', '不压缩静态 framework 为 zip'],
|
21
21
|
['--all-make', '对该组件的依赖库,全部制作为二进制组件'],
|
22
|
-
['--configuration', 'Build the specified configuration (e.g.
|
22
|
+
['--configuration', 'Build the specified configuration (e.g. Release ). Defaults to Debug'],
|
23
23
|
['--env', "该组件上传的环境 %w[dev debug_iphoneos release_iphoneos]"]
|
24
|
-
]
|
24
|
+
].concat(Pod::Command::Gen.options).concat(super).uniq
|
25
25
|
end
|
26
26
|
|
27
27
|
def initialize(argv)
|
@@ -40,7 +40,8 @@ module Pod
|
|
40
40
|
@all_make = argv.flag?('all-make', false )
|
41
41
|
@verbose = argv.flag?('verbose',true)
|
42
42
|
|
43
|
-
@config = argv.option('configuration', '
|
43
|
+
@config = argv.option('configuration', 'Debug')
|
44
|
+
@additional_args = argv.remainder!
|
44
45
|
|
45
46
|
super
|
46
47
|
end
|
@@ -56,7 +57,8 @@ module Pod
|
|
56
57
|
sources_sepc.uniq.each do |spec|
|
57
58
|
begin
|
58
59
|
fail_push_specs << spec unless CBin::Upload::Helper.new(spec,@code_dependencies,@sources).upload
|
59
|
-
rescue
|
60
|
+
rescue Object => exception
|
61
|
+
UI.puts exception
|
60
62
|
fail_push_specs << spec
|
61
63
|
end
|
62
64
|
end
|
@@ -86,15 +88,15 @@ module Pod
|
|
86
88
|
end
|
87
89
|
|
88
90
|
#制作二进制包
|
89
|
-
|
91
|
+
|
90
92
|
def run_archive
|
91
93
|
argvs = [
|
92
94
|
"--sources=#{sources_option(@code_dependencies, @sources)},https:\/\/cdn.cocoapods.org",
|
93
|
-
|
94
|
-
"--verbose"
|
95
|
+
@additional_args
|
95
96
|
]
|
96
97
|
|
97
98
|
argvs << spec_file if spec_file
|
99
|
+
argvs.delete(Array.new)
|
98
100
|
|
99
101
|
unless @clean
|
100
102
|
argvs += ['--no-clean']
|
@@ -83,11 +83,6 @@ module Pod
|
|
83
83
|
FileUtils.rm_rf(target_path)
|
84
84
|
|
85
85
|
find_dependency = find_dependency(name)
|
86
|
-
# 意义不大,需要可以使用--source参数 对 github-ios 仓库对做特殊处理
|
87
|
-
# if find_dependency && find_dependency.external_source[:podspec].include?(http_gitlib_GitHub_iOS_path)
|
88
|
-
# github_ios = find_dependency.external_source[:podspec]
|
89
|
-
# find_dependency.external_source[:podspec] = github_ios.gsub(http_gitlib_GitHub_iOS_path,http_gitlib_iOS_path)
|
90
|
-
# end
|
91
86
|
|
92
87
|
spec = fetch_external_source(find_dependency, @config.podfile,@config.lockfile, @config.sandbox,true )
|
93
88
|
|
@@ -106,7 +101,6 @@ module Pod
|
|
106
101
|
break
|
107
102
|
end
|
108
103
|
end
|
109
|
-
|
110
104
|
find_dependency
|
111
105
|
end
|
112
106
|
|
@@ -150,6 +144,7 @@ module Pod
|
|
150
144
|
FileUtils.rm_rf(File.join(dir,basename))
|
151
145
|
`ln -s #{target_path} #{dir}/#{basename}`
|
152
146
|
end
|
147
|
+
|
153
148
|
check(lib_file,dir,basename)
|
154
149
|
end
|
155
150
|
|
@@ -61,11 +61,11 @@ module Pod
|
|
61
61
|
|
62
62
|
def run
|
63
63
|
# 清除之前的缓存
|
64
|
-
temp = File.join(@local_build_dir, @platform.to_s)
|
65
|
-
FileUtils.rm_r(temp) if File.exist? temp
|
66
|
-
if File.exist?(CBin::Config::Builder.instance.zip_dir)
|
67
|
-
|
68
|
-
end
|
64
|
+
# temp = File.join(@local_build_dir, @platform.to_s)
|
65
|
+
# FileUtils.rm_r(temp) if File.exist? temp
|
66
|
+
# if File.exist?(CBin::Config::Builder.instance.zip_dir)
|
67
|
+
# FileUtils.rm_rf(Dir.glob("#{CBin::Config::Builder.instance.zip_dir}/*"))
|
68
|
+
# end
|
69
69
|
|
70
70
|
sources_spec = []
|
71
71
|
Dir.chdir(CBin::Config::Builder.instance.local_psec_dir) do
|
@@ -107,6 +107,7 @@ module Pod
|
|
107
107
|
# 获取没有制作二进制版本的spec集合
|
108
108
|
sources_sepc << spec
|
109
109
|
end
|
110
|
+
|
110
111
|
fail_build_specs = []
|
111
112
|
sources_sepc.uniq.each do |spec|
|
112
113
|
begin
|
@@ -146,9 +147,17 @@ module Pod
|
|
146
147
|
private
|
147
148
|
|
148
149
|
def library_exist(spec)
|
149
|
-
File.exist?(File.join(@local_build_dir, "lib#{spec.name}.a"))
|
150
|
+
File.exist?(File.join(@local_build_dir, "lib#{spec.name}.a")) || is_framework(spec)
|
151
|
+
end
|
152
|
+
# 使用了user_framework 会有#{@spec.name}.framework
|
153
|
+
# 未使用的 需要判断文件
|
154
|
+
def is_framework(spec)
|
155
|
+
res = File.exist?(File.join(@local_build_dir, "#{spec.name}.framework"))
|
156
|
+
unless res
|
157
|
+
res = File.exist?(File.join(CBin::Config::Builder.instance.xcode_BuildProductsPath_dir, "#{spec.name}","Swift Compatibility Header"))
|
158
|
+
end
|
159
|
+
res
|
150
160
|
end
|
151
|
-
|
152
161
|
|
153
162
|
end
|
154
163
|
end
|
@@ -14,7 +14,7 @@ module CBin
|
|
14
14
|
'configuration_env' => { description: '编译环境', default: 'dev', selection: %w[dev debug_iphoneos release_iphoneos] },
|
15
15
|
'code_repo_url' => { description: '源码私有源 Git 地址', default: 'git@github.com:su350380433/example_spec_source.git' },
|
16
16
|
'binary_repo_url' => { description: '二进制私有源 Git 地址', default: 'git@github.com:su350380433/example_spec_bin_dev.git' },
|
17
|
-
'binary_download_url' => { description: '二进制下载地址,内部会依次传入组件名称与版本,替换字符串中的 %s ', default: 'http://localhost:8080/frameworks/%s/%s
|
17
|
+
'binary_download_url' => { description: '二进制下载地址,内部会依次传入组件名称与版本,替换字符串中的 %s ', default: 'http://localhost:8080/frameworks/%s/%s/zip' },
|
18
18
|
# 'binary_type' => { description: '二进制打包类型', default: 'framework', selection: %w[framework library] },
|
19
19
|
'download_file_type' => { description: '下载二进制文件类型', default: 'zip', selection: %w[zip tgz tar tbz txz dmg] }
|
20
20
|
}
|
@@ -12,6 +12,7 @@ module CBin
|
|
12
12
|
|
13
13
|
def initialize
|
14
14
|
load_build_config
|
15
|
+
# clean
|
15
16
|
end
|
16
17
|
|
17
18
|
# 加载配置项
|
@@ -35,6 +36,13 @@ module CBin
|
|
35
36
|
|
36
37
|
end
|
37
38
|
|
39
|
+
def clean
|
40
|
+
#清除之前的缓存
|
41
|
+
FileUtils.rm_rf(Dir.glob("#{zip_dir}/*")) if File.exist?(zip_dir)
|
42
|
+
FileUtils.rm_rf(Dir.glob("#{binary_json_dir}/*")) if File.exist?(binary_json_dir)
|
43
|
+
FileUtils.rm_rf(Dir.glob("#{local_psec_dir}/*")) if File.exist?(local_psec_dir)
|
44
|
+
end
|
45
|
+
|
38
46
|
# 制作二进制打包 工程目录
|
39
47
|
def gen_name
|
40
48
|
'bin-archive'
|
@@ -49,10 +57,19 @@ module CBin
|
|
49
57
|
end
|
50
58
|
end
|
51
59
|
|
60
|
+
|
52
61
|
def framework_name(spec)
|
53
62
|
"#{spec.name}.framework"
|
54
63
|
end
|
55
64
|
|
65
|
+
def framework_name_version(spec)
|
66
|
+
"#{spec.name}.framework_#{spec.version}"
|
67
|
+
end
|
68
|
+
|
69
|
+
def framework_zip_file(spec)
|
70
|
+
File.join(zip_dir_name, framework_name_version(spec))
|
71
|
+
end
|
72
|
+
|
56
73
|
def framework_file(spec)
|
57
74
|
File.join(zip_dir_name, framework_name(spec))
|
58
75
|
end
|
@@ -110,7 +127,8 @@ module CBin
|
|
110
127
|
#编译target名,如 seeyou
|
111
128
|
def target_name
|
112
129
|
@target_name ||= begin
|
113
|
-
Pod::Config.instance.podfile.root_target_definitions.first.children.first.to_s
|
130
|
+
target_name_str = Pod::Config.instance.podfile.root_target_definitions.first.children.first.to_s
|
131
|
+
target_name_str[5,target_name_str.length]
|
114
132
|
end
|
115
133
|
end
|
116
134
|
|
@@ -129,6 +147,7 @@ module CBin
|
|
129
147
|
if @xcode_build_name.nil? || Dir.exist?(@xcode_build_name)
|
130
148
|
@xcode_build_name = "xcode-build/Build/Intermediates.noindex/ArchiveIntermediates/#{target_name}/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/"
|
131
149
|
end
|
150
|
+
puts @xcode_build_name
|
132
151
|
@xcode_build_name
|
133
152
|
end
|
134
153
|
end
|
@@ -146,7 +165,25 @@ module CBin
|
|
146
165
|
end
|
147
166
|
end
|
148
167
|
end
|
149
|
-
|
168
|
+
#完整的xcodebuild BuildProductsPath输出路径,
|
169
|
+
def xcode_BuildProductsPath_dir
|
170
|
+
@xcode_BuildProductsPath_dir ||= begin
|
171
|
+
temp_xcode_BuildProductsPath_dir = "xcode-build/Build/Intermediates.noindex/ArchiveIntermediates/#{target_name}/BuildProductsPath/"
|
172
|
+
full_path = File.join(root_dir, temp_xcode_BuildProductsPath_dir)
|
173
|
+
|
174
|
+
if (File.exist?(full_path))
|
175
|
+
Dir.chdir(full_path) do
|
176
|
+
iphoneos = Dir.glob('*-iphoneos')
|
177
|
+
if iphoneos.length > 0
|
178
|
+
full_path = File.join(full_path,iphoneos.first)
|
179
|
+
else
|
180
|
+
UI.warn "====== 找不到 *-iphoneos @xcode_BuildProductsPath_dir = #{@xcode_BuildProductsPath_dir}"
|
181
|
+
end
|
182
|
+
end
|
183
|
+
end
|
184
|
+
Pathname.new(full_path)
|
185
|
+
end
|
186
|
+
end
|
150
187
|
|
151
188
|
|
152
189
|
#处理编译产物后存储根目录,会存放spec、 json、zip的父目录,默认是工程的同级目录下,"#{basename}-build-temp"
|
Binary file
|
@@ -38,9 +38,12 @@ module CBin
|
|
38
38
|
|
39
39
|
build_static_framework
|
40
40
|
unless @skip_archive
|
41
|
-
|
42
|
-
|
43
|
-
|
41
|
+
unless CBin::Build::Utils.is_framework(@spec)
|
42
|
+
build_static_library
|
43
|
+
zip_static_library
|
44
|
+
else
|
45
|
+
zip_static_framework
|
46
|
+
end
|
44
47
|
end
|
45
48
|
|
46
49
|
end
|
@@ -71,15 +74,15 @@ module CBin
|
|
71
74
|
end
|
72
75
|
|
73
76
|
def zip_static_framework
|
74
|
-
Dir.chdir(
|
75
|
-
output_name =
|
77
|
+
Dir.chdir(File.join(workspace_directory,@framework_path.root_path)) do
|
78
|
+
output_name = File.join(zip_dir, framework_name_zip)
|
76
79
|
unless File.exist?(framework_name)
|
77
|
-
|
80
|
+
UI.puts "没有需要压缩的 framework 文件:#{framework_name}"
|
81
|
+
return
|
78
82
|
end
|
79
83
|
|
80
84
|
UI.puts "Compressing #{framework_name} into #{output_name}"
|
81
85
|
`zip --symlinks -r #{output_name} #{framework_name}`
|
82
|
-
|
83
86
|
end
|
84
87
|
end
|
85
88
|
|
@@ -114,6 +117,10 @@ module CBin
|
|
114
117
|
CBin::Config::Builder.instance.framework_name(@spec)
|
115
118
|
end
|
116
119
|
|
120
|
+
def framework_name_zip
|
121
|
+
CBin::Config::Builder.instance.framework_name_version(@spec) + ".zip"
|
122
|
+
end
|
123
|
+
|
117
124
|
def library_name
|
118
125
|
CBin::Config::Builder.instance.library_name(@spec)
|
119
126
|
end
|
@@ -130,6 +137,7 @@ module CBin
|
|
130
137
|
CBin::Config::Builder.instance.gen_dir
|
131
138
|
end
|
132
139
|
|
140
|
+
|
133
141
|
def spec_file
|
134
142
|
@spec_file ||= begin
|
135
143
|
if @podspec
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require 'cocoapods-imy-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
|
+
uses_frameworks = false
|
48
|
+
Pod::Config.instance.podfile.target_definitions.each do |key,value|
|
49
|
+
if key != "Pods"
|
50
|
+
uses_frameworks = value.uses_frameworks?
|
51
|
+
if uses_frameworks
|
52
|
+
break ;
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
return uses_frameworks
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
end
|
@@ -7,6 +7,8 @@ module CBin
|
|
7
7
|
attr_reader :resources_path
|
8
8
|
attr_reader :root_path
|
9
9
|
attr_reader :versions_path
|
10
|
+
attr_reader :swift_module_path
|
11
|
+
attr_reader :fwk_path
|
10
12
|
|
11
13
|
def initialize(name, platform)
|
12
14
|
@name = name
|
@@ -22,8 +24,24 @@ module CBin
|
|
22
24
|
end
|
23
25
|
|
24
26
|
def delete_resources
|
25
|
-
Pathname.new(@resources_path).rmtree
|
26
|
-
(Pathname.new(@fwk_path) + Pathname.new('Resources')).delete
|
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}/`
|
27
45
|
end
|
28
46
|
|
29
47
|
private
|
@@ -36,11 +54,16 @@ module CBin
|
|
36
54
|
`ln -sf Versions/Current/#{@name} #{@fwk_path}/`
|
37
55
|
end
|
38
56
|
|
57
|
+
|
58
|
+
|
39
59
|
def make_framework
|
40
60
|
@fwk_path = @root_path + Pathname.new(@name + '.framework')
|
41
61
|
@fwk_path.mkdir unless @fwk_path.exist?
|
42
62
|
|
43
63
|
@module_map_path = @fwk_path + Pathname.new('Modules')
|
64
|
+
@swift_module_path = @module_map_path + Pathname.new(@name + '.swiftmodule')
|
65
|
+
|
66
|
+
|
44
67
|
@versions_path = @fwk_path + Pathname.new('Versions/A')
|
45
68
|
end
|
46
69
|
|