vfastdev 0.1.8 → 0.1.10
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/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 ,
|