squared 0.6.21 → 0.7.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 +4 -4
- data/CHANGELOG.md +70 -257
- data/README.md +242 -205
- data/lib/squared/common/base.rb +0 -8
- data/lib/squared/common/format.rb +7 -10
- data/lib/squared/common/prompt.rb +25 -30
- data/lib/squared/common/shell.rb +27 -35
- data/lib/squared/common/system.rb +29 -21
- data/lib/squared/common/utils.rb +45 -64
- data/lib/squared/config.rb +17 -16
- data/lib/squared/version.rb +1 -1
- data/lib/squared/workspace/application.rb +292 -186
- data/lib/squared/workspace/project/base.rb +570 -511
- data/lib/squared/workspace/project/docker.rb +198 -219
- data/lib/squared/workspace/project/git.rb +244 -215
- data/lib/squared/workspace/project/node.rb +126 -162
- data/lib/squared/workspace/project/python.rb +264 -178
- data/lib/squared/workspace/project/ruby.rb +409 -300
- data/lib/squared/workspace/project/support/class.rb +13 -7
- data/lib/squared/workspace/project/support/optionpartition.rb +80 -90
- data/lib/squared/workspace/project/support/utils.rb +68 -0
- data/lib/squared/workspace/project.rb +0 -7
- data/lib/squared/workspace/repo.rb +235 -170
- data/lib/squared/workspace/series.rb +93 -89
- data/lib/squared/workspace/support/base.rb +15 -1
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 77cd278e7e9855e6601d497f876db37b4e118e8b13af1ef2535eff1ef5799f84
|
|
4
|
+
data.tar.gz: e5ef173753eff1f9de0a31f0a0db590ec45f8c0d6e1d0b79f7168160c8b03204
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 73c1cb07ee0f10476bd47493455231341bd4a3e42107e74c5e16123ddf99e832cc2c96b870615c0ff5a632a1de4ac9176a9d8cb0b1be460018699140f1c15b48
|
|
7
|
+
data.tar.gz: 365c543051f2a2fc01f445c3e3f3f8b2162e6d0ad0663b91f0928667504193511f59e55683d1b832f56e82d20ef2adc7033673d888a366ab01ed12256504af33
|
data/CHANGELOG.md
CHANGED
|
@@ -1,238 +1,77 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [0.
|
|
4
|
-
|
|
5
|
-
### Fixed
|
|
6
|
-
|
|
7
|
-
- RuboCop did not resolve config to project directory.
|
|
8
|
-
- Python program did not use correct separator for double dash options.
|
|
9
|
-
|
|
10
|
-
## [0.6.20] - 2026-09-25
|
|
11
|
-
|
|
12
|
-
### Added
|
|
13
|
-
|
|
14
|
-
- Prompt choice optional selection can be bypassed with a single dash.
|
|
15
|
-
|
|
16
|
-
### Fixed
|
|
17
|
-
|
|
18
|
-
- Git interactive commit selection did not accept additional values.
|
|
19
|
-
|
|
20
|
-
## [0.6.19] - 2026-09-23
|
|
21
|
-
|
|
22
|
-
### Fixed
|
|
23
|
-
|
|
24
|
-
- See `0.4.42`.
|
|
25
|
-
|
|
26
|
-
## [0.5.27] - 2026-09-23
|
|
27
|
-
|
|
28
|
-
### Fixed
|
|
29
|
-
|
|
30
|
-
- See `0.4.42`.
|
|
31
|
-
|
|
32
|
-
## [0.4.42] - 2026-09-23
|
|
33
|
-
|
|
34
|
-
### Fixed
|
|
35
|
-
|
|
36
|
-
- OptionPartition did not strip pre-existing quotes when parsing options.
|
|
37
|
-
- Node command outdated did not strip styling from semver in package.json.
|
|
38
|
-
- Git command show did not recognize object names.
|
|
39
|
-
- Docker destination mounts that are not absolute are treated as errors.
|
|
40
|
-
- Docker source mounts for any named volumes or images were inoperable.
|
|
41
|
-
|
|
42
|
-
## [0.6.18] - 2026-09-04
|
|
43
|
-
|
|
44
|
-
### Added
|
|
45
|
-
|
|
46
|
-
- Docker command bake action buildx with first arg "-" inherits base args.
|
|
47
|
-
|
|
48
|
-
### Fixed
|
|
49
|
-
|
|
50
|
-
- Git action grep did not recognize format and max-count.
|
|
51
|
-
|
|
52
|
-
## [0.5.26] - 2026-09-04
|
|
53
|
-
|
|
54
|
-
### Fixed
|
|
55
|
-
|
|
56
|
-
- Node command nvm did not quote executable path.
|
|
57
|
-
|
|
58
|
-
## [0.4.41] - 2026-09-04
|
|
3
|
+
## [0.7.0] - 2025-01-07
|
|
59
4
|
|
|
60
5
|
### Added
|
|
61
6
|
|
|
62
|
-
-
|
|
7
|
+
- Batch phony tasks without a defined predicate method can be created.
|
|
8
|
+
- Gem command options were updated to 4.0.
|
|
9
|
+
- Bundler command options were updated to 4.0.
|
|
10
|
+
- Python build backend using Meson was implemented.
|
|
11
|
+
- Repo can run doc task when doing a global build.
|
|
12
|
+
- Repo can exclude projects by ref or group when doing a global build.
|
|
13
|
+
- Repo supports creating tasks for multiple named configurations.
|
|
14
|
+
- Git command rev action branch was implemented.
|
|
15
|
+
- Project base asdf command env was implemented.
|
|
16
|
+
- Project task depend can update dependencies globally using UPDATE.
|
|
17
|
+
- Git command sparse-checkout was implemented.
|
|
18
|
+
- Python projects using virtualenv is supported.
|
|
19
|
+
- Python virtual environment installs build backend when specified.
|
|
20
|
+
- Python attributes [project|version] are extracted from pyproject.toml.
|
|
21
|
+
- Docker command image action pull was implemented.
|
|
22
|
+
- Python command install action poetry was implemented.
|
|
23
|
+
- Repo can run [lint|test] task when doing a global build.
|
|
24
|
+
- RubyGems and Bundler is compatible with Ruby 3.0 and 4.0.
|
|
25
|
+
- Node command nvm with argument version is interactive.
|
|
26
|
+
- Project event "on" called with [first|last] creates error bubble session.
|
|
27
|
+
- Project run commands support global and individual operation timeouts.
|
|
28
|
+
- Workspace projects can treat warnings as errors through Application exception.
|
|
29
|
+
- Ruby command version and gems autodetect support using program mise.
|
|
30
|
+
- Application method with using pass can accept a nested array of arguments.
|
|
31
|
+
- Application class supports extensions used during build finalization.
|
|
32
|
+
- Docker command bake action compose to build with defaults was implemented.
|
|
33
|
+
- Program asdf legacy global installations using ASDF_DIR is supported.
|
|
63
34
|
|
|
64
35
|
### Changed
|
|
65
36
|
|
|
66
|
-
-
|
|
67
|
-
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
- Project
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
### Fixed
|
|
101
|
-
|
|
102
|
-
-
|
|
103
|
-
|
|
104
|
-
## [0.4.39] - 2026-07-04
|
|
105
|
-
|
|
106
|
-
### Changed
|
|
107
|
-
|
|
108
|
-
- Common global argument OUT with a file separator overrides PIPE.
|
|
109
|
-
|
|
110
|
-
### Fixed
|
|
111
|
-
|
|
112
|
-
- Git output list results did not hide footer when banner was disabled.
|
|
113
|
-
- Project banners which were empty were being printed.
|
|
114
|
-
|
|
115
|
-
## [0.6.15] - 2026-06-17
|
|
116
|
-
|
|
117
|
-
### Fixed
|
|
118
|
-
|
|
119
|
-
- Project classes did not switch from stdout to stdin.
|
|
120
|
-
|
|
121
|
-
## [0.6.14] - 2026-06-14
|
|
122
|
-
|
|
123
|
-
### Added
|
|
124
|
-
|
|
125
|
-
- Node task depend can run approve-scripts with NPM_APPROVE_SCRIPTS.
|
|
126
|
-
|
|
127
|
-
### Fixed
|
|
128
|
-
|
|
129
|
-
- Docker command bake action build did not append context directory.
|
|
130
|
-
|
|
131
|
-
## [0.5.24] - 2026-06-14
|
|
132
|
-
|
|
133
|
-
### Fixed
|
|
134
|
-
|
|
135
|
-
- See `0.4.38`.
|
|
136
|
-
|
|
137
|
-
## [0.4.38] - 2026-06-14
|
|
138
|
-
|
|
139
|
-
### Added
|
|
140
|
-
|
|
141
|
-
- Application project commands can be defined without a reference.
|
|
142
|
-
- Git command branch action all was implemented.
|
|
143
|
-
|
|
144
|
-
### Changed
|
|
145
|
-
|
|
146
|
-
- Override alias methods were created for suffix "!" to "\_".
|
|
147
|
-
- Project banners do not display boolean attributes.
|
|
148
|
-
- OptionPartition method append strips single quotes when quoting strings.
|
|
149
|
-
|
|
150
|
-
### Fixed
|
|
151
|
-
|
|
152
|
-
- Application methods log and exclude were non-functional.
|
|
153
|
-
- Docker command bake action build does not support changing context.
|
|
154
|
-
- Project base method semver did not include prerelease delimiter.
|
|
155
|
-
- Project session cleanup did not compare by reference.
|
|
156
|
-
|
|
157
|
-
## [0.6.13] - 2026-05-04
|
|
158
|
-
|
|
159
|
-
### Added
|
|
160
|
-
|
|
161
|
-
- Application project commands can be defined without a reference.
|
|
162
|
-
|
|
163
|
-
### Fixed
|
|
164
|
-
|
|
165
|
-
- Application methods log and exclude were non-functional.
|
|
166
|
-
- Project base tasks did not detect build scripts using Arrays.
|
|
167
|
-
|
|
168
|
-
## [0.6.12] - 2026-04-29
|
|
169
|
-
|
|
170
|
-
### Fixed
|
|
171
|
-
|
|
172
|
-
- Application dynamic Project loader assumed class would be found.
|
|
173
|
-
- Git command grep did not add patterns with "--" pathspec separator.
|
|
174
|
-
|
|
175
|
-
## [0.5.23] - 2026-04-29
|
|
176
|
-
|
|
177
|
-
### Fixed
|
|
178
|
-
|
|
179
|
-
- See `0.4.37`.
|
|
180
|
-
|
|
181
|
-
## [0.4.37] - 2026-04-29
|
|
182
|
-
|
|
183
|
-
### Changed
|
|
184
|
-
|
|
185
|
-
- Project base method dependindex replaces private instance variable.
|
|
186
|
-
|
|
187
|
-
### Fixed
|
|
188
|
-
|
|
189
|
-
- Ruby command version did not abort asdf "Not installed" error.
|
|
190
|
-
- Git command pull action all did not pass option flags to branches.
|
|
191
|
-
- Python command exec did not activate virtual environment.
|
|
192
|
-
- Docker command bake did not reinsert failed check for context directory.
|
|
193
|
-
- Common method shell_quote argument preserve did not bypass requoting.
|
|
194
|
-
|
|
195
|
-
## [0.6.11] - 2026-03-11
|
|
196
|
-
|
|
197
|
-
### Changed
|
|
198
|
-
|
|
199
|
-
- Git internal data calls do not write to logs.
|
|
200
|
-
|
|
201
|
-
## [0.5.22] - 2026-03-11
|
|
202
|
-
|
|
203
|
-
### Fixed
|
|
204
|
-
|
|
205
|
-
- Project base run command was not covered due to lack of type checking.
|
|
206
|
-
|
|
207
|
-
## [0.4.36] - 2026-03-11
|
|
208
|
-
|
|
209
|
-
### Added
|
|
210
|
-
|
|
211
|
-
- Python venv initialization installs setuptools when detected.
|
|
212
|
-
- Node task depend adds prod option flags when NODE_ENV=production.
|
|
213
|
-
|
|
214
|
-
### Fixed
|
|
215
|
-
|
|
216
|
-
- OptionPartition methods with escape parameter were reordered.
|
|
217
|
-
- OptionPartition methods with quote parameter were revised.
|
|
218
|
-
|
|
219
|
-
## [0.6.10] - 2025-02-23
|
|
220
|
-
|
|
221
|
-
### Added
|
|
222
|
-
|
|
223
|
-
- Docker command image action [ls|rm|tag|save] can be filtered.
|
|
224
|
-
- Pip command options were updated to 26.1.
|
|
225
|
-
|
|
226
|
-
### Changed
|
|
227
|
-
|
|
228
|
-
- Ruby property autodetect was converted into an accessor.
|
|
229
|
-
- Python property editable was converted into an accessor.
|
|
230
|
-
|
|
231
|
-
### Fixed
|
|
232
|
-
|
|
233
|
-
- Git task show was completely non-functional due to excessive formatting.
|
|
234
|
-
- Gem command install did not respond to interactive prompt.
|
|
235
|
-
- Docker task clean does not run in parallel without ENV override.
|
|
37
|
+
- Ruby application method does not process flags directly.
|
|
38
|
+
- Project command banner does not display quotes for simple word strings.
|
|
39
|
+
- Workspace project implementation Series no longer stores tasks globally.
|
|
40
|
+
- Different workspaces do not iterate through unused Project classes.
|
|
41
|
+
- Application static attr_banner can only be accessed as a reader.
|
|
42
|
+
- Project private method arguments being misused is no longer supported.
|
|
43
|
+
- Protected methods are used instead of instance_variable_get.
|
|
44
|
+
- Project class constructor arguments without a default value use kwargs.
|
|
45
|
+
- Case equality uses singleton object and not class name.
|
|
46
|
+
- Python command install action [user|force] were replaced with requirement.
|
|
47
|
+
- Repo workspace selection does not include disabled refs or groups.
|
|
48
|
+
- Repo tasks [init|all] uses bit values with REPO_STAGE.
|
|
49
|
+
- Project base [setter|getter] global was converted into a [number|boolean].
|
|
50
|
+
- Project base initialize methods were made private.
|
|
51
|
+
- Common utils methods [env_value|env_yield] were made private.
|
|
52
|
+
- Application attribute home was converted into a setter and reader.
|
|
53
|
+
- Program application binary path aliases can be in lowercase.
|
|
54
|
+
- JoinSet when pushing a nil object is rejected.
|
|
55
|
+
- OptionPartition static method append does not return rejected arguments.
|
|
56
|
+
- Docker command bake action build does not merge compose configuration files.
|
|
57
|
+
- Application banner attributes are collected internally.
|
|
58
|
+
- Application project classes can only be injected using static methods.
|
|
59
|
+
- Tasks can only be excluded through Appliction build instance method.
|
|
60
|
+
- Project base utility methods were relocated to Support namespace.
|
|
61
|
+
- Ruby class private method run_rb was removed.
|
|
62
|
+
- Application attribute exception accept Logger levels to route errors.
|
|
63
|
+
- Ruby command irb always includes local development require paths.
|
|
64
|
+
- Bundler tasks are hidden when package is not installed.
|
|
65
|
+
- Application method stage with attribute closed provides build stage progress.
|
|
66
|
+
- Application method with renamed pass to hide due to conflict with Project.
|
|
67
|
+
- Node task depend using Yarn no longer sets option ignore-engines by default.
|
|
68
|
+
- Project base private instance variable events was relocated.
|
|
69
|
+
- Docker command compose action publish was implemented.
|
|
70
|
+
|
|
71
|
+
### Fixed
|
|
72
|
+
|
|
73
|
+
- Project base method command_args did not append prompted value.
|
|
74
|
+
- Bundler command exec did not use correct delegate for delete.
|
|
236
75
|
|
|
237
76
|
## [0.6.9] - 2025-01-07
|
|
238
77
|
|
|
@@ -259,7 +98,6 @@
|
|
|
259
98
|
### Fixed
|
|
260
99
|
|
|
261
100
|
- Git commands [rebase|clone] did not forward sync flag.
|
|
262
|
-
- Pip command install carelessly used an undefined method.
|
|
263
101
|
- Common prompt method readline with multiline did not permit empty lines.
|
|
264
102
|
- Application method with using pass did not ignore exceptions.
|
|
265
103
|
- Git method source did not check command object for supported method.
|
|
@@ -277,7 +115,6 @@
|
|
|
277
115
|
### Fixed
|
|
278
116
|
|
|
279
117
|
- Gem command outdated did not set bindir with update command.
|
|
280
|
-
- Bundler ultimately never ended up learning how to spell JIT.
|
|
281
118
|
|
|
282
119
|
## [0.5.20] - 2025-12-26
|
|
283
120
|
|
|
@@ -366,7 +203,7 @@
|
|
|
366
203
|
|
|
367
204
|
### Fixed
|
|
368
205
|
|
|
369
|
-
- See `0.
|
|
206
|
+
- See `0.5.18`.
|
|
370
207
|
|
|
371
208
|
## [0.4.32] - 2025-11-25
|
|
372
209
|
|
|
@@ -1802,7 +1639,7 @@
|
|
|
1802
1639
|
- Rake did not set original rakefile when calling itself.
|
|
1803
1640
|
- Extended tasks were not associated to their supporting class method.
|
|
1804
1641
|
|
|
1805
|
-
## [0.1.0] - 2024-12-
|
|
1642
|
+
## [0.1.0] - 2024-12-7
|
|
1806
1643
|
|
|
1807
1644
|
### Added
|
|
1808
1645
|
|
|
@@ -1823,24 +1660,13 @@
|
|
|
1823
1660
|
- Git pull did not display colors for diff bar chart.
|
|
1824
1661
|
- Git commit did not fetch latest refs before submitting.
|
|
1825
1662
|
|
|
1826
|
-
## [0.0.12] - 2024-12-
|
|
1663
|
+
## [0.0.12] - 2024-12-1
|
|
1827
1664
|
|
|
1828
1665
|
### Added
|
|
1829
1666
|
|
|
1830
1667
|
- Changelog was created.
|
|
1831
1668
|
|
|
1832
|
-
[0.
|
|
1833
|
-
[0.6.20]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.20
|
|
1834
|
-
[0.6.19]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.19
|
|
1835
|
-
[0.6.18]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.18
|
|
1836
|
-
[0.6.17]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.17
|
|
1837
|
-
[0.6.16]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.16
|
|
1838
|
-
[0.6.15]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.15
|
|
1839
|
-
[0.6.14]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.14
|
|
1840
|
-
[0.6.13]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.13
|
|
1841
|
-
[0.6.12]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.12
|
|
1842
|
-
[0.6.11]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.11
|
|
1843
|
-
[0.6.10]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.10
|
|
1669
|
+
[0.7.0]: https://github.com/anpham6/squared-ruby/releases/tag/v0.7.0
|
|
1844
1670
|
[0.6.9]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.9
|
|
1845
1671
|
[0.6.8]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.8
|
|
1846
1672
|
[0.6.7]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.7
|
|
@@ -1851,12 +1677,6 @@
|
|
|
1851
1677
|
[0.6.2]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.2
|
|
1852
1678
|
[0.6.1]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.1
|
|
1853
1679
|
[0.6.0]: https://github.com/anpham6/squared-ruby/releases/tag/v0.6.0
|
|
1854
|
-
[0.5.27]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.27
|
|
1855
|
-
[0.5.26]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.26
|
|
1856
|
-
[0.5.25]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.25
|
|
1857
|
-
[0.5.24]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.24
|
|
1858
|
-
[0.5.23]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.23
|
|
1859
|
-
[0.5.22]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.22
|
|
1860
1680
|
[0.5.21]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.21
|
|
1861
1681
|
[0.5.20]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.20
|
|
1862
1682
|
[0.5.19]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.19
|
|
@@ -1879,13 +1699,6 @@
|
|
|
1879
1699
|
[0.5.2]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.2-ruby
|
|
1880
1700
|
[0.5.1]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.1-ruby
|
|
1881
1701
|
[0.5.0]: https://github.com/anpham6/squared-ruby/releases/tag/v0.5.0-ruby
|
|
1882
|
-
[0.4.42]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.42
|
|
1883
|
-
[0.4.41]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.41
|
|
1884
|
-
[0.4.40]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.40
|
|
1885
|
-
[0.4.39]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.39
|
|
1886
|
-
[0.4.38]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.38
|
|
1887
|
-
[0.4.37]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.37
|
|
1888
|
-
[0.4.36]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.36
|
|
1889
1702
|
[0.4.35]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.35
|
|
1890
1703
|
[0.4.34]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.34
|
|
1891
1704
|
[0.4.33]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.33
|