vfastdev 0.1.8 → 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/vfastdev +80 -14
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aec54b3d19de0c5df31ea509bf1c01d54a08e691
4
- data.tar.gz: b9950f0d64e91f9ea16a84b0381ae8727e31f649
3
+ metadata.gz: 2f7ecdf7b933adeddd9e52b8dc64888beb9b6b77
4
+ data.tar.gz: d9927eebb60b0b50421de554b8ecf3e3d76ee9f9
5
5
  SHA512:
6
- metadata.gz: c82df81552723c9594639ab64591d04b78fc847545425f04a2e15fedefb8a2a2f27c020914cc8b590ec2eb718eecc05de65ccf319a3ff8ebe7841a65409b46ab
7
- data.tar.gz: 615fca763462f7f07682457aaa28ddfe6521cf90f29154e6a914a8e19e005bb59089152db40336e74254a7b30dbe23fd60dece540338901d12da3cbd8cf69467
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,VSBaseModule,VSPublic,Pods工程会默认保留。
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.8'
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
- exclude_framework_names << name + ".framework"
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://192.168.33.79:8000/lib/latest_framework_info?app_id=Spec'
245
+ url = 'http://10.199.214.86:8000/lib/latest_framework_info?app_id=Spec'
243
246
  unless @commit_hash.nil?
244
- url = "http://192.168.33.79:8000/lib/framework_info?app_id=Spec&git_commit_hash=#{@commit_hash}"
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://192.168.33.79:8000/lib/framework_info_list?app_id=Spec') do |f|
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://192.168.33.79:8000/lib/dowload_framework_file?app_id=Spec&name=#{framework_name}"
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
- puts 'FastDev完成。关闭旧的Spec.xcworkspace,打开FastDev/Spec.xcworkspace文件开始开发。'
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 ,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vfastdev
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sen.Mao