big_keeper 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +79 -20
  4. data/bin/{big-keeper → bigkeeper} +0 -0
  5. data/docs/en-US/README.md +50 -0
  6. data/docs/zh-CN/BIGKEEPER_FILE.md +2 -2
  7. data/docs/zh-CN/FEATURE&HOTFIX.md +121 -0
  8. data/docs/zh-CN/PODFILE.md +43 -0
  9. data/docs/zh-CN/README.md +33 -15
  10. data/docs/zh-CN/RECOMMEND.md +22 -0
  11. data/docs/zh-CN/RELEASE.md +8 -5
  12. data/lib/big_keeper/command/feature&hotfix/delete.rb +33 -0
  13. data/lib/big_keeper/command/feature&hotfix/{feature_finish.rb → finish.rb} +13 -12
  14. data/lib/big_keeper/command/feature&hotfix/{feature_pull.rb → pull.rb} +4 -4
  15. data/lib/big_keeper/command/feature&hotfix/{feature_push.rb → push.rb} +4 -8
  16. data/lib/big_keeper/command/feature&hotfix/{feature_start.rb → start.rb} +7 -7
  17. data/lib/big_keeper/command/feature&hotfix/{feature_switch.rb → switch.rb} +6 -6
  18. data/lib/big_keeper/command/feature&hotfix/{feature_update.rb → update.rb} +7 -7
  19. data/lib/big_keeper/command/release/{release_home.rb → home.rb} +4 -4
  20. data/lib/big_keeper/command/release/module.rb +106 -0
  21. data/lib/big_keeper/model/gitflow_type.rb +13 -1
  22. data/lib/big_keeper/service/git_service.rb +84 -40
  23. data/lib/big_keeper/service/module_service.rb +52 -62
  24. data/lib/big_keeper/util/bigkeeper_parser.rb +19 -3
  25. data/lib/big_keeper/util/git_operator.rb +19 -12
  26. data/lib/big_keeper/version.rb +1 -1
  27. data/lib/big_keeper.rb +131 -25
  28. data/resources/banner.png +0 -0
  29. data/resources/keynote/big-keeper-readme-example.key +0 -0
  30. data/resources/keynote/big-keeper-readme-feature/big-keeper-readme-feature.001.jpeg +0 -0
  31. data/resources/keynote/big-keeper-readme-feature/big-keeper-readme-feature.002.jpeg +0 -0
  32. data/resources/keynote/big-keeper-readme-feature/big-keeper-readme-feature.003.jpeg +0 -0
  33. data/resources/keynote/big-keeper-readme-feature/big-keeper-readme-feature.004.jpeg +0 -0
  34. data/resources/keynote/big-keeper-readme-feature/big-keeper-readme-feature.005.jpeg +0 -0
  35. data/resources/keynote/big-keeper-readme-feature/big-keeper-readme-feature.006.jpeg +0 -0
  36. data/resources/keynote/big-keeper-readme-feature/big-keeper-readme-feature.007.jpeg +0 -0
  37. data/resources/keynote/big-keeper-readme-feature/big-keeper-readme-feature.008.jpeg +0 -0
  38. data/resources/keynote/big-keeper-readme-feature/big-keeper-readme-feature.009.jpeg +0 -0
  39. data/resources/keynote/big-keeper-readme-feature/big-keeper-readme-feature.010.jpeg +0 -0
  40. data/resources/keynote/big-keeper-readme-feature/big-keeper-readme-feature.011.jpeg +0 -0
  41. data/resources/keynote/big-keeper-readme-feature/big-keeper-readme-feature.012.jpeg +0 -0
  42. data/resources/keynote/big-keeper-readme-feature/big-keeper-readme-feature.013.jpeg +0 -0
  43. data/resources/keynote/big-keeper-readme-feature/big-keeper-readme-feature.014.jpeg +0 -0
  44. data/resources/keynote/big-keeper-readme-feature.key +0 -0
  45. data/resources/keynote/big-keeper-readme-release.key +0 -0
  46. data/resources/readme/big-keeper-readme.008.png +0 -0
  47. data/resources/readme/big-keeper-readme.009.png +0 -0
  48. data/resources/readme/big-keeper-readme.010.png +0 -0
  49. data/resources/readme/big-keeper-readme.011.png +0 -0
  50. data/resources/readme/big-keeper-readme.012.png +0 -0
  51. metadata +40 -17
  52. data/docs/zh-CN/FEATURE.md +0 -88
  53. data/lib/big_keeper/command/release/release_module.rb +0 -86
  54. data/lib/big_keeper/command/release/release_module.sh +0 -44
  55. data/resources/readme/big-keeper-readme.008.jpeg +0 -0
  56. data/resources/readme/big-keeper-readme.009.jpeg +0 -0
  57. data/resources/readme/big-keeper-readme.010.jpeg +0 -0
@@ -1,86 +0,0 @@
1
- #!/usr/bin/ruby
2
- require 'big_keeper/util/podfile_operator'
3
- require 'big_keeper/util/gitflow_operator'
4
- require 'big_keeper/model/podfile_type'
5
- require 'big_keeper/util/info_plist_operator'
6
- require 'big_keeper/util/git_operator'
7
- require 'big_keeper/util/logger'
8
-
9
- module BigKeeper
10
- def self.start_module_release(path, version, user, module_name)
11
- BigkeeperParser.parse("#{path}/Bigkeeper")
12
- Dir.chdir(path) do
13
- module_release(BigkeeperParser::module_path(user, module_name),
14
- version,
15
- module_name,
16
- GitInfo.new(BigkeeperParser::home_git, GitType::TAG, version),
17
- user)
18
- end
19
- end
20
-
21
- private
22
- def self.module_release(module_path, version, module_name, source, user)
23
- Dir.chdir(module_path) do
24
- if GitOperator.new.has_changes(module_path)
25
- StashService.new.stash_all(module_path, GitOperator.new.current_branch(module_path), user, module_name.split())
26
- end
27
-
28
- # step 1 checkout release
29
- Logger.highlight(%Q(Start checkout #{module_name} to Branch release/#{version}))
30
- if GitOperator.new.current_branch(module_path) != "release/#{version}"
31
- if GitOperator.new.has_branch(module_path, "release/#{version}")
32
- GitOperator.new.git_checkout(module_path, "release/#{version}")
33
- else
34
- GitflowOperator.new.start(module_path, version, GitflowType::RELEASE)
35
- GitOperator.new.first_push(module_path, "release/#{version}")
36
- end
37
- end
38
-
39
- #修改 podspec 文件
40
- # TO DO: - advanced to use Regular Expression
41
- PodfileOperator.new.podspec_change(%Q(#{module_path}/#{module_name}.podspec), version, module_name)
42
- GitOperator.new.commit(module_path, "update podspec")
43
- GitOperator.new.first_push(module_path, GitOperator.new.current_branch(module_path))
44
-
45
- # Pod lib lint in release/#{tag} branch
46
- Logger.highlight(%Q(Start Pod lib lint #{module_name}))
47
- has_error = false
48
- IO.popen("pod lib lint --allow-warnings --verbose --use-libraries --sources=#{BigkeeperParser::sourcemodule_path}") do |io|
49
- io.each do |line|
50
- has_error = true if line.include? "ERROR"
51
- end
52
- end
53
- if has_error
54
- Logger.error("Pod lib error in '#{module_name}'")
55
- return
56
- end
57
-
58
- # check out master
59
- if GitOperator.new.current_branch(module_path) != "master"
60
- current_name = GitOperator.new.current_branch(module_path)
61
- GitOperator.new.git_checkout(module_path, "master")
62
- Logger.highlight("Push branch '#{branch_name}' for '#{module_name}'...")
63
- GitService.new.verify_push(module_path, "finish #{GitflowType.name(GitflowType::RELEASE)} #{branch_name}", "master", "#{module_name}")
64
- end
65
-
66
- # to do rebase release to master
67
- Logger.highlight(%Q(Rebase develop to master))
68
- GitService.new.verify_rebase(module_path, 'develop', "#{module_name}")
69
-
70
- Logger.highlight(%Q(Start Pod repo push #{module_name}))
71
- IO.popen("pod repo push #{module_name} #{module_name}.podspec --allow-warnings --sources=#{BigkeeperParser::sourcemodule_path}") do |io|
72
- io.each do |line|
73
- has_error = true if line.include? "ERROR"
74
- end
75
- end
76
- if has_error
77
- Logger.error("Pod repo push in '#{module_name}'")
78
- return
79
- end
80
-
81
- GitOperator.new.tag(module_path, version)
82
-
83
- Logger.highlight(%Q(Success release #{module_name}))
84
- end
85
- end
86
- end
@@ -1,44 +0,0 @@
1
- #!/bin/bash
2
-
3
- cd $(dirname $0)
4
-
5
- diff=`git diff`
6
-
7
-
8
- if [ ${#diff} != 0 ];
9
- then
10
- echo "还有东西没有提交"
11
- exit 1
12
- fi
13
-
14
- echo "--------tag list--------"
15
- git tag -l
16
- echo "--------tag list--------"
17
-
18
- echo "根据上面的tag输入新tag"
19
- read thisTag
20
-
21
- # 获取podspec文件名
22
- podSpecName=`ls|grep ".podspec$"|sed "s/\.podspec//g"`
23
- echo $podSpecName
24
-
25
- # 修改版本号
26
- sed -i "" "s/s.version *= *[\"\'][^\"]*[\"\']/s.version=\"$thisTag\"/g" $podSpecName.podspec
27
-
28
- pod cache clean --all
29
-
30
- pod lib lint --allow-warnings --verbose --use-libraries
31
-
32
-
33
- # 验证失败退出
34
- if [ $? != 0 ];then
35
- exit 1
36
- fi
37
-
38
-
39
- git commit $podSpecName.podspec -m "update podspec"
40
- git push
41
- git tag -m "update podspec" $thisTag
42
- git push --tags
43
-
44
- pod repo push specs $podSpecName.podspec --allow-warnings