vfastdev 0.1.8 → 0.1.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/vfastdev +80 -14
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f7ecdf7b933adeddd9e52b8dc64888beb9b6b77
|
4
|
+
data.tar.gz: d9927eebb60b0b50421de554b8ecf3e3d76ee9f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6026a90d195ee48898c97137ec27f7dc5604444a9d9845a6ac2ba76fea409e9e81db198f3626ac2d54171c4e5432a0c8024aaa9ae7b855c2fa0a0720ed47bea7
|
7
|
+
data.tar.gz: da072d107c2e4a38c1c00433c0ca3bc1aa0fc86bcfe810fad5c21b42964749f6cc03bd5530a32a91baf3ca15360099c786e07a239cc180cf9329048de21e055f
|
data/bin/vfastdev
CHANGED
@@ -30,7 +30,7 @@ usage = <<EOF
|
|
30
30
|
|
31
31
|
\033[1mEXAMPLE\033[0m
|
32
32
|
vfastdev -k "VSBizUserCenter VSBizCollection"
|
33
|
-
保留VSBizUserCenter和VSBizCollection作为工程引入,其它业务模块通过静态库引入。Spec,
|
33
|
+
保留VSBizUserCenter和VSBizCollection作为工程引入,其它业务模块通过静态库引入。Spec,Pods工程会默认保留。
|
34
34
|
|
35
35
|
\033[1mISSUES\033[0m
|
36
36
|
1.如果你的代码版本和develop相差太多,可能导致出现“找不到头文件”,“没有这个方法”,“找不到符号”等问题
|
@@ -43,14 +43,13 @@ usage = <<EOF
|
|
43
43
|
7.出现___llvm_profile_runtime未找到符号的错误,可在Spec target的OTHER_LDFLAGS增加-fprofile-instr-generate来解决。
|
44
44
|
8.由于大部分模块都变成静态库,那么会导致查找不到其他模块的源码。
|
45
45
|
9.目前服务器架设在我的iMac上面,如果公司路由器重启会导致ip改变,会导致静态库下载失败。
|
46
|
-
10
|
46
|
+
10.VSBaseModule和VSPublic作为静态库引入的方法是拷贝静态库到TARGET_BUILD_DIR目录下面,所以celan工程之后需要再次运行命令
|
47
|
+
11.更多细节参考文档
|
47
48
|
EOF
|
48
49
|
|
49
|
-
|
50
|
-
|
51
50
|
class VFastDev
|
52
51
|
def initialize(options)
|
53
|
-
@version = '0.1.
|
52
|
+
@version = '0.1.10'
|
54
53
|
@vs_project_names = parse_vs_project_names
|
55
54
|
@vs_framework_dir = 'VSFrameworks'
|
56
55
|
@fastdev_dir = 'FastDev'
|
@@ -78,8 +77,8 @@ class VFastDev
|
|
78
77
|
exit 0
|
79
78
|
end
|
80
79
|
end
|
81
|
-
@project_kept_names << "VSBaseModule"
|
82
|
-
@project_kept_names << "VSPublic"
|
80
|
+
# @project_kept_names << "VSBaseModule"
|
81
|
+
# @project_kept_names << "VSPublic"
|
83
82
|
if @sync_main_project
|
84
83
|
puts "还没实现"
|
85
84
|
else
|
@@ -90,6 +89,7 @@ class VFastDev
|
|
90
89
|
download_libs
|
91
90
|
unzip_libs
|
92
91
|
end
|
92
|
+
copy_framework_to_products
|
93
93
|
del_sepc_app
|
94
94
|
say_after_done
|
95
95
|
end
|
@@ -132,10 +132,14 @@ class VFastDev
|
|
132
132
|
end
|
133
133
|
|
134
134
|
def ajust_project
|
135
|
+
@project_kept_names << "VSPublic"
|
136
|
+
@project_kept_names << "VSBaseModule"
|
135
137
|
exclude_framework_names = [] #排除在外的静态库
|
136
138
|
@project_kept_names.each do |name|
|
137
|
-
|
139
|
+
exclude_framework_names << name + ".framework"
|
138
140
|
end
|
141
|
+
exclude_framework_names << "VSPublic" + ".framework"
|
142
|
+
exclude_framework_names << "VSBaseModule" + ".framework"
|
139
143
|
|
140
144
|
vs_framework_paths = [] #所有静态库路径
|
141
145
|
@vs_project_names.each do |name|
|
@@ -195,7 +199,6 @@ class VFastDev
|
|
195
199
|
file_ref.set_path(@vs_framework_dir + "/" + file_ref.path)
|
196
200
|
end
|
197
201
|
end
|
198
|
-
|
199
202
|
puts '修改Copy Modular * 脚本'
|
200
203
|
project.targets.each do |target|
|
201
204
|
target.shell_script_build_phases.each do |phase|
|
@@ -239,9 +242,9 @@ XML
|
|
239
242
|
# 输出静态库版本信息
|
240
243
|
def print_version_info
|
241
244
|
begin
|
242
|
-
url = 'http://
|
245
|
+
url = 'http://10.199.214.86:8000/lib/latest_framework_info?app_id=Spec'
|
243
246
|
unless @commit_hash.nil?
|
244
|
-
url = "http://
|
247
|
+
url = "http://10.199.214.86:8000/lib/latest_framework_info?app_id=Spec&git_commit_hash=#{@commit_hash}"
|
245
248
|
end
|
246
249
|
open(url) do |f|
|
247
250
|
puts "静态库版本信息: " + f.read
|
@@ -254,7 +257,7 @@ XML
|
|
254
257
|
# 输出静态库列表
|
255
258
|
def print_lib_list
|
256
259
|
begin
|
257
|
-
open('http://
|
260
|
+
open('http://10.199.214.86:8000/lib/framework_info_list?app_id=Spec') do |f|
|
258
261
|
puts '静态库版本列表'
|
259
262
|
puts f.read
|
260
263
|
end
|
@@ -284,7 +287,7 @@ XML
|
|
284
287
|
puts '下载:' + name
|
285
288
|
File.open("#{@vs_framework_dir}/#{name}.framework.zip", 'wb') do |f|
|
286
289
|
framework_name = "#{name}.framework"
|
287
|
-
url = "http://
|
290
|
+
url = "http://10.199.214.86:8000/lib/dowload_framework_file?app_id=Spec&name=#{framework_name}"
|
288
291
|
unless @commit_hash.nil?
|
289
292
|
url = url + "&git_commit_hash=#{@commit_hash}"
|
290
293
|
end
|
@@ -323,7 +326,12 @@ done
|
|
323
326
|
end
|
324
327
|
|
325
328
|
def say_after_done
|
326
|
-
|
329
|
+
say = <<EOF
|
330
|
+
FastDev完成。关闭旧的Spec.xcworkspace,打开FastDev/Spec.xcworkspace文件开始开发。
|
331
|
+
EOF
|
332
|
+
# \033[33mVSBaseModule和VSPublic作为静态库引入的方法是拷贝静态库到TARGET_BUILD_DIR目录下面,所以celan工程之后需要再次运行命令!!!\033[0m
|
333
|
+
puts say
|
334
|
+
|
327
335
|
end
|
328
336
|
def del_sepc_app
|
329
337
|
system `
|
@@ -337,8 +345,66 @@ fi
|
|
337
345
|
|
338
346
|
`
|
339
347
|
end
|
348
|
+
def copy_framework_to_products
|
349
|
+
if not @project_kept_names.include?("VSPublic")
|
350
|
+
|
351
|
+
`
|
352
|
+
sdk_version=$(xcodebuild -showsdks | grep -oE 'iphonesimulator[0-9\.]+' | grep -oE '[0-9\.]+')
|
353
|
+
# 输出目录下面的文件
|
354
|
+
TARGET_BUILD_DIR=$(xcodebuild -workspace Spec.xcworkspace -scheme Spec -showBuildSettings -sdk iphonesimulator${sdk_version} | grep 'TARGET_BUILD_DIR' | cut -d '=' -f2)
|
355
|
+
FRAMEWORK_PATH="${TARGET_BUILD_DIR}/VSPublic.framework"
|
356
|
+
|
357
|
+
if [ -d $FRAMEWORK_PATH ];then
|
358
|
+
rm -r $FRAMEWORK_PATH
|
359
|
+
else
|
360
|
+
mkdir -p $FRAMEWORK_PATH
|
361
|
+
fi
|
362
|
+
echo $FRAMEWORK_PATH
|
363
|
+
cp -R VSFrameworks/VSPublic.framework/ $FRAMEWORK_PATH
|
364
|
+
`
|
365
|
+
else
|
366
|
+
`
|
367
|
+
sdk_version=$(xcodebuild -showsdks | grep -oE 'iphonesimulator[0-9\.]+' | grep -oE '[0-9\.]+')
|
368
|
+
# 输出目录下面的文件
|
369
|
+
TARGET_BUILD_DIR=$(xcodebuild -workspace Spec.xcworkspace -scheme Spec -showBuildSettings -sdk iphonesimulator${sdk_version} | grep 'TARGET_BUILD_DIR' | cut -d '=' -f2)
|
370
|
+
FRAMEWORK_PATH="${TARGET_BUILD_DIR}/VSPublic.framework"
|
371
|
+
|
372
|
+
if [ -d $FRAMEWORK_PATH ];then
|
373
|
+
rm -r $FRAMEWORK_PATH
|
374
|
+
fi
|
375
|
+
`
|
376
|
+
end
|
377
|
+
if not @project_kept_names.include?("VSBaseModule")
|
378
|
+
`
|
379
|
+
sdk_version=$(xcodebuild -showsdks | grep -oE 'iphonesimulator[0-9\.]+' | grep -oE '[0-9\.]+')
|
380
|
+
# 输出目录下面的文件
|
381
|
+
TARGET_BUILD_DIR=$(xcodebuild -workspace Spec.xcworkspace -scheme Spec -showBuildSettings -sdk iphonesimulator${sdk_version} | grep 'TARGET_BUILD_DIR' | cut -d '=' -f2)
|
382
|
+
FRAMEWORK_PATH="${TARGET_BUILD_DIR}/VSBaseModule.framework"
|
383
|
+
|
384
|
+
if [ -d $FRAMEWORK_PATH ];then
|
385
|
+
rm -r $FRAMEWORK_PATH
|
386
|
+
else
|
387
|
+
mkdir -p $FRAMEWORK_PATH
|
388
|
+
fi
|
389
|
+
cp -R VSFrameworks/VSBaseModule.framework/ $FRAMEWORK_PATH
|
390
|
+
`
|
391
|
+
else
|
392
|
+
`
|
393
|
+
sdk_version=$(xcodebuild -showsdks | grep -oE 'iphonesimulator[0-9\.]+' | grep -oE '[0-9\.]+')
|
394
|
+
# 输出目录下面的文件
|
395
|
+
TARGET_BUILD_DIR=$(xcodebuild -workspace Spec.xcworkspace -scheme Spec -showBuildSettings -sdk iphonesimulator${sdk_version} | grep 'TARGET_BUILD_DIR' | cut -d '=' -f2)
|
396
|
+
FRAMEWORK_PATH="${TARGET_BUILD_DIR}/VSBaseModule.framework"
|
397
|
+
|
398
|
+
if [ -d $FRAMEWORK_PATH ];then
|
399
|
+
rm -r $FRAMEWORK_PATH
|
400
|
+
fi
|
401
|
+
`
|
402
|
+
end
|
403
|
+
end
|
340
404
|
end
|
341
405
|
|
406
|
+
|
407
|
+
|
342
408
|
dev_opts = {
|
343
409
|
keep:[],
|
344
410
|
no_download_lib:false ,
|