big_keeper 0.1.0
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 +7 -0
- data/.gitignore +50 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +106 -0
- data/LICENSE.txt +21 -0
- data/README.md +41 -0
- data/Rakefile +2 -0
- data/big_keeper.gemspec +40 -0
- data/bin/big-keeper +14 -0
- data/bin/setup +8 -0
- data/docs/en-US/FEATURE.md +0 -0
- data/docs/zh-CN/BIGKEEPER_FILE.md +62 -0
- data/docs/zh-CN/FEATURE.md +88 -0
- data/docs/zh-CN/README.md +76 -0
- data/lib/big_keeper/command/feature_finish.rb +47 -0
- data/lib/big_keeper/command/feature_pull.rb +23 -0
- data/lib/big_keeper/command/feature_push.rb +39 -0
- data/lib/big_keeper/command/feature_start.rb +60 -0
- data/lib/big_keeper/command/feature_switch.rb +43 -0
- data/lib/big_keeper/command/feature_update.rb +60 -0
- data/lib/big_keeper/command/hotfix_start.rb +0 -0
- data/lib/big_keeper/command/podfile_lock.rb +16 -0
- data/lib/big_keeper/command/release_home.rb +51 -0
- data/lib/big_keeper/command/release_module.rb +27 -0
- data/lib/big_keeper/command/start_module_release.sh +44 -0
- data/lib/big_keeper/model/gitflow_type.rb +19 -0
- data/lib/big_keeper/model/operate_type.rb +19 -0
- data/lib/big_keeper/model/podfile_type.rb +44 -0
- data/lib/big_keeper/service/git_service.rb +75 -0
- data/lib/big_keeper/service/module_service.rb +90 -0
- data/lib/big_keeper/service/stash_service.rb +42 -0
- data/lib/big_keeper/util/bigkeeper_parser.rb +167 -0
- data/lib/big_keeper/util/git_operator.rb +95 -0
- data/lib/big_keeper/util/gitflow_operator.rb +40 -0
- data/lib/big_keeper/util/info_plist_operator.rb +46 -0
- data/lib/big_keeper/util/podfile_detector.rb +140 -0
- data/lib/big_keeper/util/podfile_operator.rb +111 -0
- data/lib/big_keeper/version.rb +3 -0
- data/lib/big_keeper.rb +151 -0
- data/resources/readme/big-keeper-readme.001.png +0 -0
- data/resources/readme/big-keeper-readme.002.png +0 -0
- data/resources/readme/big-keeper-readme.003.png +0 -0
- data/resources/readme/big-keeper-readme.004.png +0 -0
- data/resources/readme/big-keeper-readme.005.png +0 -0
- data/resources/readme/big-keeper-readme.006.png +0 -0
- data/resources/readme/big-keeper-readme.007.png +0 -0
- metadata +191 -0
data/lib/big_keeper.rb
ADDED
@@ -0,0 +1,151 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'big_keeper/version'
|
4
|
+
|
5
|
+
require 'big_keeper/util/bigkeeper_parser'
|
6
|
+
require 'big_keeper/util/git_operator'
|
7
|
+
|
8
|
+
require 'big_keeper/model/gitflow_type'
|
9
|
+
|
10
|
+
require 'big_keeper/command/feature_start'
|
11
|
+
require 'big_keeper/command/feature_finish'
|
12
|
+
require 'big_keeper/command/feature_switch'
|
13
|
+
require 'big_keeper/command/feature_update'
|
14
|
+
require 'big_keeper/command/feature_pull'
|
15
|
+
require 'big_keeper/command/feature_push'
|
16
|
+
require 'big_keeper/command/release_home'
|
17
|
+
require 'big_keeper/command/release_module'
|
18
|
+
|
19
|
+
require 'big_keeper/service/git_service'
|
20
|
+
|
21
|
+
require 'gli'
|
22
|
+
|
23
|
+
include GLI::App
|
24
|
+
|
25
|
+
module BigKeeper
|
26
|
+
# Your code goes here...
|
27
|
+
program_desc 'Efficiency improvement for iOS modular development, iOSer using this tool can make modular development easier.'
|
28
|
+
|
29
|
+
flag %i[p path], default_value: './'
|
30
|
+
flag %i[v ver], default_value: 'Version in Bigkeeper file'
|
31
|
+
|
32
|
+
path = ''
|
33
|
+
version = ''
|
34
|
+
|
35
|
+
pre do |global_options, _command, options, args|
|
36
|
+
path = File.expand_path(global_options[:path])
|
37
|
+
version = global_options[:ver]
|
38
|
+
end
|
39
|
+
|
40
|
+
desc 'Feature operations'
|
41
|
+
command :feature do |c|
|
42
|
+
|
43
|
+
c.flag %i[u user], default_value: GitOperator.new.user
|
44
|
+
user = GitOperator.new.user
|
45
|
+
c.pre do |global_options, _command, options, args|
|
46
|
+
user = global_options[:user]
|
47
|
+
end
|
48
|
+
|
49
|
+
c.desc 'Start a new feature with name for given modules and main project'
|
50
|
+
c.command :start do |start|
|
51
|
+
start.action do |global_options, options, args|
|
52
|
+
help_now!('feature name is required') if args.length < 1
|
53
|
+
name = args[0]
|
54
|
+
modules = args[(1...args.length)] if args.length > 1
|
55
|
+
feature_start(path, version, user, name, modules)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
c.desc 'Update moduels for the feature with name'
|
60
|
+
c.command :update do |update|
|
61
|
+
update.action do |global_options, options, args|
|
62
|
+
modules = args[(0...args.length)] if args.length > 0
|
63
|
+
feature_update(path, user, modules)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
c.desc 'Switch to the feature with name'
|
68
|
+
c.command :switch do |switch|
|
69
|
+
switch.action do |global_options, options, args|
|
70
|
+
help_now!('feature name is required') if args.length < 1
|
71
|
+
name = args[0]
|
72
|
+
feature_switch(path, version, user, name)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
c.desc 'Pull remote changes for current feature'
|
77
|
+
c.command :pull do |pull|
|
78
|
+
pull.action do |global_options, options, args|
|
79
|
+
feature_pull(path, user)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
c.desc 'Push local changes to remote for current feature'
|
84
|
+
c.command :push do |push|
|
85
|
+
push.action do |global_options, options, args|
|
86
|
+
help_now!('comment message is required') if args.length < 1
|
87
|
+
comment = args[0]
|
88
|
+
feature_push(path, user, comment)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
c.desc 'Finish current feature'
|
93
|
+
c.command :finish do |finish|
|
94
|
+
finish.action do |global_options, options, args|
|
95
|
+
feature_finish(path, user)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
c.desc 'List all the features'
|
100
|
+
c.command :list do |list|
|
101
|
+
list.action do
|
102
|
+
branchs = GitService.new.branchs_with_type(File.expand_path(path), GitflowType::FEATURE)
|
103
|
+
branchs.each do |branch|
|
104
|
+
p branch
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
desc 'Release operations'
|
111
|
+
command :release do |c|
|
112
|
+
|
113
|
+
c.flag %i[u user], default_value: GitOperator.new.user
|
114
|
+
user = GitOperator.new.user
|
115
|
+
c.pre do |global_options, _command, options, args|
|
116
|
+
user = global_options[:user]
|
117
|
+
end
|
118
|
+
|
119
|
+
c.desc 'Release home project operations'
|
120
|
+
c.command :home do |home|
|
121
|
+
home.desc 'Start release home project'
|
122
|
+
home.command :start do |start|
|
123
|
+
start.action do |global_options, options, args|
|
124
|
+
# path(optional): path of the Bigkeeper file in project
|
125
|
+
# version(optional): if null, will read verson in Bigkeeper file
|
126
|
+
# e.g: ruby big_keeper.rb -p /Users/SFM/Downloads/BigKeeperMain-master
|
127
|
+
# /Bigkeeper -v 3.0.0 release home start
|
128
|
+
release_home_start(path, version, user)
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
home.desc 'Finish release home project'
|
133
|
+
home.command :finish do |finish|
|
134
|
+
finish.action do |global_options, options, args|
|
135
|
+
release_home_finish(path, version)
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
home.desc 'Start release module'
|
140
|
+
home.command :module do |finish|
|
141
|
+
finish.action do |global_options, options, args|
|
142
|
+
help_now!('module name is required') if args.length != 1
|
143
|
+
module_name = args[0]
|
144
|
+
start_module_release(path, module_name)
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
exit run(ARGV)
|
151
|
+
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
ADDED
@@ -0,0 +1,191 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: big_keeper
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- mmoaay
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-11-02 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.15'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.15'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: gli
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.16'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.16'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: big_stash
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.1'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.1'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: cocoapods
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: plist
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rubocop
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.50.0
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.50.0
|
111
|
+
description: Efficiency improvement for iOS modular development, iOSer using this
|
112
|
+
tool can make modular development easier.
|
113
|
+
email:
|
114
|
+
- mmoaay@sina.com
|
115
|
+
executables:
|
116
|
+
- big-keeper
|
117
|
+
- setup
|
118
|
+
extensions: []
|
119
|
+
extra_rdoc_files: []
|
120
|
+
files:
|
121
|
+
- ".gitignore"
|
122
|
+
- Gemfile
|
123
|
+
- Gemfile.lock
|
124
|
+
- LICENSE.txt
|
125
|
+
- README.md
|
126
|
+
- Rakefile
|
127
|
+
- big_keeper.gemspec
|
128
|
+
- bin/big-keeper
|
129
|
+
- bin/setup
|
130
|
+
- docs/en-US/FEATURE.md
|
131
|
+
- docs/zh-CN/BIGKEEPER_FILE.md
|
132
|
+
- docs/zh-CN/FEATURE.md
|
133
|
+
- docs/zh-CN/README.md
|
134
|
+
- lib/big_keeper.rb
|
135
|
+
- lib/big_keeper/command/feature_finish.rb
|
136
|
+
- lib/big_keeper/command/feature_pull.rb
|
137
|
+
- lib/big_keeper/command/feature_push.rb
|
138
|
+
- lib/big_keeper/command/feature_start.rb
|
139
|
+
- lib/big_keeper/command/feature_switch.rb
|
140
|
+
- lib/big_keeper/command/feature_update.rb
|
141
|
+
- lib/big_keeper/command/hotfix_start.rb
|
142
|
+
- lib/big_keeper/command/podfile_lock.rb
|
143
|
+
- lib/big_keeper/command/release_home.rb
|
144
|
+
- lib/big_keeper/command/release_module.rb
|
145
|
+
- lib/big_keeper/command/start_module_release.sh
|
146
|
+
- lib/big_keeper/model/gitflow_type.rb
|
147
|
+
- lib/big_keeper/model/operate_type.rb
|
148
|
+
- lib/big_keeper/model/podfile_type.rb
|
149
|
+
- lib/big_keeper/service/git_service.rb
|
150
|
+
- lib/big_keeper/service/module_service.rb
|
151
|
+
- lib/big_keeper/service/stash_service.rb
|
152
|
+
- lib/big_keeper/util/bigkeeper_parser.rb
|
153
|
+
- lib/big_keeper/util/git_operator.rb
|
154
|
+
- lib/big_keeper/util/gitflow_operator.rb
|
155
|
+
- lib/big_keeper/util/info_plist_operator.rb
|
156
|
+
- lib/big_keeper/util/podfile_detector.rb
|
157
|
+
- lib/big_keeper/util/podfile_operator.rb
|
158
|
+
- lib/big_keeper/version.rb
|
159
|
+
- resources/readme/big-keeper-readme.001.png
|
160
|
+
- resources/readme/big-keeper-readme.002.png
|
161
|
+
- resources/readme/big-keeper-readme.003.png
|
162
|
+
- resources/readme/big-keeper-readme.004.png
|
163
|
+
- resources/readme/big-keeper-readme.005.png
|
164
|
+
- resources/readme/big-keeper-readme.006.png
|
165
|
+
- resources/readme/big-keeper-readme.007.png
|
166
|
+
homepage: https://github.com/BigKeeper/big-keeper
|
167
|
+
licenses:
|
168
|
+
- MIT
|
169
|
+
metadata:
|
170
|
+
allowed_push_host: https://rubygems.org
|
171
|
+
post_install_message:
|
172
|
+
rdoc_options: []
|
173
|
+
require_paths:
|
174
|
+
- lib
|
175
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - ">="
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '0'
|
180
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
181
|
+
requirements:
|
182
|
+
- - ">="
|
183
|
+
- !ruby/object:Gem::Version
|
184
|
+
version: '0'
|
185
|
+
requirements: []
|
186
|
+
rubyforge_project:
|
187
|
+
rubygems_version: 2.5.1
|
188
|
+
signing_key:
|
189
|
+
specification_version: 4
|
190
|
+
summary: Efficiency improvement for iOS modular development.
|
191
|
+
test_files: []
|