squared 0.1.4 → 0.1.5
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 +11 -0
- data/lib/squared/common/shell.rb +4 -3
- data/lib/squared/version.rb +1 -1
- data/lib/squared/workspace/project/base.rb +9 -9
- data/lib/squared/workspace/project/git.rb +3 -3
- data/lib/squared/workspace/project/node.rb +5 -2
- data/squared.gemspec +1 -0
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a3ad5f0881e8642ae1d57fccbba6a1fdc3ff555b6efcd7eb2989a5675ff5bcd3
|
4
|
+
data.tar.gz: 426a514ca02ddf64fa2009ad165d0bf9e0053905c58643c7398e7c1d17630fcc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af9e72989be1dbbf614f8c7dd5989a0081775e4433ad280a4bae600660e56bd1ba20aa6a3f33ad367b349a209227be5b823c4e496367533260c1a86ae3a6dd6c
|
7
|
+
data.tar.gz: d0dd6f39e8b8f8834768c93ab26718618d0d0023f99a242321f6925bee9fcc782ebbfd86a698bdcebe17fb1deb763c79d46d77001d55a13b24ddc391beb0a3c8
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [0.1.5] - 2024-02-25
|
4
|
+
|
5
|
+
### Fixed
|
6
|
+
|
7
|
+
- Node copy method ignored include argument when called directly.
|
8
|
+
- Logger is not initialized when using only Git base class.
|
9
|
+
- Hide warnings about readline during execution.
|
10
|
+
- Logger is not initialized when using only base class.
|
11
|
+
- Merging ENV build options were double escaped.
|
12
|
+
|
3
13
|
## [0.1.4] - 2024-02-05
|
4
14
|
|
5
15
|
### Fixed
|
@@ -88,6 +98,7 @@
|
|
88
98
|
|
89
99
|
- Changelog was created.
|
90
100
|
|
101
|
+
[0.1.5]: https://github.com/anpham6/squared/releases/tag/v0.1.5-ruby
|
91
102
|
[0.1.4]: https://github.com/anpham6/squared/releases/tag/v0.1.4-ruby
|
92
103
|
[0.1.3]: https://github.com/anpham6/squared/releases/tag/v0.1.3-ruby
|
93
104
|
[0.1.2]: https://github.com/anpham6/squared/releases/tag/v0.1.2-ruby
|
data/lib/squared/common/shell.rb
CHANGED
@@ -10,7 +10,7 @@ module Squared
|
|
10
10
|
|
11
11
|
def shell_escape(val, quote: false, force: false)
|
12
12
|
if (data = /\A(--?[^= ]+)((=|\s+)(["'])?(.+?)(["'])?)?\z/m.match(val = val.to_s))
|
13
|
-
return val
|
13
|
+
return val if !data[2] || (!data[4] && data[5] =~ /\s/)
|
14
14
|
|
15
15
|
join = ->(opt) { data[1] + data[3] + shell_quote(opt) }
|
16
16
|
if data[4] == data[6]
|
@@ -32,8 +32,9 @@ module Squared
|
|
32
32
|
Rake::Win32.windows? ? "\"#{double_quote(val)}\"" : "'#{single_quote(val)}'"
|
33
33
|
end
|
34
34
|
|
35
|
-
def shell_split(val, quote: false, join: nil)
|
36
|
-
val = Shellwords.split(val)
|
35
|
+
def shell_split(val, escape: true, quote: false, join: nil)
|
36
|
+
val = Shellwords.split(val)
|
37
|
+
val = val.map { |opt| shell_escape(opt, quote: quote) } if escape
|
37
38
|
return val unless join
|
38
39
|
|
39
40
|
val.join(join.is_a?(::String) ? join : ' ')
|
data/lib/squared/version.rb
CHANGED
@@ -187,7 +187,7 @@ module Squared
|
|
187
187
|
@prod = env_match("#{pre}_PROD", prod)
|
188
188
|
cmd = @output[0]
|
189
189
|
unless cmd == false || cmd.is_a?(Array) || (val = env('BUILD', suffix: 'OPTS')).nil?
|
190
|
-
@output[cmd ? 1 : 3] = shell_split(val, join: true)
|
190
|
+
@output[cmd ? 1 : 3] = shell_split(val, escape: false, join: true)
|
191
191
|
end
|
192
192
|
unless @output[2] == false || (val = env('BUILD', suffix: 'ENV')).nil?
|
193
193
|
begin
|
@@ -195,7 +195,7 @@ module Squared
|
|
195
195
|
raise_error('invalid JSON object', val, hint: "#{prefix}_ENV") unless data.is_a?(Hash)
|
196
196
|
@output[2] = data
|
197
197
|
rescue StandardError => e
|
198
|
-
log
|
198
|
+
log&.warn e
|
199
199
|
end
|
200
200
|
end
|
201
201
|
return unless (val = env('BUILD', strict: true))
|
@@ -291,7 +291,7 @@ module Squared
|
|
291
291
|
if val.directory? && !val.empty?
|
292
292
|
true
|
293
293
|
else
|
294
|
-
log
|
294
|
+
log&.warn "workspace \"#{val}\" (#{val.empty? ? 'empty' : 'not found'})"
|
295
295
|
false
|
296
296
|
end
|
297
297
|
end
|
@@ -380,7 +380,7 @@ module Squared
|
|
380
380
|
val = val.to_s
|
381
381
|
path = basepath(val)
|
382
382
|
if path.directory? && val =~ %r{[\\/]$}
|
383
|
-
log
|
383
|
+
log&.warn "rm -rf #{path}"
|
384
384
|
path.rmtree
|
385
385
|
else
|
386
386
|
files = val.include?('*') ? Dir[path] : [path]
|
@@ -390,7 +390,7 @@ module Squared
|
|
390
390
|
begin
|
391
391
|
File.delete(file)
|
392
392
|
rescue StandardError => e
|
393
|
-
log
|
393
|
+
log&.error e
|
394
394
|
end
|
395
395
|
end
|
396
396
|
end
|
@@ -440,7 +440,7 @@ module Squared
|
|
440
440
|
instance_variable_set :"@#{key}", val.first
|
441
441
|
end
|
442
442
|
else
|
443
|
-
log
|
443
|
+
log&.warn "variable_set: @#{key} (private)"
|
444
444
|
end
|
445
445
|
end
|
446
446
|
|
@@ -548,10 +548,10 @@ module Squared
|
|
548
548
|
|
549
549
|
def run(cmd = @session, var = nil, exception: @exception, sync: true, banner: true, chdir: path, **)
|
550
550
|
cmd = session_done(cmd)
|
551
|
-
log
|
551
|
+
log&.info cmd
|
552
552
|
begin
|
553
553
|
if cmd =~ /\A[^:]+:[^:]/ && workspace.task_defined?(cmd)
|
554
|
-
log
|
554
|
+
log&.warn "ENV was discarded: #{var}" if var
|
555
555
|
task_invoke(cmd, exception: exception, warning: warning?)
|
556
556
|
else
|
557
557
|
print_item format_banner(cmd, banner: banner) if sync
|
@@ -559,7 +559,7 @@ module Squared
|
|
559
559
|
shell(*args, chdir: chdir, exception: exception)
|
560
560
|
end
|
561
561
|
rescue StandardError => e
|
562
|
-
log
|
562
|
+
log&.error e
|
563
563
|
raise
|
564
564
|
end
|
565
565
|
end
|
@@ -552,7 +552,7 @@ module Squared
|
|
552
552
|
def source(cmd = @session, exception: true, io: false, sync: true, stdout: false, stderr: false, banner: true,
|
553
553
|
sub: nil)
|
554
554
|
cmd = session_done(cmd)
|
555
|
-
log
|
555
|
+
log&.info cmd
|
556
556
|
banner = format_banner(cmd.gsub(File.join(path, ''), ''), banner: banner)
|
557
557
|
cmd = cmd.sub(/\Agit\b/, "git --work-tree=#{shell_quote(path)} --git-dir=#{shell_quote(gitpath)}")
|
558
558
|
begin
|
@@ -586,7 +586,7 @@ module Squared
|
|
586
586
|
end
|
587
587
|
end
|
588
588
|
rescue StandardError => e
|
589
|
-
log
|
589
|
+
log&.error e
|
590
590
|
raise if exception
|
591
591
|
|
592
592
|
warn log_message(Logger::WARN, e) if warning?
|
@@ -602,7 +602,7 @@ module Squared
|
|
602
602
|
next if grep && !line.match?(grep)
|
603
603
|
|
604
604
|
if loglevel
|
605
|
-
log
|
605
|
+
log&.add loglevel, line
|
606
606
|
else
|
607
607
|
sub&.each { |h| line = sub_style(line, **h) }
|
608
608
|
if banner
|
@@ -123,8 +123,8 @@ module Squared
|
|
123
123
|
end
|
124
124
|
end
|
125
125
|
|
126
|
-
def copy(from: 'build', into: 'node_modules', workspace: false,
|
127
|
-
also: nil, create: nil, override: false)
|
126
|
+
def copy(from: 'build', into: 'node_modules', workspace: false, scope: nil,
|
127
|
+
also: nil, create: nil, override: false, **kwargs)
|
128
128
|
return if @copy == false
|
129
129
|
|
130
130
|
if @copy && !override
|
@@ -138,6 +138,9 @@ module Squared
|
|
138
138
|
scope = @copy[:scope]
|
139
139
|
also = @copy[:also]
|
140
140
|
create = @copy[:create]
|
141
|
+
else
|
142
|
+
glob = kwargs[:include]
|
143
|
+
exclude = kwargs[:exclude]
|
141
144
|
end
|
142
145
|
items = []
|
143
146
|
items << @workspace.home if build? && path != @workspace.home && @workspace.home?
|
data/squared.gemspec
CHANGED
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.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- An Pham
|
8
8
|
bindir: exe
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-02-
|
10
|
+
date: 2025-02-25 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: rake
|
@@ -51,6 +51,20 @@ dependencies:
|
|
51
51
|
- - ">="
|
52
52
|
- !ruby/object:Gem::Version
|
53
53
|
version: '0'
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: readline
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
type: :runtime
|
62
|
+
prerelease: false
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0'
|
54
68
|
description: Rake task generator for managing multi-language workspaces.
|
55
69
|
email:
|
56
70
|
- anpham6@gmail.com
|
@@ -106,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
120
|
- !ruby/object:Gem::Version
|
107
121
|
version: '0'
|
108
122
|
requirements: []
|
109
|
-
rubygems_version: 3.6.
|
123
|
+
rubygems_version: 3.6.2
|
110
124
|
specification_version: 4
|
111
125
|
summary: Rake task generator for managing multi-language workspaces.
|
112
126
|
test_files: []
|