squared 0.1.1 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +31 -0
- data/README.ruby.md +14 -8
- data/lib/squared/common/class.rb +2 -2
- data/lib/squared/common/format.rb +3 -3
- data/lib/squared/common/prompt.rb +2 -2
- data/lib/squared/common/shell.rb +33 -20
- data/lib/squared/common/system.rb +1 -1
- data/lib/squared/config.rb +13 -10
- data/lib/squared/version.rb +1 -1
- data/lib/squared/workspace/application.rb +30 -6
- data/lib/squared/workspace/project/base.rb +33 -15
- data/lib/squared/workspace/project/git.rb +100 -60
- data/lib/squared/workspace/project/node.rb +17 -19
- data/lib/squared/workspace/project/python.rb +11 -11
- data/lib/squared/workspace/project/ruby.rb +40 -40
- data/lib/squared/workspace/repo.rb +12 -12
- data/lib/squared/workspace/series.rb +3 -2
- metadata +3 -6
@@ -4,8 +4,8 @@ module Squared
|
|
4
4
|
module Workspace
|
5
5
|
module Project
|
6
6
|
class Git < Base
|
7
|
-
|
8
|
-
|
7
|
+
OPT_FETCH = %w[all tags prune append atomic unshallow dry-run depth=i deepen=i since=d jobs=i].freeze
|
8
|
+
OPT_PULL = %w[ff ff-only edit autostash squash verify <fetch].freeze
|
9
9
|
private_constant :OPT_PULL, :OPT_FETCH
|
10
10
|
|
11
11
|
class << self
|
@@ -17,7 +17,7 @@ module Squared
|
|
17
17
|
namespace(name = ws.task_name('git')) do
|
18
18
|
all = ws.task_join(name, 'all')
|
19
19
|
|
20
|
-
desc
|
20
|
+
desc Common::Format.message(*"#{all}[git?=rebase|stash,depend?]".split(':'))
|
21
21
|
task 'all', [:git, :depend] do |_, args|
|
22
22
|
cmd = case args.git
|
23
23
|
when 'rebase'
|
@@ -63,7 +63,8 @@ module Squared
|
|
63
63
|
reset: %i[head soft mixed hard merge keep submodules].freeze,
|
64
64
|
restore: %i[worktree staged overlay].freeze,
|
65
65
|
rev: %i[commit branch].freeze,
|
66
|
-
show: %i[oneline pretty format].freeze
|
66
|
+
show: %i[oneline pretty format].freeze,
|
67
|
+
tag: %i[add delete list merged].freeze
|
67
68
|
}.freeze
|
68
69
|
|
69
70
|
def initialize(*, **)
|
@@ -85,7 +86,7 @@ module Squared
|
|
85
86
|
flags.each do |flag|
|
86
87
|
case action
|
87
88
|
when :pull, :fetch
|
88
|
-
desc format_desc(action, flag,
|
89
|
+
desc format_desc(action, flag, action == :pull ? OPT_PULL : OPT_FETCH)
|
89
90
|
task flag, [:opts] do |_, args|
|
90
91
|
__send__(action, flag, opts: args.to_a)
|
91
92
|
end
|
@@ -102,6 +103,32 @@ module Squared
|
|
102
103
|
__send__(action, flag, files)
|
103
104
|
end
|
104
105
|
end
|
106
|
+
when :tag
|
107
|
+
case flag
|
108
|
+
when :list
|
109
|
+
desc format_desc(action, flag, 'pattern*')
|
110
|
+
task flag, [:pattern] do |_, args|
|
111
|
+
tag(flag, args.to_a)
|
112
|
+
end
|
113
|
+
when :merged
|
114
|
+
desc format_desc(action, flag, 'commit,pattern*')
|
115
|
+
task flag, [:commit, :pattern] do |_, args|
|
116
|
+
commit = guard_params(action, flag, args: args, key: :commit)
|
117
|
+
tag(flag, args.to_a.drop(1), commit: commit)
|
118
|
+
end
|
119
|
+
when :delete
|
120
|
+
desc format_desc(action, flag, 'name+')
|
121
|
+
task flag, [:name] do |_, args|
|
122
|
+
name = guard_params(action, flag, args: args.to_a)
|
123
|
+
tag(flag, name)
|
124
|
+
end
|
125
|
+
else
|
126
|
+
desc format_desc(action, flag, 'name,message?,commit?')
|
127
|
+
task flag, [:name, :message, :commit] do |_, args|
|
128
|
+
name = guard_params(action, flag, args: args, key: :name)
|
129
|
+
tag(flag, [name], message: args.message, commit: args.commit)
|
130
|
+
end
|
131
|
+
end
|
105
132
|
when :stash
|
106
133
|
if flag == :push
|
107
134
|
desc format_desc(action, flag, 'pathspec*')
|
@@ -130,7 +157,7 @@ module Squared
|
|
130
157
|
desc format_desc(action, flag, 'index?=0,pathspec*')
|
131
158
|
task flag, [:pathspec] do |_, args|
|
132
159
|
files = args.to_a
|
133
|
-
diff(flag, files, index:
|
160
|
+
diff(flag, files, index: /\A\d+\z/.match?(files[0]) && !option('index') ? files.shift.to_i : 0)
|
134
161
|
end
|
135
162
|
when :cached
|
136
163
|
desc format_desc(action, flag, 'pathspec*')
|
@@ -139,9 +166,9 @@ module Squared
|
|
139
166
|
end
|
140
167
|
when :branch
|
141
168
|
desc format_desc(action, flag, 'name,pathspec*')
|
142
|
-
task flag, [:name
|
169
|
+
task flag, [:name] do |_, args|
|
143
170
|
branch = guard_params(action, flag, args: args, key: :name)
|
144
|
-
diff(flag, args.to_a
|
171
|
+
diff(flag, args.to_a.drop(1), branch: branch)
|
145
172
|
end
|
146
173
|
when :files
|
147
174
|
desc format_desc(action, flag, 'path1,path2')
|
@@ -173,7 +200,7 @@ module Squared
|
|
173
200
|
detach = args.detach
|
174
201
|
commit = args.commit
|
175
202
|
end
|
176
|
-
guard_params(action, flag, args: { create: create }, key: :create, pat:
|
203
|
+
guard_params(action, flag, args: { create: create }, key: :create, pat: /\Ab\z/i) if create
|
177
204
|
checkout(flag, branch: branch, create: create, commit: commit, detach: detach)
|
178
205
|
end
|
179
206
|
when :detach
|
@@ -191,7 +218,7 @@ module Squared
|
|
191
218
|
if flag == :head
|
192
219
|
desc format_desc(action, flag, 'ref,pathspec+')
|
193
220
|
task flag, [:ref, :pathspec] do |_, args|
|
194
|
-
files = guard_params(action, flag, args: args.to_a
|
221
|
+
files = guard_params(action, flag, args: args.to_a.drop(1))
|
195
222
|
reset(flag, files, ref: args.ref)
|
196
223
|
end
|
197
224
|
else
|
@@ -204,15 +231,12 @@ module Squared
|
|
204
231
|
if flag == :oneline
|
205
232
|
desc format_desc(action, flag, 'object*')
|
206
233
|
task flag, [:object] do |_, args|
|
207
|
-
|
208
|
-
show(objs, pretty: 'oneline', abbrev: true)
|
234
|
+
show(args.to_a, pretty: 'oneline', abbrev: true)
|
209
235
|
end
|
210
236
|
else
|
211
237
|
desc format_desc(action, flag, 'format,object*')
|
212
238
|
task flag, [:format, :object] do |_, args|
|
213
|
-
|
214
|
-
objs = args.to_a[1..-1] || []
|
215
|
-
show(objs, "#{flag}": format)
|
239
|
+
show(args.to_a.drop(1), "#{flag}": args.format)
|
216
240
|
end
|
217
241
|
end
|
218
242
|
end
|
@@ -272,16 +296,16 @@ module Squared
|
|
272
296
|
def status
|
273
297
|
cmd = git_session 'status', option('long') ? '--long' : '--short'
|
274
298
|
if (val = option('ignore-submodules', ignore: false))
|
275
|
-
cmd <<
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
299
|
+
cmd << shell_option('ignore-submodules', case val
|
300
|
+
when '0', 'none'
|
301
|
+
'none'
|
302
|
+
when '1', 'untracked'
|
303
|
+
'untracked'
|
304
|
+
when '2', 'dirty'
|
305
|
+
'dirty'
|
306
|
+
else
|
307
|
+
'all'
|
308
|
+
end, escape: false)
|
285
309
|
end
|
286
310
|
append_pathspec
|
287
311
|
out, banner = source(io: true)
|
@@ -339,18 +363,39 @@ module Squared
|
|
339
363
|
cmd << "--#{flag}" << commit
|
340
364
|
else
|
341
365
|
cmd << "--#{flag}"
|
342
|
-
|
366
|
+
append_first %w[ours theirs]
|
343
367
|
append_head
|
344
368
|
append_pathspec files
|
345
369
|
end
|
346
370
|
source
|
347
371
|
end
|
348
372
|
|
373
|
+
def tag(flag, refs, message: nil, commit: nil)
|
374
|
+
cmd = git_session 'tag'
|
375
|
+
case flag
|
376
|
+
when :add
|
377
|
+
if option('sign')
|
378
|
+
cmd << '--sign'
|
379
|
+
else
|
380
|
+
out = cmd.to_s
|
381
|
+
cmd << '--annotate' if %w[-s --sign -u --local-user].none? { |val| out.include?(" #{val}") }
|
382
|
+
end
|
383
|
+
append_message message
|
384
|
+
append_value(refs, escape: false)
|
385
|
+
append_head commit
|
386
|
+
when :delete, :list, :merged
|
387
|
+
cmd << shell_option(flag, commit)
|
388
|
+
append_option(%w[contains sort] + (flag == :list ? ['merged'] : []), equals: true) unless flag == :delete
|
389
|
+
append_value(refs, escape: false)
|
390
|
+
end
|
391
|
+
source
|
392
|
+
end
|
393
|
+
|
349
394
|
def rev(flag, ref: nil, size: nil)
|
350
395
|
git_session 'rev-parse', if flag == :branch
|
351
396
|
'--abbrev-ref'
|
352
397
|
else
|
353
|
-
(n = size.to_i) > 0 ?
|
398
|
+
(n = size.to_i) > 0 ? shell_option('short', [n, 5].max, escape: false) : '--verify'
|
354
399
|
end
|
355
400
|
append_commit ref
|
356
401
|
source
|
@@ -375,7 +420,7 @@ module Squared
|
|
375
420
|
def diff(flag, files = [], branch: nil, index: 0)
|
376
421
|
cmd = git_session 'diff'
|
377
422
|
unless flag == :files
|
378
|
-
if
|
423
|
+
if /\A#\h{5,40}\#\z/.match?(sha = files.first)
|
379
424
|
sha = sha[1..-2]
|
380
425
|
files.shift
|
381
426
|
else
|
@@ -383,7 +428,7 @@ module Squared
|
|
383
428
|
end
|
384
429
|
end
|
385
430
|
if (val = option('unified')).to_i > 0
|
386
|
-
cmd <<
|
431
|
+
cmd << shell_option('unified', val, escape: false)
|
387
432
|
end
|
388
433
|
append_nocolor
|
389
434
|
case flag
|
@@ -425,14 +470,14 @@ module Squared
|
|
425
470
|
upstream = false
|
426
471
|
source('git fetch --no-tags --quiet', io: true, banner: false)
|
427
472
|
source('git branch -vv --list', io: true, banner: false).first.each do |val|
|
428
|
-
next unless (data =
|
473
|
+
next unless (data = /\A\*\s(\S+)\s+(\h+)(?:\s\[(.+?)(?=\]\s)\])?\s/.match(val))
|
429
474
|
|
430
475
|
branch = data[1]
|
431
476
|
sha = data[2]
|
432
477
|
if !data[3]
|
433
478
|
unless (origin = option('repository', prefix: 'git', ignore: false))
|
434
479
|
out = source('git log -n1 --format=%h%d', io: true, stdout: true, banner: false).first
|
435
|
-
if (data =
|
480
|
+
if (data = /\A#{sha} \(HEAD -> #{Regexp.escape(branch)}, (.+?)\)\z/.match(out))
|
436
481
|
split_escape(data[1]).each do |val|
|
437
482
|
next unless val.end_with?("/#{branch}")
|
438
483
|
|
@@ -442,7 +487,7 @@ module Squared
|
|
442
487
|
end
|
443
488
|
end
|
444
489
|
upstream = !origin.nil?
|
445
|
-
elsif (data = Regexp.new("
|
490
|
+
elsif (data = Regexp.new("\\A(.+)/#{Regexp.escape(branch)}\\z").match(data[3]))
|
446
491
|
origin = data[1]
|
447
492
|
end
|
448
493
|
break
|
@@ -469,7 +514,7 @@ module Squared
|
|
469
514
|
end
|
470
515
|
a << pathspec
|
471
516
|
b << '--force' if amend
|
472
|
-
b <<
|
517
|
+
b << origin << branch
|
473
518
|
puts if pass
|
474
519
|
source a.join(' ')
|
475
520
|
source cmd
|
@@ -478,27 +523,25 @@ module Squared
|
|
478
523
|
|
479
524
|
def restore(flag, files)
|
480
525
|
git_session 'restore', "--#{flag}"
|
481
|
-
|
526
|
+
append_first %w[ours theirs]
|
482
527
|
append_pathspec(files, expect: true)
|
483
528
|
source(stdout: true)
|
484
529
|
end
|
485
530
|
|
486
531
|
def show(objs, pretty: nil, format: nil, abbrev: nil)
|
487
532
|
cmd = git_session 'show'
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
cmd << "--format=#{shell_escape(format, quote: true)}"
|
496
|
-
end
|
533
|
+
if (flag = pretty || format)
|
534
|
+
cmd << case (val = flag.downcase)
|
535
|
+
when 'oneline', 'short', 'medium', 'full', 'fuller', 'reference', 'email', 'raw'
|
536
|
+
shell_option('format', val, escape: false)
|
537
|
+
else
|
538
|
+
shell_option('pretty', flag, escape: false, quote: true)
|
539
|
+
end
|
497
540
|
end
|
498
541
|
if (abbrev ||= option('abbrev')) == true
|
499
542
|
cmd << '--abbrev-commit'
|
500
543
|
elsif abbrev.to_i > 0
|
501
|
-
cmd <<
|
544
|
+
cmd << shell_option('abbrev', abbrev, escape: false)
|
502
545
|
end
|
503
546
|
append_value objs
|
504
547
|
source(exception: false)
|
@@ -511,7 +554,7 @@ module Squared
|
|
511
554
|
cmd = session_done(cmd)
|
512
555
|
log.info cmd
|
513
556
|
banner = format_banner(cmd.gsub(File.join(path, ''), ''), banner: banner)
|
514
|
-
cmd = cmd.sub(
|
557
|
+
cmd = cmd.sub(/\Agit\b/, "git --work-tree=#{shell_quote(path)} --git-dir=#{shell_quote(gitpath)}")
|
515
558
|
begin
|
516
559
|
if io
|
517
560
|
[stdout ? `#{cmd}` : IO.popen(cmd), banner]
|
@@ -580,8 +623,8 @@ module Squared
|
|
580
623
|
if size > 0
|
581
624
|
styles = theme.fetch(:banner, []).reject { |s| s.to_s.end_with?('!') }
|
582
625
|
styles << :bold if styles.size <= 1
|
583
|
-
puts print_footer("#{size} #{size == 1 ? type.sub(/s
|
584
|
-
sub: {
|
626
|
+
puts print_footer("#{size} #{size == 1 ? type.sub(/s\z/, '') : type}",
|
627
|
+
sub: { pat: /\A(\d+)(.+)\z/, styles: styles })
|
585
628
|
else
|
586
629
|
puts empty_status("No #{type} were #{action}", 'grep', grep)
|
587
630
|
end
|
@@ -589,11 +632,14 @@ module Squared
|
|
589
632
|
|
590
633
|
def append_pull(opts, list, flag = nil)
|
591
634
|
append_submodules flag
|
635
|
+
list = list.grep_v(/[^a-z\-]/)
|
592
636
|
opts.each do |opt|
|
593
|
-
if list.include?(opt) || opt.match(/^(?:
|
637
|
+
if list.include?(opt) || opt.match(/^(?:de(?:pth|epen)|jobs)=\d+$/)
|
594
638
|
@session << "--#{opt}"
|
595
|
-
elsif opt.match(/^since=(.+)$/) && (val = Date.parse($1))
|
596
|
-
@session <<
|
639
|
+
elsif opt.match(/^(?:shallow-)?since=(.+)$/) && (val = Date.parse($1))
|
640
|
+
@session << shell_option('shallow-since', val.strftime('%F %T'), escape: false, quote: true)
|
641
|
+
elsif opt.end_with?('!') && list.include?(opt = opt[0..-2])
|
642
|
+
@session << "--no-#{opt}"
|
597
643
|
end
|
598
644
|
end
|
599
645
|
end
|
@@ -616,19 +662,13 @@ module Squared
|
|
616
662
|
end
|
617
663
|
|
618
664
|
def append_message(val)
|
619
|
-
@session << "--message=\"#{double_quote(val)}\""
|
665
|
+
@session << "--message=\"#{double_quote(val)}\"" unless val.to_s.empty?
|
620
666
|
end
|
621
667
|
|
622
|
-
def append_head
|
623
|
-
@session <<
|
624
|
-
end
|
668
|
+
def append_head(val = nil)
|
669
|
+
return @session << val if val
|
625
670
|
|
626
|
-
|
627
|
-
if option('ours')
|
628
|
-
@session << '--ours'
|
629
|
-
elsif option('theirs')
|
630
|
-
@session << '--theirs'
|
631
|
-
end
|
671
|
+
append_first(%w[head tree-ish object], flag: false, ignore: false)
|
632
672
|
end
|
633
673
|
|
634
674
|
def append_submodules(flag = nil)
|
@@ -12,11 +12,11 @@ module Squared
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def batchargs
|
15
|
-
[ref, { refresh: %i[build copy] }]
|
15
|
+
[ref, { refresh: %i[build copy] }].freeze
|
16
16
|
end
|
17
17
|
|
18
18
|
def aliasargs
|
19
|
-
[ref, { refresh: :build }]
|
19
|
+
[ref, { refresh: :build }].freeze
|
20
20
|
end
|
21
21
|
|
22
22
|
def bannerargs
|
@@ -103,7 +103,7 @@ module Squared
|
|
103
103
|
when :install
|
104
104
|
desc format_desc(action, flag)
|
105
105
|
task flag do
|
106
|
-
depend
|
106
|
+
depend flag
|
107
107
|
end
|
108
108
|
when :outdated
|
109
109
|
desc format_desc(action, flag, %w[prune interactive dry-run].freeze, arg: 'opts?')
|
@@ -144,7 +144,7 @@ module Squared
|
|
144
144
|
items += as_a(also) if also
|
145
145
|
return if items.empty?
|
146
146
|
|
147
|
-
print_item unless @output[0] || !verbose || task_invoked?(
|
147
|
+
print_item unless @output[0] || !verbose || task_invoked?(/\Acopy(?::#{Node.ref}|$)/)
|
148
148
|
items.each do |dir|
|
149
149
|
case dir
|
150
150
|
when Pathname
|
@@ -243,7 +243,7 @@ module Squared
|
|
243
243
|
end
|
244
244
|
cmd << '--prod' if flag && prod?
|
245
245
|
if (val = option('public-hoist-pattern', ignore: false))
|
246
|
-
split_escape(val).each { |opt| cmd <<
|
246
|
+
split_escape(val).each { |opt| cmd << shell_option('public-hoist-pattern', opt, quote: true) }
|
247
247
|
end
|
248
248
|
cmd << '--ignore-workspace' if env('NODE_WORKSPACES', equals: '0')
|
249
249
|
append_nocolor option('no-color')
|
@@ -279,10 +279,7 @@ module Squared
|
|
279
279
|
end
|
280
280
|
log.info cmd
|
281
281
|
banner = format_banner("#{cmd}#{dryrun ? ' --dry-run' : ''}")
|
282
|
-
if sync
|
283
|
-
print_item banner
|
284
|
-
banner = nil
|
285
|
-
end
|
282
|
+
print_item banner if sync
|
286
283
|
begin
|
287
284
|
data = pwd_set { `#{cmd} --json --loglevel=error` }
|
288
285
|
json = JSON.parse(doc = dependfile.read)
|
@@ -316,8 +313,9 @@ module Squared
|
|
316
313
|
avail << [key, file, latest, true]
|
317
314
|
next
|
318
315
|
end
|
316
|
+
current = val['current'] || file
|
319
317
|
want = rev == :major && (ver = latest.match(SEM_VER)) && !ver[6] ? latest : val['wanted']
|
320
|
-
next unless (
|
318
|
+
next unless (current != want || file != want) && (want.match?(SEM_VER) || !file.match?(SEM_VER))
|
321
319
|
|
322
320
|
f = semscan(file)
|
323
321
|
w = semscan(want)
|
@@ -345,7 +343,7 @@ module Squared
|
|
345
343
|
end
|
346
344
|
found << [key, file, want, index, major, f, w]
|
347
345
|
elsif !major
|
348
|
-
avail << [key, file, latest,
|
346
|
+
avail << [key, file, latest, latest != current]
|
349
347
|
end
|
350
348
|
end
|
351
349
|
end
|
@@ -366,7 +364,7 @@ module Squared
|
|
366
364
|
end
|
367
365
|
puts print_footer(empty_status(msg, hint, pending + val))
|
368
366
|
end
|
369
|
-
print_item banner
|
367
|
+
print_item banner unless sync
|
370
368
|
if !found.empty?
|
371
369
|
col1 = size_col.(found, 0) + 4
|
372
370
|
col2 = size_col.(found, 1) + 4
|
@@ -465,8 +463,8 @@ module Squared
|
|
465
463
|
major = flag == :major
|
466
464
|
emphasize("version: #{out}", title: name, border: borderstyle, sub: [
|
467
465
|
headerstyle,
|
468
|
-
{ pat:
|
469
|
-
{ pat:
|
466
|
+
{ pat: /\A(version:)( )(\S+)(.*)\z/, styles: color(major ? :green : :yellow), index: 3 },
|
467
|
+
{ pat: /\A(version:)(.*)\z/, styles: theme[major ? :major : :active] }
|
470
468
|
])
|
471
469
|
elsif stdin?
|
472
470
|
puts out
|
@@ -510,7 +508,7 @@ module Squared
|
|
510
508
|
append_loglevel
|
511
509
|
case opts
|
512
510
|
when Enumerable
|
513
|
-
ret
|
511
|
+
ret.merge(opts.to_a)
|
514
512
|
when String
|
515
513
|
ret << opts
|
516
514
|
else
|
@@ -653,19 +651,19 @@ module Squared
|
|
653
651
|
end
|
654
652
|
elsif pnpm?
|
655
653
|
if silent
|
656
|
-
@session << '
|
654
|
+
@session << shell_option('reporter', 'silent', escape: false)
|
657
655
|
level ||= 'error'
|
658
656
|
end
|
659
657
|
case level
|
660
658
|
when 'debug', 'info', 'warn', 'error'
|
661
|
-
@session <<
|
659
|
+
@session << shell_option('loglevel', level, escape: false)
|
662
660
|
end
|
663
661
|
elsif silent
|
664
|
-
@session << '
|
662
|
+
@session << shell_option('loglevel', 'silent', escape: false)
|
665
663
|
else
|
666
664
|
case level
|
667
665
|
when 'error', 'warn', 'notice', 'http', 'info', 'verbose', 'silly'
|
668
|
-
@session <<
|
666
|
+
@session << shell_option('loglevel', level, escape: false)
|
669
667
|
end
|
670
668
|
end
|
671
669
|
end
|
@@ -80,7 +80,7 @@ module Squared
|
|
80
80
|
if flag == :target
|
81
81
|
task flag, [:dir, :opts] do |_, args|
|
82
82
|
dir = guard_params(action, flag, args: args, key: :dir)
|
83
|
-
depend(flag, dir: dir, opts: args.to_a
|
83
|
+
depend(flag, dir: dir, opts: args.to_a.drop(1))
|
84
84
|
end
|
85
85
|
else
|
86
86
|
task flag do |_, args|
|
@@ -106,7 +106,7 @@ module Squared
|
|
106
106
|
cmd << '--user'
|
107
107
|
append_pip opts, OPT_USER
|
108
108
|
when :target
|
109
|
-
cmd <<
|
109
|
+
cmd << shell_option('target', basepath(dir), quote: true)
|
110
110
|
append_pip opts, OPT_USER + ['upgrade']
|
111
111
|
append_eager opts
|
112
112
|
when :upgrade
|
@@ -122,7 +122,7 @@ module Squared
|
|
122
122
|
cmd << (type == 1 ? '-r requirements.txt' : '.')
|
123
123
|
run(sync: sync)
|
124
124
|
when 3
|
125
|
-
run_s(
|
125
|
+
run_s('python setup.py install', sync: sync)
|
126
126
|
end
|
127
127
|
end
|
128
128
|
end
|
@@ -164,21 +164,21 @@ module Squared
|
|
164
164
|
|
165
165
|
def append_pip(opts = [], list = [])
|
166
166
|
opts.each do |opt|
|
167
|
-
|
167
|
+
data = nil
|
168
|
+
next unless list.include?(opt) || OPT_GENERAL.include?(opt) || (data = opt.match(/^verbose|(v+)$/))
|
168
169
|
|
169
170
|
@session << case opt
|
170
171
|
when 'venv'
|
171
172
|
'--require-virtualenv'
|
172
173
|
else
|
173
|
-
(
|
174
|
+
(data && data[1] ? "-#{data[1]}" : "--#{opt}")
|
174
175
|
end
|
175
176
|
end
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
@session <<
|
180
|
-
@session <<
|
181
|
-
@session << '--user' if option('user')
|
177
|
+
val = nil
|
178
|
+
@session << shell_option('proxy', val, quote: true) if (val = option('proxy'))
|
179
|
+
@session << shell_option('python', basepath(val), quote: true) if (val = option('python'))
|
180
|
+
@session << shell_option('log', basepath(val), quote: true) if (val = option('log', ignore: false))
|
181
|
+
@session << '--user' if !list.empty? && option('user')
|
182
182
|
@session << '--no-input' if option('no-input')
|
183
183
|
append_nocolor option('no-color')
|
184
184
|
end
|