takelage 0.13.3 → 0.14.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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/lib/takelage.rb +37 -14
  3. data/lib/takelage/bit/check/cli.rb +1 -1
  4. data/lib/takelage/bit/check/{module.rb → workspace.rb} +2 -2
  5. data/lib/takelage/bit/clipboard/cli.rb +9 -3
  6. data/lib/takelage/bit/clipboard/copy.rb +140 -0
  7. data/lib/takelage/bit/clipboard/lib.rb +153 -0
  8. data/lib/takelage/bit/clipboard/paste.rb +58 -0
  9. data/lib/takelage/bit/clipboard/pull.rb +38 -0
  10. data/lib/takelage/bit/clipboard/push.rb +37 -0
  11. data/lib/takelage/bit/scope/add.rb +55 -0
  12. data/lib/takelage/bit/scope/cli.rb +7 -3
  13. data/lib/takelage/bit/scope/inbit.rb +13 -0
  14. data/lib/takelage/bit/scope/list.rb +41 -0
  15. data/lib/takelage/bit/scope/new.rb +44 -0
  16. data/lib/takelage/default.yml +4 -3
  17. data/lib/takelage/docker/check/cli.rb +1 -1
  18. data/lib/takelage/docker/check/{module.rb → running.rb} +2 -2
  19. data/lib/takelage/docker/container/check/cli.rb +4 -2
  20. data/lib/takelage/docker/container/check/existing.rb +31 -0
  21. data/lib/takelage/docker/container/check/network.rb +31 -0
  22. data/lib/takelage/docker/container/check/orphaned.rb +31 -0
  23. data/lib/takelage/docker/container/cli.rb +35 -34
  24. data/lib/takelage/docker/container/command.rb +33 -0
  25. data/lib/takelage/docker/container/daemon.rb +13 -0
  26. data/lib/takelage/docker/container/lib.rb +149 -0
  27. data/lib/takelage/docker/container/login.rb +46 -0
  28. data/lib/takelage/docker/container/nuke.rb +39 -0
  29. data/lib/takelage/docker/container/purge.rb +30 -0
  30. data/lib/takelage/docker/image/check/cli.rb +4 -4
  31. data/lib/takelage/docker/image/check/{module.rb → outdated.rb} +4 -5
  32. data/lib/takelage/docker/image/cli.rb +4 -4
  33. data/lib/takelage/docker/image/tag/check/cli.rb +4 -3
  34. data/lib/takelage/docker/image/tag/check/{module.rb → local.rb} +2 -34
  35. data/lib/takelage/docker/image/tag/check/remote.rb +38 -0
  36. data/lib/takelage/docker/image/tag/latest/cli.rb +5 -3
  37. data/lib/takelage/docker/image/tag/latest/local.rb +20 -0
  38. data/lib/takelage/docker/image/tag/latest/{module.rb → remote.rb} +2 -18
  39. data/lib/takelage/docker/image/tag/list/cli.rb +3 -2
  40. data/lib/takelage/docker/image/tag/list/local.rb +19 -0
  41. data/lib/takelage/docker/image/tag/list/{module.rb → remote.rb} +2 -17
  42. data/lib/takelage/docker/image/{module.rb → update.rb} +2 -2
  43. data/lib/takelage/docker/socket/cli.rb +6 -2
  44. data/lib/takelage/docker/socket/host.rb +25 -0
  45. data/lib/takelage/docker/socket/lib.rb +88 -0
  46. data/lib/takelage/docker/socket/scheme.rb +46 -0
  47. data/lib/takelage/docker/socket/start.rb +34 -0
  48. data/lib/takelage/docker/socket/stop.rb +55 -0
  49. data/lib/takelage/git/check/clean.rb +46 -0
  50. data/lib/takelage/git/check/cli.rb +3 -1
  51. data/lib/takelage/git/check/master.rb +26 -0
  52. data/lib/takelage/git/check/workspace.rb +33 -0
  53. data/lib/takelage/self/cli.rb +1 -1
  54. data/lib/takelage/self/{module.rb → list.rb} +2 -2
  55. data/lib/takelage/version +1 -1
  56. metadata +38 -15
  57. data/lib/takelage/bit/clipboard/module.rb +0 -401
  58. data/lib/takelage/bit/scope/module.rb +0 -122
  59. data/lib/takelage/docker/container/check/module.rb +0 -81
  60. data/lib/takelage/docker/container/module.rb +0 -295
  61. data/lib/takelage/docker/socket/module.rb +0 -227
  62. data/lib/takelage/git/check/module.rb +0 -93
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ # takelage git check clean
4
+ module GitCheckClean
5
+ # Backend method for git check clean.
6
+ # @return [Boolean] is git workspace clean?
7
+ def git_check_clean
8
+ log.debug 'Checking if git workspace is clean'
9
+
10
+ return false unless git_check_workspace
11
+
12
+ status_unstaged = _git_check_clean_get_status_unstaged
13
+ status_uncommitted = _git_check_clean_get_status_uncommitted
14
+ stdout_str_status = _git_check_clean_get_str_status
15
+
16
+ # only return true if neither unstaged nor uncommitted nor empty files
17
+ sum = status_unstaged.exitstatus +
18
+ status_uncommitted.exitstatus +
19
+ stdout_str_status.length
20
+
21
+ sum.zero?
22
+ end
23
+
24
+ private
25
+
26
+ # Get git status of unstaged changes.
27
+ def _git_check_clean_get_status_unstaged
28
+ cmd_git_unstaged =
29
+ config.active['cmd_git_check_clean_git_unstaged']
30
+ try cmd_git_unstaged
31
+ end
32
+
33
+ # Get git status of uncommitted changes.
34
+ def _git_check_clean_get_status_uncommitted
35
+ cmd_git_uncommitted =
36
+ config.active['cmd_git_check_clean_git_uncommitted']
37
+ try cmd_git_uncommitted
38
+ end
39
+
40
+ # Get git status result.
41
+ def _git_check_clean_get_str_status
42
+ cmd_git_status =
43
+ config.active['cmd_git_check_clean_git_status']
44
+ run cmd_git_status
45
+ end
46
+ end
@@ -6,7 +6,9 @@ module Takelage
6
6
  include LoggingModule
7
7
  include SystemModule
8
8
  include ConfigModule
9
- include GitCheckModule
9
+ include GitCheckClean
10
+ include GitCheckMaster
11
+ include GitCheckWorkspace
10
12
 
11
13
  #
12
14
  # git check clean
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ # takelage git check master
4
+ module GitCheckMaster
5
+ # Backend method for git check master.
6
+ # @return [Boolean] are we on the git master branch?
7
+ def git_check_master
8
+ log.debug 'Check if we are on the git master branch'
9
+
10
+ return false unless git_check_workspace
11
+
12
+ branch = _git_check_master_get_branch
13
+ log.debug "We are on git branch \"#{branch}\""
14
+
15
+ branch == 'master'
16
+ end
17
+
18
+ private
19
+
20
+ # Get git branch.
21
+ def _git_check_master_get_branch
22
+ cmd_get_branch =
23
+ config.active['cmd_git_check_master_git_branch']
24
+ (run cmd_get_branch).strip.split('/')[-1]
25
+ end
26
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ # takelage git check workspace
4
+ module GitCheckWorkspace
5
+ # Backend method for git check workspace.
6
+ # @return [Boolean] is this a git workspace?
7
+ def git_check_workspace
8
+ log.debug 'Check if this is a git workspace'
9
+ status_repo = _git_check_workspace_get_status_repo
10
+ dir = _git_check_workspace_get_dir
11
+ unless status_repo.exitstatus.zero?
12
+ log.debug "No git workspace found in \"#{dir}\""
13
+ return false
14
+ end
15
+ true
16
+ end
17
+
18
+ private
19
+
20
+ # Get git repository status.
21
+ def _git_check_workspace_get_status_repo
22
+ cmd_git_repo =
23
+ config.active['cmd_git_check_workspace_git_repo']
24
+ try cmd_git_repo
25
+ end
26
+
27
+ # Get current working directory.
28
+ def _git_check_workspace_get_dir
29
+ cmd_pwd =
30
+ config.active['cmd_git_check_workspace_pwd']
31
+ (run cmd_pwd).strip
32
+ end
33
+ end
@@ -7,7 +7,7 @@ module Takelage
7
7
  # takelage self
8
8
  class Self < SubCommandBase
9
9
  include LoggingModule
10
- include SelfModule
10
+ include SelfList
11
11
 
12
12
  desc 'config [COMMAND]', 'Manage takelage configuration'
13
13
  subcommand 'config', SelfConfig
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # takelage self
4
- module SelfModule
3
+ # takelage self list
4
+ module SelfList
5
5
  # Backend method for config self.
6
6
  def self_list
7
7
  # use Thorfile which requires relative takelage.rb
data/lib/takelage/version CHANGED
@@ -1 +1 @@
1
- 0.13.3
1
+ 0.14.0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: takelage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.3
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geospin
@@ -206,36 +206,59 @@ files:
206
206
  - lib/Thorfile
207
207
  - lib/takelage.rb
208
208
  - lib/takelage/bit/check/cli.rb
209
- - lib/takelage/bit/check/module.rb
209
+ - lib/takelage/bit/check/workspace.rb
210
210
  - lib/takelage/bit/cli.rb
211
211
  - lib/takelage/bit/clipboard/cli.rb
212
- - lib/takelage/bit/clipboard/module.rb
212
+ - lib/takelage/bit/clipboard/copy.rb
213
+ - lib/takelage/bit/clipboard/lib.rb
214
+ - lib/takelage/bit/clipboard/paste.rb
215
+ - lib/takelage/bit/clipboard/pull.rb
216
+ - lib/takelage/bit/clipboard/push.rb
217
+ - lib/takelage/bit/scope/add.rb
213
218
  - lib/takelage/bit/scope/cli.rb
214
- - lib/takelage/bit/scope/module.rb
219
+ - lib/takelage/bit/scope/inbit.rb
220
+ - lib/takelage/bit/scope/list.rb
221
+ - lib/takelage/bit/scope/new.rb
215
222
  - lib/takelage/completion/cli.rb
216
223
  - lib/takelage/default.yml
217
224
  - lib/takelage/docker/check/cli.rb
218
- - lib/takelage/docker/check/module.rb
225
+ - lib/takelage/docker/check/running.rb
219
226
  - lib/takelage/docker/cli.rb
220
227
  - lib/takelage/docker/container/check/cli.rb
221
- - lib/takelage/docker/container/check/module.rb
228
+ - lib/takelage/docker/container/check/existing.rb
229
+ - lib/takelage/docker/container/check/network.rb
230
+ - lib/takelage/docker/container/check/orphaned.rb
222
231
  - lib/takelage/docker/container/cli.rb
223
- - lib/takelage/docker/container/module.rb
232
+ - lib/takelage/docker/container/command.rb
233
+ - lib/takelage/docker/container/daemon.rb
234
+ - lib/takelage/docker/container/lib.rb
235
+ - lib/takelage/docker/container/login.rb
236
+ - lib/takelage/docker/container/nuke.rb
237
+ - lib/takelage/docker/container/purge.rb
224
238
  - lib/takelage/docker/image/check/cli.rb
225
- - lib/takelage/docker/image/check/module.rb
239
+ - lib/takelage/docker/image/check/outdated.rb
226
240
  - lib/takelage/docker/image/cli.rb
227
- - lib/takelage/docker/image/module.rb
228
241
  - lib/takelage/docker/image/tag/check/cli.rb
229
- - lib/takelage/docker/image/tag/check/module.rb
242
+ - lib/takelage/docker/image/tag/check/local.rb
243
+ - lib/takelage/docker/image/tag/check/remote.rb
230
244
  - lib/takelage/docker/image/tag/cli.rb
231
245
  - lib/takelage/docker/image/tag/latest/cli.rb
232
- - lib/takelage/docker/image/tag/latest/module.rb
246
+ - lib/takelage/docker/image/tag/latest/local.rb
247
+ - lib/takelage/docker/image/tag/latest/remote.rb
233
248
  - lib/takelage/docker/image/tag/list/cli.rb
234
- - lib/takelage/docker/image/tag/list/module.rb
249
+ - lib/takelage/docker/image/tag/list/local.rb
250
+ - lib/takelage/docker/image/tag/list/remote.rb
251
+ - lib/takelage/docker/image/update.rb
235
252
  - lib/takelage/docker/socket/cli.rb
236
- - lib/takelage/docker/socket/module.rb
253
+ - lib/takelage/docker/socket/host.rb
254
+ - lib/takelage/docker/socket/lib.rb
255
+ - lib/takelage/docker/socket/scheme.rb
256
+ - lib/takelage/docker/socket/start.rb
257
+ - lib/takelage/docker/socket/stop.rb
258
+ - lib/takelage/git/check/clean.rb
237
259
  - lib/takelage/git/check/cli.rb
238
- - lib/takelage/git/check/module.rb
260
+ - lib/takelage/git/check/master.rb
261
+ - lib/takelage/git/check/workspace.rb
239
262
  - lib/takelage/git/cli.rb
240
263
  - lib/takelage/info/cli.rb
241
264
  - lib/takelage/info/project/cli.rb
@@ -246,7 +269,7 @@ files:
246
269
  - lib/takelage/lib/system.rb
247
270
  - lib/takelage/self/cli.rb
248
271
  - lib/takelage/self/config/cli.rb
249
- - lib/takelage/self/module.rb
272
+ - lib/takelage/self/list.rb
250
273
  - lib/takelage/version
251
274
  homepage: https://github.com/geospin-takelage/takelage-cli
252
275
  licenses:
@@ -1,401 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # takelage bit clipboard module
4
- module BitClipboardModule
5
- # Backend method for bit copy.
6
- def bit_clipboard_copy(dir, scope)
7
- # remove trailing slash
8
- dir = dir.chomp('/')
9
-
10
- log.debug "Running bit copy \"#{dir}\" to \"#{scope}\""
11
-
12
- return false unless _bit_clipboard_prepare_workspace
13
-
14
- unless File.directory? dir
15
- log.error "The directory \"#{dir}\" does not exist"
16
- return false
17
- end
18
-
19
- _bit_clipboard_copy_dir dir, scope
20
- end
21
-
22
- # Backend method for bit paste.
23
- def bit_clipboard_paste(cid, dir)
24
- log.debug "Running bit paste \"#{cid}\" to \"#{dir}\""
25
-
26
- return false unless _bit_clipboard_prepare_workspace
27
-
28
- return false unless _bit_clipboard_cid_exists? cid
29
-
30
- _bit_clipboard_import_cid cid, dir
31
- _handle_bitignore
32
- _bit_clipbpard_remove_bit_artifacts
33
- _bit_clipboard_sync_workspace
34
-
35
- log.info "Pasted bit component \"#{cid}\" to directory \"#{dir}\""
36
- true
37
- end
38
-
39
- # Backend method for bit pull.
40
- def bit_clipboard_pull
41
- log.debug 'Running bit pull'
42
-
43
- return false unless _bit_clipboard_prepare_workspace
44
-
45
- _bit_clipboard_import_all
46
- _bit_clipboard_checkout_all
47
- _handle_bitignore
48
- _bit_clipbpard_remove_bit_artifacts
49
- _bit_clipboard_sync_workspace
50
-
51
- log.info 'Pulled bit components'
52
- true
53
- end
54
-
55
- # Backend method for bit push
56
- def bit_clipboard_push
57
- log.debug 'Running bit push'
58
-
59
- return false unless _bit_clipboard_prepare_workspace
60
-
61
- _bit_clipboard_tag_all
62
- _bit_clipboard_export_all
63
- _bit_clipbpard_remove_bit_artifacts
64
- _bit_clipboard_sync_workspace
65
-
66
- log.info 'Pushed bit components'
67
- true
68
- end
69
-
70
- private
71
-
72
- # rubocop:disable Metrics/MethodLength
73
- def _bit_clipboard_copy_dir(dir, scope)
74
- log.debug "Adding the directory \"#{dir}\" as a tagged bit component"
75
-
76
- return false unless _bit_clipboard_copy_dir_scope_exists scope
77
-
78
- return false if _bit_clipboard_readme_bit_exists_in_subdir dir
79
-
80
- id = _id(dir)
81
-
82
- _bit_clipboard_touch_readme_bit dir
83
- _bit_clipboard_add_dir id, dir
84
- _bit_clipboard_tag_dir id
85
- _bit_clipboard_export_to_scope scope
86
- _bit_clipbpard_remove_bit_artifacts
87
- _bit_clipboard_sync_workspace
88
-
89
- log.info "Copied directory \"#{dir}\" as bit component \"#{id}\" " \
90
- "to bit remote scope \"#{scope}\""
91
- end
92
- # rubocop:enable Metrics/MethodLength
93
-
94
- # Genereate .gitignore if bitignore is present
95
- def _handle_bitignore
96
- log.debug 'Handling bitgnore files'
97
-
98
- # find all bitgnore files
99
- Dir.glob('./**/bitignore').each do |file|
100
- # get directory of bitignore file
101
- dir = File.dirname file
102
-
103
- # build gitignore filepath
104
- gitignore_file = "#{dir}/.gitignore"
105
-
106
- unless File.exist? gitignore_file
107
- log.debug "Creating \".gitignore\" in \"#{dir}\""
108
- File.open(gitignore_file, 'w') { |gitignore| gitignore.write('*') }
109
- end
110
- end
111
- end
112
-
113
- # touch README.bit if necessary
114
- def _bit_clipboard_touch_readme_bit(dir)
115
- readme_bit = "#{dir}/README.bit"
116
- return if File.file? readme_bit
117
-
118
- log.info "Creating \"README.bit\" in \"#{dir}\""
119
- File.open(readme_bit, 'w') {}
120
- end
121
-
122
- # check if a README.bit file exists in a subdirectory
123
- def _bit_clipboard_readme_bit_exists_in_subdir(dir)
124
- Dir.glob("#{dir}/**/README.bit").each do |file|
125
- unless file == "#{dir}/README.bit"
126
- log.error 'Nested README.bit file detected'
127
- return true
128
- end
129
- end
130
-
131
- false
132
- end
133
-
134
- # Check if bit scope exists
135
- def _bit_clipboard_copy_dir_scope_exists(scope)
136
- bit_dev = config.active['bit_dev_user']
137
-
138
- # check if scope is a candidate for a bit.dev remote scope
139
- if scope.start_with? bit_dev + '.'
140
- return false unless _bit_clipboard_bit_dev_scope_exists scope
141
- else
142
- return false unless _bit_clipboard_custom_scope_exists scope
143
- end
144
-
145
- true
146
- end
147
-
148
- # check if bit.dev remote scope exists
149
- def _bit_clipboard_bit_dev_scope_exists(scope)
150
- cmd_bit_list_scope = format(
151
- config.active['cmd_bit_clipboard_copy_bit_list_scope'],
152
- scope: scope
153
- )
154
-
155
- status = try cmd_bit_list_scope
156
-
157
- return true if status.exitstatus.zero?
158
-
159
- log.error "No bit.dev remote scope \"#{scope}\" found"
160
- false
161
- end
162
-
163
- # check if bit remote scope is added to local workspace
164
- def _bit_clipboard_custom_scope_exists(scope)
165
- cmd_bit_list_remotes =
166
- config.active['cmd_bit_clipboard_copy_bit_list_remotes']
167
-
168
- stdout_str = run cmd_bit_list_remotes
169
-
170
- return true if /.*\s+#{scope}\s+.*/m.match? stdout_str
171
-
172
- log.error "No bit remote scope \"#{scope}\" " \
173
- 'found in local bit workspace'
174
- false
175
- end
176
-
177
- # Generate bit component ID.
178
- def _id(name)
179
- id = ''
180
-
181
- # bit restrictions:
182
- # component names can only contain alphanumeric,
183
- # lowercase characters, and the following ["-", "_", "$", "!", "/"]
184
-
185
- # convert directory name to lowercase characters
186
- dir_downcase = name.downcase
187
-
188
- # construct array of allowed characters
189
- allowed_chars = [*('a'..'z'), *('0'..'9'), '-', '_', '$', '!', '/']
190
-
191
- # iterate over directory or file name
192
- # and replace invalid characters with underscore
193
- dir_downcase.split('').each do |char|
194
- id += allowed_chars.include?(char) ? char : '_'
195
- end
196
-
197
- log.debug "Generated bit id \"#{id}\" from \"#{name}\""
198
- id
199
- end
200
-
201
- # Prepare workspace for bit clipboard.
202
- # rubocop:disable Metrics/MethodLength
203
- def _bit_clipboard_prepare_workspace
204
- unless bit_check_workspace
205
- log.error 'No bit workspace'
206
- return false
207
- end
208
-
209
- if git_check_workspace
210
- unless git_check_master
211
- log.error 'Not on git master branch'
212
- return false
213
- end
214
-
215
- unless git_check_clean
216
- log.error 'No clean git workspace'
217
- return false
218
- end
219
-
220
- return _bit_clipboard_git_pull
221
- end
222
-
223
- true
224
- end
225
- # rubocop:enable Metrics/MethodLength
226
-
227
- def _bit_clipboard_cid_exists?(cid)
228
- scope = cid.scan(%r{([^/]*).*}).first.first
229
-
230
- log.debug "Checking if scope \"#{scope}\" " \
231
- "contains component id \"#{cid}\""
232
-
233
- bit_list_scope = _bit_clipboard_cid_exists_list_scope scope
234
-
235
- return true if bit_list_scope.include? '"id": "' + cid + '",'
236
-
237
- log.error "No remote component \"#{cid}\""
238
- false
239
- end
240
-
241
- # Remove bit artifacts.
242
- def _bit_clipbpard_remove_bit_artifacts
243
- log.debug 'Removing bit artifacts'
244
-
245
- # Remove node_modules directory.
246
- FileUtils.remove_entry_secure('node_modules', force: true)
247
-
248
- # Remove index.bit files recursively.
249
- Dir.glob('./**/index.bit').each do |file|
250
- FileUtils.remove_entry_secure(file, force: true)
251
- end
252
-
253
- # Remove package.json file.
254
- FileUtils.remove_entry_secure('package.json', force: true)
255
- end
256
-
257
- # bit tag dir
258
- def _bit_clipboard_add_dir(id, dir)
259
- cmd_bit_add_dir = format(
260
- config.active['cmd_bit_clipboard_copy_bit_add_dir'],
261
- id: id,
262
- dir: dir
263
- )
264
-
265
- run cmd_bit_add_dir
266
- end
267
-
268
- # bit tag dir
269
- def _bit_clipboard_tag_dir(id)
270
- cmd_bit_tag_id = format(
271
- config.active['cmd_bit_clipboard_copy_bit_tag_id'],
272
- id: id
273
- )
274
-
275
- run cmd_bit_tag_id
276
- end
277
-
278
- # bit export component to bit remote scope
279
- def _bit_clipboard_export_to_scope(scope)
280
- cmd_bit_export_to_scope = format(
281
- config.active['cmd_bit_clipboard_copy_bit_export_to_scope'],
282
- scope: scope
283
- )
284
-
285
- run cmd_bit_export_to_scope
286
- end
287
-
288
- # paste bit component into directory
289
- def _bit_clipboard_import_cid(cid, dir)
290
- cmd_bit_import_cid = format(
291
- config.active['cmd_bit_clipboard_paste_bit_import_cid'],
292
- cid: cid,
293
- dir: dir
294
- )
295
-
296
- run cmd_bit_import_cid
297
- end
298
-
299
- # bit import components into workspace
300
- def _bit_clipboard_import_all
301
- cmd_bit_import_all =
302
- config.active['cmd_bit_clipboard_pull_bit_import_all']
303
-
304
- run cmd_bit_import_all
305
- end
306
-
307
- # checkout components and merge them
308
- def _bit_clipboard_checkout_all
309
- cmd_bit_checkout_all =
310
- config.active['cmd_bit_clipboard_pull_bit_checkout_all']
311
-
312
- run cmd_bit_checkout_all
313
- end
314
-
315
- # bit tag all components
316
- def _bit_clipboard_tag_all
317
- cmd_bit_tag_all =
318
- config.active['cmd_bit_clipboard_push_bit_tag_all']
319
-
320
- run cmd_bit_tag_all
321
- end
322
-
323
- # bit export components
324
- def _bit_clipboard_export_all
325
- cmd_bit_export_all =
326
- config.active['cmd_bit_clipboard_push_bit_export_all']
327
-
328
- run cmd_bit_export_all
329
- end
330
-
331
- # Sync workspace with upstream.
332
- def _bit_clipboard_sync_workspace
333
- log.debug 'Syncing git workspace'
334
-
335
- _rakefile, path = Rake.application.find_rakefile_location
336
- bitmap = "#{path}/.bitmap"
337
-
338
- _bit_clipboard_git_add bitmap
339
- _bit_clipboard_git_commit bitmap
340
- _bit_clipboard_git_push
341
- end
342
-
343
- # git add .bitmap
344
- def _bit_clipboard_git_add(bitmap)
345
- log.debug "Adding \"#{bitmap}\" to git"
346
-
347
- cmd_bit_clipboard_git_add = format(
348
- config.active['cmd_bit_clipboard_git_add'],
349
- file: bitmap
350
- )
351
- run cmd_bit_clipboard_git_add
352
- end
353
-
354
- # git commit -m "Update .bitmap"
355
- def _bit_clipboard_git_commit(bitmap)
356
- message = 'Update .bitmap'
357
-
358
- log.debug "Committing \"#{bitmap}\" to git"
359
-
360
- cmd_bit_clipboard_git_commit = format(
361
- config.active['cmd_bit_clipboard_git_commit'],
362
- message: message
363
- )
364
-
365
- run cmd_bit_clipboard_git_commit
366
- end
367
-
368
- # git push origin master
369
- def _bit_clipboard_git_push
370
- log.debug 'Pushing master branch to origin'
371
-
372
- cmd_bit_clipboard_git_push =
373
- config.active['cmd_bit_clipboard_git_push']
374
-
375
- run cmd_bit_clipboard_git_push
376
- end
377
-
378
- # git pull
379
- def _bit_clipboard_git_pull
380
- log.debug 'Updating git workspace'
381
- cmd_bit_clipboard_git_pull =
382
- config.active['cmd_bit_clipboard_git_pull']
383
-
384
- result_git_pull = try cmd_bit_clipboard_git_pull
385
-
386
- return true unless result_git_pull
387
-
388
- log.error 'Unable to update git workspace'
389
- false
390
- end
391
-
392
- # get components in remote scope
393
- def _bit_clipboard_cid_exists_list_scope(scope)
394
- cmd_bit_list_scope = format(
395
- config.active['cmd_bit_clipboard_paste_bit_list_scope'],
396
- scope: scope
397
- )
398
-
399
- run cmd_bit_list_scope
400
- end
401
- end