bigkeeper 0.7.3 → 0.7.4

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.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/big_keeper.rb +34 -0
  4. data/lib/big_keeper/command/feature&hotfix/delete.rb +3 -1
  5. data/lib/big_keeper/command/feature&hotfix/finish.rb +8 -19
  6. data/lib/big_keeper/command/feature&hotfix/publish.rb +54 -0
  7. data/lib/big_keeper/command/feature&hotfix/pull.rb +3 -1
  8. data/lib/big_keeper/command/feature&hotfix/push.rb +3 -1
  9. data/lib/big_keeper/command/feature&hotfix/rebase.rb +3 -1
  10. data/lib/big_keeper/command/feature&hotfix/start.rb +10 -4
  11. data/lib/big_keeper/command/feature&hotfix/switch.rb +6 -4
  12. data/lib/big_keeper/command/feature&hotfix/update.rb +6 -4
  13. data/lib/big_keeper/command/pod/podfile.rb +1 -1
  14. data/lib/big_keeper/command/release/home.rb +5 -5
  15. data/lib/big_keeper/command/release/module.rb +1 -1
  16. data/lib/big_keeper/dependency/dep_gradle_operator.rb +163 -0
  17. data/lib/big_keeper/dependency/dep_operator.rb +38 -0
  18. data/lib/big_keeper/dependency/dep_pod_operator.rb +116 -0
  19. data/lib/big_keeper/dependency/dep_service.rb +14 -0
  20. data/lib/big_keeper/dependency/dep_type.rb +64 -0
  21. data/lib/big_keeper/service/git_service.rb +6 -1
  22. data/lib/big_keeper/service/module_service.rb +20 -12
  23. data/lib/big_keeper/util/bigkeeper_parser.rb +2 -8
  24. data/lib/big_keeper/util/cache_operator.rb +25 -0
  25. data/lib/big_keeper/util/file_operator.rb +15 -0
  26. data/lib/big_keeper/util/git_operator.rb +1 -1
  27. data/lib/big_keeper/util/podfile_operator.rb +4 -62
  28. data/lib/big_keeper/util/xcode_operator.rb +0 -3
  29. data/lib/big_keeper/version.rb +1 -1
  30. metadata +10 -3
  31. data/lib/big_keeper/model/podfile_type.rb +0 -44
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ab449225c8909098f55adbcb26c5dfe31039774b
4
- data.tar.gz: ec0775403a510e08b7265307434ebe58e7429365
3
+ metadata.gz: 6a7d8a654b60f6cc0974fec215e0ec7078dd6b5c
4
+ data.tar.gz: ad79e973c587663d557bd152854aa477b228b972
5
5
  SHA512:
6
- metadata.gz: 6f2d7e97637f10bafb27feea9ebf9e53828fe7e178f544c37b14246545748d3c5d7e14f78f4c7c2db595c45fe7eac8df80bce49ec3d916e6b1c13a13b810441b
7
- data.tar.gz: 79e766a7ade9aea1525f705a8d48989b9b638207c2610c8aa2ac62201931b926e92d08e497e330910c2e997b18b83b30dc41fb2d303ea7d8378c0bb18a284057
6
+ metadata.gz: 69604e25d6176e2f8ae5a006341f3b861cb9b5c640654693cc650fa99e3aabc9067a6dc6eb4e8c0c6121dcf86d0b0545959b64ffc8848b68b6557de72890dee4
7
+ data.tar.gz: 41fa488126c061453f6a3bb820f85742e4068c09deee4d8142203f906829a7f79224b70c8851dfb0d19db202c220019a05f58798f75d7bee9a4ae02ab0b1bc17
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bigkeeper (0.7.3)
4
+ bigkeeper (0.7.4)
5
5
  big_stash (~> 0.1)
6
6
  cocoapods
7
7
  colorize
@@ -13,6 +13,8 @@ require 'big_keeper/command/feature&hotfix/switch'
13
13
  require 'big_keeper/command/feature&hotfix/update'
14
14
  require 'big_keeper/command/feature&hotfix/pull'
15
15
  require 'big_keeper/command/feature&hotfix/push'
16
+ require 'big_keeper/command/feature&hotfix/rebase'
17
+ require 'big_keeper/command/feature&hotfix/publish'
16
18
  require 'big_keeper/command/pod/podfile'
17
19
  require 'big_keeper/command/feature&hotfix/delete'
18
20
  require 'big_keeper/command/release/home'
@@ -99,6 +101,14 @@ module BigKeeper
99
101
  end
100
102
  end
101
103
 
104
+ c.desc "Rebase 'develop' to current feature"
105
+ c.command :rebase do |rebase|
106
+ rebase.action do |global_options, options, args|
107
+ help_now!('user name is required') if user and user.empty?
108
+ rebase(path, user, GitflowType::FEATURE)
109
+ end
110
+ end
111
+
102
112
  c.desc 'Finish current feature'
103
113
  c.command :finish do |finish|
104
114
  finish.action do |global_options, options, args|
@@ -107,6 +117,14 @@ module BigKeeper
107
117
  end
108
118
  end
109
119
 
120
+ c.desc 'Publish current feature'
121
+ c.command :publish do |publish|
122
+ publish.action do |global_options, options, args|
123
+ help_now!('user name is required') if user and user.empty?
124
+ publish(path, user, GitflowType::FEATURE)
125
+ end
126
+ end
127
+
110
128
  c.desc 'Delete feature with name'
111
129
  c.command :delete do |delete|
112
130
  delete.action do |global_options, options, args|
@@ -180,6 +198,14 @@ module BigKeeper
180
198
  end
181
199
  end
182
200
 
201
+ c.desc "Rebase 'master' to current feature"
202
+ c.command :rebase do |rebase|
203
+ rebase.action do |global_options, options, args|
204
+ help_now!('user name is required') if user and user.empty?
205
+ rebase(path, user, GitflowType::HOTFIX)
206
+ end
207
+ end
208
+
183
209
  c.desc 'Finish current hotfix'
184
210
  c.command :finish do |finish|
185
211
  finish.action do |global_options, options, args|
@@ -188,6 +214,14 @@ module BigKeeper
188
214
  end
189
215
  end
190
216
 
217
+ c.desc 'Publish current feature'
218
+ c.command :publish do |publish|
219
+ publish.action do |global_options, options, args|
220
+ help_now!('user name is required') if user and user.empty?
221
+ publish(path, user, GitflowType::HOTFIX)
222
+ end
223
+ end
224
+
191
225
  c.desc 'Delete hotfix with name'
192
226
  c.command :delete do |delete|
193
227
  delete.action do |global_options, options, args|
@@ -6,7 +6,9 @@ require 'big_keeper/util/bigkeeper_parser'
6
6
  require 'big_keeper/util/logger'
7
7
  require 'big_keeper/util/pod_operator'
8
8
 
9
- require 'big_keeper/model/podfile_type'
9
+ require 'big_keeper/dependency/dep_service'
10
+
11
+ require 'big_keeper/dependency/dep_type'
10
12
 
11
13
  require 'big_keeper/service/stash_service'
12
14
  require 'big_keeper/service/module_service'
@@ -6,7 +6,9 @@ require 'big_keeper/util/pod_operator'
6
6
  require 'big_keeper/util/xcode_operator'
7
7
  require 'big_keeper/util/bigkeeper_parser'
8
8
 
9
- require 'big_keeper/model/podfile_type'
9
+ require 'big_keeper/dependency/dep_service'
10
+
11
+ require 'big_keeper/dependency/dep_type'
10
12
 
11
13
 
12
14
  module BigKeeper
@@ -16,12 +18,12 @@ module BigKeeper
16
18
  # Parse Bigkeeper file
17
19
  BigkeeperParser.parse("#{path}/Bigkeeper")
18
20
 
19
- modules = PodfileOperator.new.modules_with_type("#{path}/Podfile",
20
- BigkeeperParser.module_names, ModuleType::PATH)
21
21
  branch_name = GitOperator.new.current_branch(path)
22
-
23
22
  Logger.error("Not a #{GitflowType.name(type)} branch, exit.") unless branch_name.include? GitflowType.name(type)
24
23
 
24
+ modules = DepService.dep_operator(path).modules_with_type(BigkeeperParser.module_names,
25
+ ModuleType::PATH)
26
+
25
27
  # Rebase modules and modify podfile as git
26
28
  modules.each do |module_name|
27
29
  ModuleService.new.finish(path, user, module_name, branch_name, type)
@@ -30,26 +32,13 @@ module BigKeeper
30
32
  Logger.highlight("Finish branch '#{branch_name}' for 'Home'")
31
33
 
32
34
  # pod install
33
- PodOperator.pod_install(path, false)
34
-
35
- modules.each do |module_name|
36
- module_git = BigkeeperParser.module_git(module_name)
37
- PodfileOperator.new.find_and_replace("#{path}/Podfile",
38
- module_name,
39
- ModuleType::GIT,
40
- GitInfo.new(module_git, GitType::BRANCH, GitflowType.base_branch(type)))
41
- end
35
+ DepService.dep_operator(path).install(false)
42
36
 
43
37
  # Open home workspace
44
- XcodeOperator.open_workspace(path)
38
+ DepService.dep_operator(path).open
45
39
 
46
40
  # Push home changes to remote
47
41
  GitService.new.verify_push(path, "finish branch #{branch_name}", branch_name, 'Home')
48
-
49
- # Rebase Home
50
- GitService.new.verify_rebase(path, GitflowType.base_branch(type), 'Home')
51
-
52
- `open #{BigkeeperParser.home_pulls()}`
53
42
  ensure
54
43
  end
55
44
  end
@@ -0,0 +1,54 @@
1
+ #!/usr/bin/ruby
2
+
3
+ require 'big_keeper/util/podfile_operator'
4
+ require 'big_keeper/util/logger'
5
+ require 'big_keeper/util/pod_operator'
6
+ require 'big_keeper/util/xcode_operator'
7
+ require 'big_keeper/util/bigkeeper_parser'
8
+
9
+ require 'big_keeper/dependency/dep_service'
10
+
11
+ require 'big_keeper/dependency/dep_type'
12
+
13
+
14
+ module BigKeeper
15
+
16
+ def self.publish(path, user, type)
17
+ begin
18
+ # Parse Bigkeeper file
19
+ BigkeeperParser.parse("#{path}/Bigkeeper")
20
+
21
+ branch_name = GitOperator.new.current_branch(path)
22
+ Logger.error("Not a #{GitflowType.name(type)} branch, exit.") unless branch_name.include? GitflowType.name(type)
23
+
24
+ path_modules = DepService.dep_operator(path).modules_with_type(BigkeeperParser.module_names,
25
+ ModuleType::PATH)
26
+ Logger.error("You have unfinished modules #{path_modules}, Use 'finish' first please.") unless path_modules.empty?
27
+
28
+ modules = DepService.dep_operator(path).modules_with_branch(BigkeeperParser.module_names,
29
+ branch_name)
30
+
31
+ # Rebase modules and modify podfile as git
32
+ modules.each do |module_name|
33
+ ModuleService.new.publish(path, user, module_name, branch_name, type)
34
+ end
35
+
36
+ Logger.highlight("Publish branch '#{branch_name}' for 'Home'")
37
+
38
+ # pod install
39
+ DepService.dep_operator(path).install(false)
40
+
41
+ # Recover podfile
42
+ DepService.dep_operator(path).recover
43
+
44
+ # Push home changes to remote
45
+ GitService.new.verify_push(path, "publish branch #{branch_name}", branch_name, 'Home')
46
+
47
+ # Rebase Home
48
+ GitService.new.verify_rebase(path, GitflowType.base_branch(type), 'Home')
49
+
50
+ `open #{BigkeeperParser.home_pulls()}`
51
+ ensure
52
+ end
53
+ end
54
+ end
@@ -1,5 +1,7 @@
1
1
  require 'big_keeper/util/logger'
2
2
 
3
+ require 'big_keeper/dependency/dep_service'
4
+
3
5
  module BigKeeper
4
6
  def self.pull(path, user, type)
5
7
  begin
@@ -9,7 +11,7 @@ module BigKeeper
9
11
 
10
12
  Logger.error("Not a #{GitflowType.name(type)} branch, exit.") unless branch_name.include? GitflowType.name(type)
11
13
 
12
- modules = PodfileOperator.new.modules_with_type("#{path}/Podfile",
14
+ modules = DepService.dep_operator(path).modules_with_type(
13
15
  BigkeeperParser.module_names, ModuleType::PATH)
14
16
 
15
17
  modules.each do |module_name|
@@ -1,5 +1,7 @@
1
1
  require 'big_keeper/util/logger'
2
2
 
3
+ require 'big_keeper/dependency/dep_service'
4
+
3
5
  module BigKeeper
4
6
 
5
7
  def self.push(path, user, comment, type)
@@ -10,7 +12,7 @@ module BigKeeper
10
12
 
11
13
  Logger.error("Not a #{GitflowType.name(type)} branch, exit.") unless branch_name.include? GitflowType.name(type)
12
14
 
13
- modules = PodfileOperator.new.modules_with_type("#{path}/Podfile",
15
+ modules = DepService.dep_operator(path).modules_with_type(
14
16
  BigkeeperParser.module_names, ModuleType::PATH)
15
17
 
16
18
  modules.each do |module_name|
@@ -1,5 +1,7 @@
1
1
  require 'big_keeper/util/logger'
2
2
 
3
+ require 'big_keeper/dependency/dep_service'
4
+
3
5
  module BigKeeper
4
6
  def self.reabse(path, user, type)
5
7
  begin
@@ -9,7 +11,7 @@ module BigKeeper
9
11
 
10
12
  Logger.error("Not a #{GitflowType.name(type)} branch, exit.") unless branch_name.include? GitflowType.name(type)
11
13
 
12
- modules = PodfileOperator.new.modules_with_type("#{path}/Podfile",
14
+ modules = DepService.dep_operator(path).modules_with_type(
13
15
  BigkeeperParser.module_names, ModuleType::PATH)
14
16
 
15
17
  modules.each do |module_name|
@@ -7,7 +7,9 @@ require 'big_keeper/util/logger'
7
7
  require 'big_keeper/util/pod_operator'
8
8
  require 'big_keeper/util/xcode_operator'
9
9
 
10
- require 'big_keeper/model/podfile_type'
10
+ require 'big_keeper/dependency/dep_service'
11
+
12
+ require 'big_keeper/dependency/dep_type'
11
13
 
12
14
  require 'big_keeper/service/stash_service'
13
15
  require 'big_keeper/service/module_service'
@@ -25,9 +27,10 @@ module BigKeeper
25
27
 
26
28
  GitService.new.verify_home_branch(path, branch_name, OperateType::START)
27
29
 
28
- stash_modules = PodfileOperator.new.modules_with_type("#{path}/Podfile",
30
+ stash_modules = DepService.dep_operator(path).modules_with_type(
29
31
  BigkeeperParser.module_names, ModuleType::PATH)
30
32
 
33
+ p stash_modules
31
34
  # Stash current branch
32
35
  StashService.new.stash_all(path, branch_name, user, stash_modules)
33
36
 
@@ -48,16 +51,19 @@ module BigKeeper
48
51
  # Start home feature
49
52
  GitService.new.start(path, full_name, type)
50
53
 
54
+ # Backup podfile
55
+ DepService.dep_operator(path).backup
56
+
51
57
  # Modify podfile as path and Start modules feature
52
58
  modules.each do |module_name|
53
59
  ModuleService.new.add(path, user, module_name, full_name, type)
54
60
  end
55
61
 
56
62
  # pod install
57
- PodOperator.pod_install(path, true) unless modules.empty?
63
+ DepService.dep_operator(path).install(true) unless modules.empty?
58
64
 
59
65
  # Open home workspace
60
- XcodeOperator.open_workspace(path)
66
+ DepService.dep_operator(path).open
61
67
 
62
68
  # Push home changes to remote
63
69
  GitService.new.verify_push(path, "init #{GitflowType.name(type)} #{full_name}", branch_name, 'Home')
@@ -4,6 +4,8 @@ require 'big_keeper/util/logger'
4
4
  require 'big_keeper/util/pod_operator'
5
5
  require 'big_keeper/util/xcode_operator'
6
6
 
7
+ require 'big_keeper/dependency/dep_service'
8
+
7
9
  module BigKeeper
8
10
  def self.switch_to(path, version, user, name, type)
9
11
  begin
@@ -16,7 +18,7 @@ module BigKeeper
16
18
 
17
19
  GitService.new.verify_home_branch(path, branch_name, OperateType::SWITCH)
18
20
 
19
- stash_modules = PodfileOperator.new.modules_with_type("#{path}/Podfile",
21
+ stash_modules = DepService.dep_operator(path).modules_with_type(
20
22
  BigkeeperParser.module_names, ModuleType::PATH)
21
23
 
22
24
  # Stash current branch
@@ -29,7 +31,7 @@ module BigKeeper
29
31
  # Apply home stash
30
32
  StashService.new.pop_stash(path, branch_name, 'Home')
31
33
 
32
- modules = PodfileOperator.new.modules_with_type("#{path}/Podfile",
34
+ modules = DepService.dep_operator(path).modules_with_type(
33
35
  BigkeeperParser.module_names, ModuleType::PATH)
34
36
 
35
37
  modules.each do |module_name|
@@ -37,10 +39,10 @@ module BigKeeper
37
39
  end
38
40
 
39
41
  # pod install
40
- PodOperator.pod_install(path, false)
42
+ DepService.dep_operator(path).install(false)
41
43
 
42
44
  # Open home workspace
43
- XcodeOperator.open_workspace(path)
45
+ DepService.dep_operator(path).open
44
46
  ensure
45
47
  end
46
48
  end
@@ -7,7 +7,9 @@ require 'big_keeper/util/logger'
7
7
  require 'big_keeper/util/pod_operator'
8
8
  require 'big_keeper/util/xcode_operator'
9
9
 
10
- require 'big_keeper/model/podfile_type'
10
+ require 'big_keeper/dependency/dep_service'
11
+
12
+ require 'big_keeper/dependency/dep_type'
11
13
 
12
14
  require 'big_keeper/service/stash_service'
13
15
  require 'big_keeper/service/module_service'
@@ -24,7 +26,7 @@ module BigKeeper
24
26
 
25
27
  full_name = branch_name.gsub(/#{GitflowType.name(type)}\//, '')
26
28
 
27
- current_modules = PodfileOperator.new.modules_with_type("#{path}/Podfile",
29
+ current_modules = DepService.dep_operator(path).modules_with_type(
28
30
  BigkeeperParser.module_names, ModuleType::PATH)
29
31
 
30
32
  # Verify input modules
@@ -58,10 +60,10 @@ module BigKeeper
58
60
  end
59
61
 
60
62
  # pod install
61
- PodOperator.pod_install(path, false)
63
+ DepService.dep_operator(path).install(false)
62
64
 
63
65
  # Open home workspace
64
- XcodeOperator.open_workspace(path)
66
+ DepService.dep_operator(path).open
65
67
  end
66
68
  ensure
67
69
  end
@@ -3,7 +3,7 @@ require 'big_keeper/util/podfile_operator'
3
3
  require 'big_keeper/util/podfile_module'
4
4
  require 'big_keeper/util/gitflow_operator'
5
5
  require 'big_keeper/util/bigkeeper_parser'
6
- require 'big_keeper/model/podfile_type'
6
+ require 'big_keeper/dependency/dep_type'
7
7
  require 'big_keeper/util/logger'
8
8
 
9
9
  module BigKeeper
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/ruby
2
2
  require 'big_keeper/util/podfile_operator'
3
3
  require 'big_keeper/util/gitflow_operator'
4
- require 'big_keeper/model/podfile_type'
4
+ require 'big_keeper/dependency/dep_type'
5
5
  require 'big_keeper/util/info_plist_operator'
6
6
  require 'big_keeper/util/logger'
7
7
 
@@ -52,14 +52,14 @@ module BigKeeper
52
52
 
53
53
  Logger.highlight(%Q(Start to release/#{version}))
54
54
  # step 2 replace_modules
55
- PodfileOperator.new.replace_all_module_release(%Q(#{project_path}/Podfile),
56
- modules,
57
- version)
55
+ PodfileOperator.new.replace_all_module_release(project_path,
56
+ modules,
57
+ version)
58
58
 
59
59
  # step 3 change Info.plist value
60
60
  InfoPlistOperator.new.change_version_build(project_path, version)
61
61
 
62
- PodOperator.pod_install(project_path, true)
62
+ DepService.dep_operator(project_path).install(true)
63
63
  `open #{project_path}/*.xcworkspace`
64
64
  end
65
65
  end
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/ruby
2
2
  require 'big_keeper/util/podfile_operator'
3
3
  require 'big_keeper/util/gitflow_operator'
4
- require 'big_keeper/model/podfile_type'
4
+ require 'big_keeper/dependency/dep_type'
5
5
  require 'big_keeper/util/info_plist_operator'
6
6
  require 'big_keeper/util/git_operator'
7
7
  require 'big_keeper/util/logger'
@@ -0,0 +1,163 @@
1
+ require 'big_keeper/dependency/dep_operator'
2
+
3
+ module BigKeeper
4
+ # Operator for podfile
5
+ class DepGradleOperator < DepOperator
6
+
7
+ def backup
8
+ cache_operator = CacheOperator.new(@path)
9
+ cache_operator.save('setting.gradle')
10
+ Dir.glob("#{@path}/*/build.gradle").each do |build_gradle_file_path|
11
+ build_gradle_file = build_gradle_file_path.gsub!(/#{@path}/, '')
12
+ cache_operator.save(build_gradle_file)
13
+ end
14
+ end
15
+
16
+ def recover
17
+ cache_operator = CacheOperator.new(@path)
18
+
19
+ cache_operator.load('setting.gradle')
20
+ Dir.glob("#{@path}/*/build.gradle").each do |build_gradle_file_path|
21
+ build_gradle_file = build_gradle_file_path.gsub!(/#{@path}/, '')
22
+ cache_operator.load(build_gradle_file)
23
+ end
24
+
25
+ cache_operator.clean
26
+ end
27
+
28
+ def modules_with_branch(modules, branch_name)
29
+ snapshot_name = "#{branch_name}_SNAPSHOT"
30
+ file = "#{@path}/app/build.gradle"
31
+
32
+ matched_modules = []
33
+ File.open(file, 'r') do |file|
34
+ file.each_line do |line|
35
+ modules.each do |module_name|
36
+ if line =~ /compile\s*'\S*#{module_name.downcase}:#{snapshot_name}'\S*/
37
+ matched_modules << module_name
38
+ break
39
+ end
40
+ end
41
+ end
42
+ end
43
+ matched_modules
44
+ end
45
+
46
+ def modules_with_type(modules, type)
47
+ file = "#{@path}/app/build.gradle"
48
+
49
+ matched_modules = []
50
+ File.open(file, 'r') do |file|
51
+ file.each_line do |line|
52
+ modules.each do |module_name|
53
+ if line =~ regex(type, module_name)
54
+ matched_modules << module_name
55
+ break
56
+ end
57
+ end
58
+ end
59
+ end
60
+ matched_modules
61
+ end
62
+
63
+ def regex(type, module_name)
64
+ if ModuleType::PATH == type
65
+ /compile\s*project\('\S*#{module_name.downcase}'\)\S*/
66
+ elsif ModuleType::GIT == type
67
+ /compile\s*'\S*#{module_name.downcase}\S*'\S*/
68
+ elsif ModuleType::SPEC == type
69
+ /compile\s*'\S*#{module_name.downcase}\S*'\S*/
70
+ else
71
+ //
72
+ end
73
+ end
74
+
75
+ def find_and_replace(module_name, module_type, source)
76
+ Dir.glob("#{@path}/*/build.gradle").each do |file|
77
+ temp_file = Tempfile.new('.build.gradle.tmp')
78
+ begin
79
+ File.open(file, 'r') do |file|
80
+ file.each_line do |line|
81
+ temp_file.puts generate_build_config(line, module_name, module_type, source)
82
+ end
83
+ end
84
+ temp_file.close
85
+ FileUtils.mv(temp_file.path, file)
86
+ ensure
87
+ temp_file.close
88
+ temp_file.unlink
89
+ end
90
+ end
91
+ end
92
+
93
+ def install(addition)
94
+ modules = modules_with_type(BigkeeperParser.module_names, ModuleType::PATH)
95
+
96
+ CacheOperator.new(@path).load('setting.gradle')
97
+
98
+ begin
99
+ File.open("#{@path}/setting.gradle", 'a') do |file|
100
+ modules.each do |module_name|
101
+ module_path = BigkeeperParser.module_path(user, module_name)
102
+ file.puts "include '#{prefix_of_module(module_name)}#{module_name.downcase}'\r\n"
103
+ file.puts "project('#{prefix_of_module(module_name)}#{module_name.downcase}').projectDir = new File(rootProject.projectDir, '../#{module_name}/#{module_name.downcase}-lib')\r\n"
104
+ end
105
+ end
106
+ ensure
107
+ end
108
+ end
109
+
110
+ def prefix_of_module(module_name)
111
+ file = "#{@path}/app/build.gradle"
112
+ prefix = ''
113
+
114
+ File.open(file, 'r') do |file|
115
+ file.each_line do |line|
116
+ if line =~ /(\s*)([\s\S]*)'(\S*)#{module_name.downcase}(\S*)'(\S*)/
117
+ prefix = line.sub(/(\s*)([\s\S]*)'(\S*)#{module_name.downcase}(\S*)'(\S*)/){
118
+ $3
119
+ }
120
+ end
121
+ end
122
+ end
123
+
124
+ prefix.chop
125
+ end
126
+
127
+ def open
128
+ end
129
+
130
+ def generate_build_config(line, module_name, module_type, source)
131
+ if ModuleType::PATH == module_type
132
+ line.sub(/(\s*)compile(\s*)'(\S*)#{module_name.downcase}(\S*)'(\S*)/){
133
+ "#{$1}compile project('#{$3}#{module_name.downcase}')"
134
+ }
135
+ elsif ModuleType::GIT == module_type
136
+ branch_name = GitOperator.new.current_branch(@path)
137
+ snapshot_name = "SNAPSHOT"
138
+
139
+ # Get version part of source.addition
140
+ if 'develop' == source.addition || 'master' == source.addition
141
+ snapshot_name = branch_name.sub(/([\s\S]*)\/(\d+.\d+.\d+)_([\s\S]*)/){
142
+ "#{$2}_SNAPSHOT"
143
+ }
144
+ else
145
+ snapshot_name = branch_name.sub(/([\s\S]*)\/([\s\S]*)/){
146
+ "#{$2}_SNAPSHOT"
147
+ }
148
+ end
149
+ line.sub(/(\s*)([\s\S]*)'(\S*)#{module_name.downcase}(\S*)'(\S*)/){
150
+ "#{$1}compile '#{$3}#{module_name.downcase}:#{snapshot_name}'"
151
+ }
152
+ elsif ModuleType::SPEC == module_type
153
+ line.sub(/(\s*)([\s\S]*)'(\S*)#{module_name.downcase}(\S*)'(\S*)/){
154
+ "#{$1}compile '#{$3}#{module_name.downcase}:#{source}'"
155
+ }
156
+ else
157
+ line
158
+ end
159
+ end
160
+
161
+ private :generate_build_config, :regex
162
+ end
163
+ end
@@ -0,0 +1,38 @@
1
+ module BigKeeper
2
+ # Operator for podfile
3
+ class DepOperator
4
+ @path
5
+
6
+ def initialize(path)
7
+ @path = path
8
+ end
9
+
10
+ def backup
11
+ raise "You should override this method in subclass."
12
+ end
13
+
14
+ def recover
15
+ raise "You should override this method in subclass."
16
+ end
17
+
18
+ def modules_with_branch(modules, branch_name)
19
+ raise "You should override this method in subclass."
20
+ end
21
+
22
+ def modules_with_type(modules, type)
23
+ raise "You should override this method in subclass."
24
+ end
25
+
26
+ def find_and_replace(module_name, module_type, source)
27
+ raise "You should override this method in subclass."
28
+ end
29
+
30
+ def install(addition)
31
+ raise "You should override this method in subclass."
32
+ end
33
+
34
+ def open
35
+ raise "You should override this method in subclass."
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,116 @@
1
+ require 'big_keeper/dependency/dep_operator'
2
+
3
+ require 'big_keeper/util/pod_operator'
4
+ require 'big_keeper/util/xcode_operator'
5
+ require 'big_keeper/util/cache_operator'
6
+
7
+ module BigKeeper
8
+ # Operator for podfile
9
+ class DepPodOperator < DepOperator
10
+ def backup
11
+ CacheOperator.new(@path).save('Podfile')
12
+ end
13
+
14
+ def recover
15
+ cache_operator = CacheOperator.new(@path)
16
+ cache_operator.load('Podfile')
17
+ cache_operator.clean
18
+ end
19
+
20
+ def modules_with_branch(modules, branch_name)
21
+ file = "#{@path}/Podfile"
22
+ matched_modules = []
23
+ File.open(file, 'r') do |file|
24
+ file.each_line do |line|
25
+ modules.each do |module_name|
26
+ if line =~ /pod\s*'#{module_name}'\s*,\s*:git\s*=>\s*\S*\s*,\s*:branch\s*=>\s*'#{branch_name}'\s*/
27
+ matched_modules << module_name
28
+ break
29
+ end
30
+ end
31
+ end
32
+ end
33
+ matched_modules
34
+ end
35
+
36
+ def modules_with_type(modules, type)
37
+ file = "#{@path}/Podfile"
38
+ matched_modules = []
39
+ File.open(file, 'r') do |file|
40
+ file.each_line do |line|
41
+ modules.each do |module_name|
42
+ if line =~ /pod\s*'#{module_name}'\s*,#{regex(type)}/
43
+ matched_modules << module_name
44
+ break
45
+ end
46
+ end
47
+ end
48
+ end
49
+ matched_modules
50
+ end
51
+
52
+ def regex(type)
53
+ if ModuleType::PATH == type
54
+ "\s*:path\s*=>\s*"
55
+ elsif ModuleType::GIT == type
56
+ "\s*:git\s*=>\s*"
57
+ elsif ModuleType::SPEC == type
58
+ "\s*'"
59
+ else
60
+ ""
61
+ end
62
+ end
63
+
64
+ def find_and_replace(module_name, module_type, source)
65
+ file = "#{@path}/Podfile"
66
+ temp_file = Tempfile.new('.Podfile.tmp')
67
+
68
+ begin
69
+ File.open(file, 'r') do |file|
70
+ file.each_line do |line|
71
+ temp_file.puts generate_module_config(line, module_name, module_type, source)
72
+ end
73
+ end
74
+ temp_file.close
75
+ FileUtils.mv(temp_file.path, file)
76
+ ensure
77
+ temp_file.close
78
+ temp_file.unlink
79
+ end
80
+ end
81
+
82
+ def install(addition)
83
+ PodOperator.pod_install(@path, addition)
84
+ end
85
+
86
+ def open
87
+ XcodeOperator.open_workspace(@path)
88
+ end
89
+
90
+ def generate_module_config(line, module_name, module_type, source)
91
+ line.sub(/(\s*)pod(\s*)'(\S*)#{module_name}(\S*)'([\s\S]*)#([\s\S]*)/){
92
+ if ModuleType::PATH == module_type
93
+ "#{$1}pod '#{module_name}', :path => '#{source}' ##{$6}"
94
+ elsif ModuleType::GIT == module_type
95
+ # puts source.base
96
+ # puts source.addition
97
+ if GitType::BRANCH == source.type
98
+ "#{$1}pod '#{module_name}', :git => '#{source.base}', :branch => '#{source.addition}' ##{$6}"
99
+ elsif GitType::TAG == source.type
100
+ "#{$1}pod '#{module_name}', :git => '#{source.base}', :tag => '#{source.addition}' ##{$6}"
101
+ elsif GitType::COMMIT == source.type
102
+ "#{$1}pod '#{module_name}', :git => '#{source.base}', :commit => '#{source.addition}' ##{$6}"
103
+ else
104
+ "#{$1}pod '#{module_name}', :git => '#{source.base}' ##{$6}"
105
+ end
106
+ elsif ModuleType::SPEC == module_type
107
+ "#{$1}pod '#{module_name}', '#{source}' ##{$6}"
108
+ else
109
+ line
110
+ end
111
+ }
112
+ end
113
+
114
+ private :generate_module_config, :regex
115
+ end
116
+ end
@@ -0,0 +1,14 @@
1
+ require 'big_keeper/util/git_operator'
2
+ require 'big_keeper/model/gitflow_type'
3
+ require 'big_keeper/model/operate_type'
4
+ require 'big_keeper/util/logger'
5
+ require 'big_keeper/dependency/dep_type'
6
+
7
+ module BigKeeper
8
+ # Operator for podfile
9
+ class DepService
10
+ def self.dep_operator(path)
11
+ DepType.operator(path)
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,64 @@
1
+ require 'big_keeper/dependency/dep_operator'
2
+ require 'big_keeper/dependency/dep_pod_operator'
3
+ require 'big_keeper/dependency/dep_gradle_operator'
4
+ require 'big_keeper/util/file_operator'
5
+
6
+ module BigKeeper
7
+ module DepType
8
+ NONE = 0
9
+ COCOAPODS = 1
10
+ GRADLE = 2
11
+
12
+ def self.type(path)
13
+ if FileOperator.definitely_exists?("#{path}/Podfile")
14
+ COCOAPODS
15
+ elsif FileOperator.definitely_exists?("#{path}/build.gradle")
16
+ GRADLE
17
+ else
18
+ NONE
19
+ end
20
+ end
21
+
22
+ def self.operator(path)
23
+ operator_type = type(path)
24
+ if COCOAPODS == operator_type
25
+ DepPodOperator.new(path)
26
+ elsif GRADLE == operator_type
27
+ DepGradleOperator.new(path)
28
+ else
29
+ DepOperator.new(path)
30
+ end
31
+ end
32
+ end
33
+
34
+ module ModuleType
35
+ PATH = 1
36
+ GIT = 2
37
+ SPEC = 3
38
+ end
39
+
40
+ module GitType
41
+ MASTER = 1
42
+ BRANCH = 2
43
+ TAG = 3
44
+ COMMIT = 4
45
+ end
46
+
47
+ class GitInfo
48
+ def initialize(base, type, addition)
49
+ @base, @type, @addition = base, type, addition
50
+ end
51
+
52
+ def type
53
+ @type
54
+ end
55
+
56
+ def base
57
+ @base
58
+ end
59
+
60
+ def addition
61
+ @addition
62
+ end
63
+ end
64
+ end
@@ -1,4 +1,5 @@
1
1
  require 'big_keeper/util/git_operator'
2
+ require 'big_keeper/util/gitflow_operator'
2
3
  require 'big_keeper/model/gitflow_type'
3
4
  require 'big_keeper/model/operate_type'
4
5
  require 'big_keeper/util/logger'
@@ -12,6 +13,8 @@ module BigKeeper
12
13
  branch_name = "#{GitflowType.name(type)}/#{name}"
13
14
  if !git.has_remote_branch(path, branch_name) && !git.has_local_branch(path, branch_name)
14
15
 
16
+ GitflowOperator.new.verify_git_flow(path)
17
+
15
18
  verify_special_branch(path, 'master')
16
19
  verify_special_branch(path, 'develop')
17
20
 
@@ -121,7 +124,7 @@ module BigKeeper
121
124
  Logger.highlight("Delete local branch '#{branch_name}' for '#{name}'...")
122
125
 
123
126
  if git.current_branch(path) == branch_name
124
- git.dicard(path)
127
+ git.discard(path)
125
128
  git.checkout(path, GitflowType.base_branch(type))
126
129
  end
127
130
  git.del_local(path, branch_name)
@@ -179,6 +182,8 @@ module BigKeeper
179
182
  if GitOperator.new.current_branch(path) != 'develop' && GitOperator.new.current_branch(path) != 'master'
180
183
  `git push -f`
181
184
  GitOperator.new.checkout(path, branch_name)
185
+ else
186
+ Logger.error("You should not push 'master' or 'develop'")
182
187
  end
183
188
  end
184
189
  end
@@ -13,7 +13,7 @@ module BigKeeper
13
13
  if !File.exist? module_full_path
14
14
  Logger.default("No local repository for module '#{module_name}', clone it...")
15
15
  module_git = BigkeeperParser.module_git(module_name)
16
- git.new.clone(File.expand_path("#{module_full_path}/../"), module_git)
16
+ git.clone(File.expand_path("#{module_full_path}/../"), module_git)
17
17
  end
18
18
 
19
19
  current_branch_name = git.current_branch(module_full_path)
@@ -67,24 +67,32 @@ module BigKeeper
67
67
  verify_module(path, user, module_name, home_branch_name, type)
68
68
  end
69
69
 
70
+ def publish(path, user, module_name, home_branch_name, type)
71
+ Logger.highlight("Publish branch '#{home_branch_name}' for module '#{module_name}'...")
72
+
73
+ verify_module(path, user, module_name, home_branch_name, type)
74
+
75
+ GitService.new.verify_push(module_full_path, "publish branch #{home_branch_name}", home_branch_name, module_name)
76
+
77
+ module_full_path = BigkeeperParser.module_full_path(path, user, module_name)
78
+ GitService.new.verify_rebase(module_full_path, GitflowType.base_branch(type), module_name)
79
+
80
+ `open #{BigkeeperParser.module_pulls(module_name)}`
81
+ end
82
+
70
83
  def finish(path, user, module_name, home_branch_name, type)
71
84
  Logger.highlight("Finish branch '#{home_branch_name}' for module '#{module_name}'...")
72
85
 
73
86
  verify_module(path, user, module_name, home_branch_name, type)
74
87
 
88
+ module_full_path = BigkeeperParser.module_full_path(path, user, module_name)
89
+ GitService.new.verify_push(module_full_path, "finish branch #{home_branch_name}", home_branch_name, module_name)
90
+
75
91
  module_git = BigkeeperParser.module_git(module_name)
76
- PodfileOperator.new.find_and_replace("#{path}/Podfile",
92
+ DepService.dep_operator(path).find_and_replace(
77
93
  module_name,
78
94
  ModuleType::GIT,
79
95
  GitInfo.new(module_git, GitType::BRANCH, home_branch_name))
80
-
81
- module_full_path = BigkeeperParser.module_full_path(path, user, module_name)
82
-
83
- GitService.new.verify_push(module_full_path, "finish branch #{home_branch_name}", home_branch_name, module_name)
84
-
85
- GitService.new.verify_rebase(module_full_path, GitflowType.base_branch(type), module_name)
86
-
87
- `open #{BigkeeperParser.module_pulls(module_name)}`
88
96
  end
89
97
 
90
98
  def add(path, user, module_name, name, type)
@@ -95,7 +103,7 @@ module BigKeeper
95
103
  verify_module(path, user, module_name, home_branch_name, type)
96
104
 
97
105
  module_path = BigkeeperParser.module_path(user, module_name)
98
- PodfileOperator.new.find_and_replace("#{path}/Podfile",
106
+ DepService.dep_operator(path).find_and_replace(
99
107
  module_name,
100
108
  ModuleType::PATH,
101
109
  module_path)
@@ -115,7 +123,7 @@ module BigKeeper
115
123
 
116
124
  module_git = BigkeeperParser.module_git(module_name)
117
125
 
118
- PodfileOperator.new.find_and_replace("#{path}/Podfile",
126
+ DepService.dep_operator(path).find_and_replace(
119
127
  module_name,
120
128
  ModuleType::GIT,
121
129
  GitInfo.new(module_git, GitType::BRANCH, GitflowType.base_branch(type)))
@@ -1,4 +1,5 @@
1
1
  require 'big_keeper/util/logger'
2
+ require 'big_keeper/util/file_operator'
2
3
 
3
4
  # Bigkeeper module
4
5
  module BigKeeper
@@ -36,7 +37,7 @@ module BigKeeper
36
37
  def self.parse(bigkeeper)
37
38
  if @@config.empty?
38
39
 
39
- Logger.error("Can't find a Bigkeeper file in current directory.") if !BigkeeperParser.definitely_exists?(bigkeeper)
40
+ Logger.error("Can't find a Bigkeeper file in current directory.") if !FileOperator.definitely_exists?(bigkeeper)
40
41
 
41
42
  content = File.read bigkeeper
42
43
  content.gsub!(/version\s/, 'BigKeeper::version ')
@@ -50,13 +51,6 @@ module BigKeeper
50
51
  end
51
52
  end
52
53
 
53
- def self.definitely_exists? path
54
- folder = File.dirname path
55
- filename = File.basename path
56
- # Unlike Ruby IO, ls, and find -f, this technique will fail to locate the file if the case is wrong:
57
- not %x( find "#{folder}" -name "#{filename}" ).empty?
58
- end
59
-
60
54
  def self.parse_version(name)
61
55
  @@config[:version] = name
62
56
  end
@@ -0,0 +1,25 @@
1
+ require 'fileutils'
2
+ require 'json'
3
+
4
+ module BigKeeper
5
+ class CacheOperator
6
+ def initialize(path)
7
+ @path = File.expand_path(path)
8
+ @cache_path = File.expand_path("#{path}/.bigkeeper")
9
+ end
10
+
11
+ def save(file)
12
+ dest_path = File.dirname("#{@cache_path}/#{file}")
13
+ FileUtils.mkdir_p(dest_path) unless File.exist?(dest_path)
14
+ FileUtils.cp("#{@path}/#{file}", "#{@cache_path}/#{file}");
15
+ end
16
+
17
+ def load(file)
18
+ FileUtils.cp("#{@cache_path}/#{file}", "#{@path}/#{file}");
19
+ end
20
+
21
+ def clean
22
+ FileUtils.rm_r(@cache_path)
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,15 @@
1
+ module BigKeeper
2
+ # Operator for got
3
+ class FileOperator
4
+ def self.definitely_exists? path
5
+ folder = File.dirname path
6
+ filename = File.basename path
7
+ # Unlike Ruby IO, ls, and find -f, this technique will fail to locate the file if the case is wrong:
8
+ not %x( find "#{folder}" -name "#{filename}" ).empty?
9
+ end
10
+
11
+ def find_all(path, name)
12
+ Dir.glob("#{path}/*/#{name}")
13
+ end
14
+ end
15
+ end
@@ -107,7 +107,7 @@ module BigKeeper
107
107
  has_changes
108
108
  end
109
109
 
110
- def dicard(path)
110
+ def discard(path)
111
111
  Dir.chdir(path) do
112
112
  `git checkout . && git clean -xdf`
113
113
  end
@@ -1,6 +1,6 @@
1
1
  require 'tempfile'
2
2
  require 'fileutils'
3
- require 'big_keeper/model/podfile_type'
3
+ require 'big_keeper/dependency/dep_type'
4
4
  require 'big_keeper/util/podfile_detector'
5
5
 
6
6
  module BigKeeper
@@ -17,64 +17,6 @@ module BigKeeper
17
17
  false
18
18
  end
19
19
 
20
- def modules_with_type(podfile, modules, type)
21
- matched_modules = []
22
- File.open(podfile, 'r') do |file|
23
- file.each_line do |line|
24
- modules.each do |module_name|
25
- if line =~ /pod\s*'#{module_name}',#{ModuleType.regex(type)}/
26
- matched_modules << module_name
27
- break
28
- end
29
- end
30
- end
31
- end
32
- matched_modules
33
- end
34
-
35
- def find_and_replace(podfile, module_name, module_type, source)
36
- temp_file = Tempfile.new('.Podfile.tmp')
37
-
38
- begin
39
- File.open(podfile, 'r') do |file|
40
- file.each_line do |line|
41
- if line.include?module_name
42
- temp_file.puts generate_module_config(module_name, module_type, source)
43
- else
44
- temp_file.puts line
45
- end
46
- end
47
- end
48
- temp_file.close
49
- FileUtils.mv(temp_file.path, podfile)
50
- ensure
51
- temp_file.close
52
- temp_file.unlink
53
- end
54
- end
55
-
56
- def generate_module_config(module_name, module_type, source)
57
- module_config = ''
58
- if ModuleType::PATH == module_type
59
- module_config = %Q( pod '#{module_name}', :path => '#{source}')
60
- elsif ModuleType::GIT == module_type
61
- # puts source.base
62
- # puts source.addition
63
- if GitType::BRANCH == source.type
64
- module_config = %Q( pod '#{module_name}', :git => '#{source.base}', :branch => '#{source.addition}')
65
- elsif GitType::TAG == source.type
66
- module_config = %Q( pod '#{module_name}', :git => '#{source.base}', :tag => '#{source.addition}')
67
- elsif GitType::COMMIT == source.type
68
- module_config = %Q( pod '#{module_name}', :git => '#{source.base}', :commit => '#{source.addition}')
69
- else
70
- module_config = %Q( pod '#{module_name}', :git => '#{source.base}')
71
- end
72
- else
73
- module_config = %Q( pod '#{module_name}', '#{source}')
74
- end
75
- module_config
76
- end
77
-
78
20
  def generate_pod_config(pod_name, version,comment)
79
21
  module_config = ''
80
22
  if comment != nil
@@ -84,9 +26,9 @@ module BigKeeper
84
26
  end
85
27
  end
86
28
 
87
- def replace_all_module_release(podfile, module_names, version)
29
+ def replace_all_module_release(path, module_names, version)
88
30
  module_names.each do |module_name|
89
- PodfileOperator.new.find_and_replace(podfile,
31
+ DepService.dep_operator(path).find_and_replace(
90
32
  module_name,
91
33
  ModuleType::GIT,
92
34
  GitInfo.new(BigkeeperParser.module_git(module_name), GitType::TAG, version))
@@ -161,6 +103,6 @@ module BigKeeper
161
103
  end
162
104
  end
163
105
 
164
- private :generate_module_config,:generate_pod_config
106
+ private :generate_pod_config
165
107
  end
166
108
  end
@@ -3,9 +3,6 @@ require 'big_keeper/util/logger'
3
3
  module BigKeeper
4
4
  class XcodeOperator
5
5
  def self.open_workspace(path)
6
- # Close Xcode
7
- `pkill Xcode`
8
-
9
6
  # Open home workspace
10
7
  `open #{path}/*.xcworkspace`
11
8
  end
@@ -1,3 +1,3 @@
1
1
  module BigKeeper
2
- VERSION = "0.7.3"
2
+ VERSION = "0.7.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bigkeeper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.3
4
+ version: 0.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - mmoaay
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-18 00:00:00.000000000 Z
11
+ date: 2018-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gli
@@ -226,6 +226,7 @@ files:
226
226
  - lib/big_keeper.rb
227
227
  - lib/big_keeper/command/feature&hotfix/delete.rb
228
228
  - lib/big_keeper/command/feature&hotfix/finish.rb
229
+ - lib/big_keeper/command/feature&hotfix/publish.rb
229
230
  - lib/big_keeper/command/feature&hotfix/pull.rb
230
231
  - lib/big_keeper/command/feature&hotfix/push.rb
231
232
  - lib/big_keeper/command/feature&hotfix/rebase.rb
@@ -235,14 +236,20 @@ files:
235
236
  - lib/big_keeper/command/pod/podfile.rb
236
237
  - lib/big_keeper/command/release/home.rb
237
238
  - lib/big_keeper/command/release/module.rb
239
+ - lib/big_keeper/dependency/dep_gradle_operator.rb
240
+ - lib/big_keeper/dependency/dep_operator.rb
241
+ - lib/big_keeper/dependency/dep_pod_operator.rb
242
+ - lib/big_keeper/dependency/dep_service.rb
243
+ - lib/big_keeper/dependency/dep_type.rb
238
244
  - lib/big_keeper/model/gitflow_type.rb
239
245
  - lib/big_keeper/model/operate_type.rb
240
246
  - lib/big_keeper/model/podfile_model.rb
241
- - lib/big_keeper/model/podfile_type.rb
242
247
  - lib/big_keeper/service/git_service.rb
243
248
  - lib/big_keeper/service/module_service.rb
244
249
  - lib/big_keeper/service/stash_service.rb
245
250
  - lib/big_keeper/util/bigkeeper_parser.rb
251
+ - lib/big_keeper/util/cache_operator.rb
252
+ - lib/big_keeper/util/file_operator.rb
246
253
  - lib/big_keeper/util/git_operator.rb
247
254
  - lib/big_keeper/util/gitflow_operator.rb
248
255
  - lib/big_keeper/util/info_plist_operator.rb
@@ -1,44 +0,0 @@
1
- module BigKeeper
2
- module ModuleType
3
- PATH = 1
4
- GIT = 2
5
- SPEC = 3
6
-
7
- def self.regex(type)
8
- if PATH == type
9
- "\s*:path\s*=>\s*"
10
- elsif GIT == type
11
- "\s*:git\s*=>\s*"
12
- elsif SPEC == type
13
- "\s*'"
14
- else
15
- name
16
- end
17
- end
18
- end
19
-
20
- module GitType
21
- MASTER = 1
22
- BRANCH = 2
23
- TAG = 3
24
- COMMIT = 4
25
- end
26
-
27
- class GitInfo
28
- def initialize(base, type, addition)
29
- @base, @type, @addition = base, type, addition
30
- end
31
-
32
- def type
33
- @type
34
- end
35
-
36
- def base
37
- @base
38
- end
39
-
40
- def addition
41
- @addition
42
- end
43
- end
44
- end