squared 0.2.5 → 0.2.7
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 +4 -4
- data/CHANGELOG.md +25 -4
- data/lib/squared/common/format.rb +3 -7
- data/lib/squared/common/shell.rb +3 -2
- data/lib/squared/common/utils.rb +1 -1
- data/lib/squared/version.rb +1 -1
- data/lib/squared/workspace/application.rb +1 -1
- data/lib/squared/workspace/project/base.rb +5 -3
- data/lib/squared/workspace/project/git.rb +5 -5
- data/lib/squared/workspace/project/python.rb +15 -12
- data/lib/squared/workspace/project/ruby.rb +10 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a7fd35d264ca1091cf44ddda96ddf8520d93a763c0581fd7dd91a116f214943b
|
4
|
+
data.tar.gz: 8dd9129e5a2fefa412c5038c5c56c72dfce6bbd9159baabb651786babd0ca243
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e32e3f595443651477f6a1394203c1d5476fbf25f4980a258aa832970c7332b250e109f2a4c0c615feb9a26bcde548a0572fcfbbd9f19bda2ff0ffd315a3a8fd
|
7
|
+
data.tar.gz: e4c81fd53f4bfa5d0028320cf93922edcd421fda3bca1984c4933a24c3918fb1a29a4560e7724c44ded9e686595483c4f0631f612291bf0dc1841a4e5b2ff5cf
|
data/CHANGELOG.md
CHANGED
@@ -1,12 +1,31 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## [0.2.
|
3
|
+
## [0.2.7] - 2025-04-08
|
4
|
+
|
5
|
+
### Fixed
|
6
|
+
|
7
|
+
- Paths that conflict with git options can be quoted.
|
8
|
+
- Bundle command update did not append package names.
|
9
|
+
- Git result status type was truncated.
|
10
|
+
- Log messages were concatenated without separator.
|
11
|
+
- Python pip environment options used undefined session.
|
12
|
+
- Regexp "o" modifier was not used properly.
|
13
|
+
- Rake did not run individual project Rakefile.
|
14
|
+
- Ruby commands did not delimit exec arguments.
|
15
|
+
|
16
|
+
## [0.2.6] - 2025-03-06
|
17
|
+
|
18
|
+
### Fixed
|
19
|
+
|
20
|
+
- Git rebase did not include flag with pull command.
|
21
|
+
|
22
|
+
## [0.2.5] - 2025-02-25
|
4
23
|
|
5
24
|
### Fixed
|
6
25
|
|
7
26
|
- See `0.1.5`.
|
8
27
|
|
9
|
-
## [0.1.5] -
|
28
|
+
## [0.1.5] - 2025-02-25
|
10
29
|
|
11
30
|
### Fixed
|
12
31
|
|
@@ -29,7 +48,7 @@
|
|
29
48
|
|
30
49
|
- Project hash options duplicated dash prefix.
|
31
50
|
|
32
|
-
## [0.1.4] -
|
51
|
+
## [0.1.4] - 2025-02-05
|
33
52
|
|
34
53
|
### Fixed
|
35
54
|
|
@@ -157,7 +176,7 @@
|
|
157
176
|
- Workspace did not check base project for Windows filename.
|
158
177
|
- Regexp for SemVer did not recognize package names.
|
159
178
|
|
160
|
-
## [0.1.1] -
|
179
|
+
## [0.1.1] - 2024-12-14
|
161
180
|
|
162
181
|
### Added
|
163
182
|
|
@@ -207,6 +226,8 @@
|
|
207
226
|
|
208
227
|
- Changelog was created.
|
209
228
|
|
229
|
+
[0.2.7]: https://github.com/anpham6/squared/releases/tag/v0.2.7-ruby
|
230
|
+
[0.2.6]: https://github.com/anpham6/squared/releases/tag/v0.2.6-ruby
|
210
231
|
[0.2.5]: https://github.com/anpham6/squared/releases/tag/v0.2.5-ruby
|
211
232
|
[0.2.4]: https://github.com/anpham6/squared/releases/tag/v0.2.4-ruby
|
212
233
|
[0.2.3]: https://github.com/anpham6/squared/releases/tag/v0.2.3-ruby
|
@@ -114,7 +114,7 @@ module Squared
|
|
114
114
|
if !val.is_a?(::Numeric)
|
115
115
|
val = val.to_sym
|
116
116
|
ret << val if colors.key?(val) || TEXT_STYLE.include?(val)
|
117
|
-
elsif val
|
117
|
+
elsif val.between?(0, 256)
|
118
118
|
ret << val
|
119
119
|
elsif val < 0 && (b = val.to_s.split('.')[1])
|
120
120
|
b = b[0..2]
|
@@ -174,12 +174,8 @@ module Squared
|
|
174
174
|
emphasize(args, title: title + (subject ? " #{subject}" : ''), sub: sub)
|
175
175
|
else
|
176
176
|
msg = [log_title(level, color: color)]
|
177
|
-
if subject
|
178
|
-
|
179
|
-
else
|
180
|
-
msg += args
|
181
|
-
args.clear
|
182
|
-
end
|
177
|
+
msg << (color ? sub_style(subject, :underline) : subject) if subject
|
178
|
+
msg << args.shift if msg.size == 1
|
183
179
|
message(msg.join(' '), *args, hint: hint)
|
184
180
|
end
|
185
181
|
end
|
data/lib/squared/common/shell.rb
CHANGED
@@ -27,7 +27,8 @@ module Squared
|
|
27
27
|
|
28
28
|
def shell_quote(val, force: true)
|
29
29
|
val = val.to_s
|
30
|
-
return val if
|
30
|
+
return val if !force && !val.include?(' ')
|
31
|
+
return val if option && val =~ /(?:^|\S=|[^=]\s+|#{Rake::Win32.windows? ? '[\\\/]' : '\/'})(["']).+\1\z/m
|
31
32
|
|
32
33
|
Rake::Win32.windows? ? "\"#{double_quote(val)}\"" : "'#{single_quote(val)}'"
|
33
34
|
end
|
@@ -79,7 +80,7 @@ module Squared
|
|
79
80
|
end
|
80
81
|
|
81
82
|
def split_escape(val, char: ',')
|
82
|
-
val.split(/\s*(?<!\\)#{char}\s*/
|
83
|
+
val.split(/\s*(?<!\\)#{char}\s*/)
|
83
84
|
end
|
84
85
|
end
|
85
86
|
end
|
data/lib/squared/common/utils.rb
CHANGED
data/lib/squared/version.rb
CHANGED
@@ -376,7 +376,7 @@ module Squared
|
|
376
376
|
end
|
377
377
|
|
378
378
|
def task_localname(val)
|
379
|
-
prefix && val.is_a?(String) ? val.sub(/\A#{Regexp.escape(prefix)}
|
379
|
+
prefix && val.is_a?(String) ? val.sub(/\A#{Regexp.escape(prefix)}:/, '') : val.to_s
|
380
380
|
end
|
381
381
|
|
382
382
|
def task_desc(*args, **kwargs)
|
@@ -837,9 +837,11 @@ module Squared
|
|
837
837
|
end
|
838
838
|
|
839
839
|
def option_clear(params, target: @session, **kwargs)
|
840
|
+
return if params.empty?
|
841
|
+
|
840
842
|
kwargs[:subject] ||= target&.first
|
841
|
-
kwargs[:hint] ||= '
|
842
|
-
warn log_message(:warn, params.join(', '), **kwargs)
|
843
|
+
kwargs[:hint] ||= 'unrecognized'
|
844
|
+
warn log_message(:warn, params.join(', '), **kwargs)
|
843
845
|
end
|
844
846
|
|
845
847
|
def print_item(*val)
|
@@ -1034,7 +1036,7 @@ module Squared
|
|
1034
1036
|
|
1035
1037
|
def param_guard(action, flag, args: nil, key: nil, pat: nil)
|
1036
1038
|
if args && key
|
1037
|
-
val = args
|
1039
|
+
val = args.fetch(key, nil)
|
1038
1040
|
return val unless val.nil? || (pat && !val.match?(pat))
|
1039
1041
|
|
1040
1042
|
@session = nil
|
@@ -439,7 +439,7 @@ module Squared
|
|
439
439
|
end
|
440
440
|
|
441
441
|
def pull(flag = nil, sync: invoked_sync?('pull', flag), remote: nil, opts: [])
|
442
|
-
cmd = git_session 'pull'
|
442
|
+
cmd = git_session 'pull', flag && "--#{flag}"
|
443
443
|
if (val = option('rebase', ignore: false))
|
444
444
|
cmd << case val
|
445
445
|
when '0'
|
@@ -732,10 +732,10 @@ module Squared
|
|
732
732
|
unless (origin = option('repository', prefix: 'git', ignore: false))
|
733
733
|
out = source(git_output('log -n1 --format=%h%d'), io: true, stdout: true, banner: false).first
|
734
734
|
if (data = /^#{sha} \(HEAD -> #{Regexp.escape(branch)}, (.+?)\)$/.match(out))
|
735
|
-
split_escape(data[1]).each do |
|
736
|
-
next unless
|
735
|
+
split_escape(data[1]).each do |s|
|
736
|
+
next unless s.end_with?("/#{branch}")
|
737
737
|
|
738
|
-
origin =
|
738
|
+
origin = s[0..s.size - branch.size - 2]
|
739
739
|
break
|
740
740
|
end
|
741
741
|
end
|
@@ -1009,7 +1009,7 @@ module Squared
|
|
1009
1009
|
if size > 0
|
1010
1010
|
styles = theme.fetch(:banner, []).reject { |s| s.to_s.end_with?('!') }
|
1011
1011
|
styles << :bold if styles.size <= 1
|
1012
|
-
puts print_footer("#{size} #{size == 1 ? type.sub(/s\z/, '') : type}",
|
1012
|
+
puts print_footer("#{size} #{size == 1 ? type.sub(/(?:(?<!l)e)?s\z/, '') : type}",
|
1013
1013
|
sub: { pat: /\A(\d+)(.+)\z/, styles: styles })
|
1014
1014
|
else
|
1015
1015
|
puts empty_status("No #{type} were #{action}", 'grep', grep)
|
@@ -242,11 +242,14 @@ module Squared
|
|
242
242
|
end
|
243
243
|
|
244
244
|
def append_pip(flag, opts, target: @session)
|
245
|
-
|
246
|
-
|
245
|
+
if opts.empty?
|
246
|
+
append_global(target: target)
|
247
|
+
return
|
248
|
+
end
|
247
249
|
|
248
250
|
out = []
|
249
251
|
opts, pat = option_partition(opts, OPT_INSTALL + OPT_GENERAL, target: target)
|
252
|
+
append_global(target: target)
|
250
253
|
opts.each do |opt|
|
251
254
|
if opt =~ /^(v+|q+)$/
|
252
255
|
cmd << "-#{$1}"
|
@@ -277,18 +280,18 @@ module Squared
|
|
277
280
|
end
|
278
281
|
end
|
279
282
|
|
280
|
-
def append_global
|
283
|
+
def append_global(target: @session)
|
281
284
|
if (val = option('cache-dir'))
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
285
|
+
target << case val
|
286
|
+
when '0', 'false'
|
287
|
+
'--no-cache-dir'
|
288
|
+
else
|
289
|
+
quote_option('cache-dir', basepath(val))
|
290
|
+
end
|
288
291
|
end
|
289
|
-
|
290
|
-
|
291
|
-
append_nocolor
|
292
|
+
target << quote_option('proxy', val) if (val = option('proxy'))
|
293
|
+
target << quote_option('python', basepath(val)) if (val = option('python'))
|
294
|
+
append_nocolor(target: target)
|
292
295
|
end
|
293
296
|
end
|
294
297
|
|
@@ -342,7 +342,7 @@ module Squared
|
|
342
342
|
|
343
343
|
def update(flag, opts: [])
|
344
344
|
bundle_session 'update', "--#{flag}"
|
345
|
-
append_bundle
|
345
|
+
append_bundle(opts, FOR_INSTALL + OPT_UPDATE, append: flag != :all)
|
346
346
|
run_rb(from: :update)
|
347
347
|
end
|
348
348
|
|
@@ -358,7 +358,7 @@ module Squared
|
|
358
358
|
cmd << flag
|
359
359
|
end
|
360
360
|
no = flag == :pristine || flag == :outdated ? [] : OPT_GEM[:NO_GENERAL]
|
361
|
-
opts, pat = option_partition(opts, gemoption(flag), no: no, first:
|
361
|
+
opts, pat = option_partition(opts, gemoption(flag), no: no, first: flag != :outdated)
|
362
362
|
out = []
|
363
363
|
opts.each do |opt|
|
364
364
|
if opt =~ pat
|
@@ -488,7 +488,7 @@ module Squared
|
|
488
488
|
|
489
489
|
def rake(*cmd)
|
490
490
|
if cmd.empty?
|
491
|
-
run_s(rake_output(rakeapp), from: :rake, chdir: workspace.pwd)
|
491
|
+
run_s(rake_output(rakeapp), from: :rake, chdir: workspace.pwd, banner: false)
|
492
492
|
else
|
493
493
|
cmd = cmd.flatten.map { |val| rake_output(rakeapp, val) }
|
494
494
|
run_s(cmd, from: :rake, chdir: workspace.pwd, banner: false)
|
@@ -556,7 +556,7 @@ module Squared
|
|
556
556
|
run(banner: !@session.include?('--quiet'), **kwargs)
|
557
557
|
end
|
558
558
|
|
559
|
-
def append_bundle(opts, list, target: @session)
|
559
|
+
def append_bundle(opts, list, target: @session, append: false)
|
560
560
|
opts, pat = option_partition(opts, list, target: target)
|
561
561
|
out = []
|
562
562
|
opts.each do |opt|
|
@@ -575,7 +575,11 @@ module Squared
|
|
575
575
|
out << opt
|
576
576
|
end
|
577
577
|
end
|
578
|
-
|
578
|
+
if append
|
579
|
+
append_value(out, target: target, escape: true)
|
580
|
+
else
|
581
|
+
option_clear(out, target: target)
|
582
|
+
end
|
579
583
|
end
|
580
584
|
|
581
585
|
def gem_session(*cmd, **kwargs)
|
@@ -635,7 +639,7 @@ module Squared
|
|
635
639
|
end
|
636
640
|
|
637
641
|
def rakeapp
|
638
|
-
quote_option '
|
642
|
+
quote_option 'f', rakefile
|
639
643
|
end
|
640
644
|
|
641
645
|
def gempath(val = @version)
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: squared
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- An Pham
|
8
8
|
bindir: exe
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-04-09 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: rake
|