Skip to content

Commit e5adce9

Browse files
committed
CI test prior to release
1 parent 2469c23 commit e5adce9

File tree

6 files changed

+265
-2
lines changed

6 files changed

+265
-2
lines changed

Changes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
Revision history for App-Rak
22

33
{{$NEXT}}
4+
- Added support for options: --rakudo-all, --rakudo-c,
5+
--rakudo-doc, --rakudo-java, --rakudo-js, --rakudo-nqp,
6+
--rakudo-perl, --rakudo-raku, --rakudo-shell,
7+
-- rakudo-test, --rakudo-yaml
48
- Bump dependencies, because we can
59

610
0.3.17 2025-02-08T19:36:55+01:00

README.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1464,6 +1464,61 @@ Only applicable if `--csv-per-line` has been specified. Indicates the character
14641464

14651465
Flag. Intended for debugging purposes only. When specified, will show the named arguments sent to the `rak` plumbing subroutine just before it isi being called.
14661466

1467+
--rakudo-all
1468+
------------
1469+
1470+
Indicate that **all** the files recognized by the Rakudo cache (as generated by [`Rakudo::Cache`](https://raku.land/zef:lizmat/Rakudo::Cache)) should be searched.
1471+
1472+
--rakudo-c
1473+
----------
1474+
1475+
Indicate that the files recognized as `C` programming language files by the Rakudo cache (as generated by [`Rakudo::Cache`](https://raku.land/zef:lizmat/Rakudo::Cache)) should be searched.
1476+
1477+
--rakudo-doc
1478+
------------
1479+
1480+
Indicate that the files recognized as documentation files by the Rakudo cache (as generated by [`Rakudo::Cache`](https://raku.land/zef:lizmat/Rakudo::Cache)) should be searched.
1481+
1482+
--rakudo-java
1483+
-------------
1484+
1485+
Indicate that the files recognized as `Java` programming language files by the Rakudo cache (as generated by [`Rakudo::Cache`](https://raku.land/zef:lizmat/Rakudo::Cache)) should be searched.
1486+
1487+
--rakudo-js
1488+
-----------
1489+
1490+
Indicate that the files recognized as `Javascript` programming language files by the Rakudo cache (as generated by [`Rakudo::Cache`](https://raku.land/zef:lizmat/Rakudo::Cache)) should be searched.
1491+
1492+
--rakudo-nqp
1493+
------------
1494+
1495+
Indicate that the files recognized as `NQP` related files by the Rakudo cache (as generated by [`Rakudo::Cache`](https://raku.land/zef:lizmat/Rakudo::Cache)) should be searched.
1496+
1497+
--rakudo-perl
1498+
-------------
1499+
1500+
Indicate that the files recognized as `Perl` programming language files by the Rakudo cache (as generated by [`Rakudo::Cache`](https://raku.land/zef:lizmat/Rakudo::Cache)) should be searched.
1501+
1502+
--rakudo-raku
1503+
-------------
1504+
1505+
Indicate that the files recognized as `Raku` Programming Language files by the Rakudo cache (as generated by [`Rakudo::Cache`](https://raku.land/zef:lizmat/Rakudo::Cache)) should be searched.
1506+
1507+
--rakudo-shell
1508+
--------------
1509+
1510+
Indicate that the files recognized as shell scripts / batch files by the Rakudo cache (as generated by [`Rakudo::Cache`](https://raku.land/zef:lizmat/Rakudo::Cache)) should be searched.
1511+
1512+
--rakudo-test
1513+
-------------
1514+
1515+
Indicate that the files recognized as test related files by the Rakudo cache (as generated by [`Rakudo::Cache`](https://raku.land/zef:lizmat/Rakudo::Cache)) should be searched.
1516+
1517+
--rakudo-yaml
1518+
-------------
1519+
1520+
Indicate that the files recognized as files containing YAML of some sortr by the Rakudo cache (as generated by [`Rakudo::Cache`](https://raku.land/zef:lizmat/Rakudo::Cache)) should be searched.
1521+
14671522
--recurse-unmatched-dir
14681523
-----------------------
14691524

doc/App-Rak.rakudoc

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1867,6 +1867,82 @@ Flag. Intended for debugging purposes only. When specified, will show the
18671867
named arguments sent to the C<rak> plumbing subroutine just before it isi
18681868
being called.
18691869

1870+
=head2 --rakudo-all
1871+
1872+
Indicate that B<all> the files recognized by the Rakudo cache (as generated
1873+
by L<C<Rakudo::Cache>|https://raku.land/zef:lizmat/Rakudo::Cache>)
1874+
should be searched.
1875+
1876+
=head2 --rakudo-c
1877+
1878+
Indicate that the files recognized as C<C> programming language files by
1879+
the Rakudo cache (as generated by
1880+
L<C<Rakudo::Cache>|https://raku.land/zef:lizmat/Rakudo::Cache>) should
1881+
be searched.
1882+
1883+
=head2 --rakudo-doc
1884+
1885+
Indicate that the files recognized as documentation files by the Rakudo
1886+
cache (as generated by
1887+
L<C<Rakudo::Cache>|https://raku.land/zef:lizmat/Rakudo::Cache>) should
1888+
be searched.
1889+
1890+
=head2 --rakudo-java
1891+
1892+
Indicate that the files recognized as C<Java> programming language files
1893+
by the Rakudo cache (as generated by
1894+
L<C<Rakudo::Cache>|https://raku.land/zef:lizmat/Rakudo::Cache>) should
1895+
be searched.
1896+
1897+
=head2 --rakudo-js
1898+
1899+
Indicate that the files recognized as C<Javascript> programming language
1900+
files by the Rakudo cache (as generated by
1901+
L<C<Rakudo::Cache>|https://raku.land/zef:lizmat/Rakudo::Cache>) should
1902+
be searched.
1903+
1904+
=head2 --rakudo-nqp
1905+
1906+
Indicate that the files recognized as C<NQP> related files by the Rakudo
1907+
cache (as generated by
1908+
L<C<Rakudo::Cache>|https://raku.land/zef:lizmat/Rakudo::Cache>) should
1909+
be searched.
1910+
1911+
=head2 --rakudo-perl
1912+
1913+
Indicate that the files recognized as C<Perl> programming language files
1914+
by the Rakudo cache (as generated by
1915+
L<C<Rakudo::Cache>|https://raku.land/zef:lizmat/Rakudo::Cache>) should
1916+
be searched.
1917+
1918+
=head2 --rakudo-raku
1919+
1920+
Indicate that the files recognized as C<Raku> Programming Language files
1921+
by the Rakudo cache (as generated by
1922+
L<C<Rakudo::Cache>|https://raku.land/zef:lizmat/Rakudo::Cache>) should
1923+
be searched.
1924+
1925+
=head2 --rakudo-shell
1926+
1927+
Indicate that the files recognized as shell scripts / batch files by
1928+
the Rakudo cache (as generated by
1929+
L<C<Rakudo::Cache>|https://raku.land/zef:lizmat/Rakudo::Cache>) should
1930+
be searched.
1931+
1932+
=head2 --rakudo-test
1933+
1934+
Indicate that the files recognized as test related files by the Rakudo
1935+
cache (as generated by
1936+
L<C<Rakudo::Cache>|https://raku.land/zef:lizmat/Rakudo::Cache>) should
1937+
be searched.
1938+
1939+
=head2 --rakudo-yaml
1940+
1941+
Indicate that the files recognized as files containing YAML of some
1942+
sort by the Rakudo cache (as generated by
1943+
L<C<Rakudo::Cache>|https://raku.land/zef:lizmat/Rakudo::Cache>) should
1944+
be searched.
1945+
18701946
=head2 --recurse-unmatched-dir
18711947

18721948
Flag. Indicate whether directories that didn't match the C<--dir>

lib/App/Rak.rakumod

Lines changed: 64 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ my constant BON = "\e[1m"; # BOLD ON
3131
my constant BOFF = "\e[22m"; # BOLD OFF
3232

3333
#- start of available options --------------------------------------------------
34-
#- Generated on 2025-02-08T19:26:39+01:00 by tools/makeOPTIONS.raku
34+
#- Generated on 2025-02-11T21:05:15+01:00 by tools/makeOPTIONS.raku
3535
#- PLEASE DON'T CHANGE ANYTHING BELOW THIS LINE
36-
my str @options = <absolute accept accessed ack after-context allow-loose-escapes allow-loose-quotes allow-whitespace also-first always-first and andnot auto-decompress auto-diag backtrace backup batch before-context blame-per-file blame-per-line blocks break categorize checkout classify context count-only created csv-per-line degree deny description device-number dir dont-catch dryrun eco-code eco-doc eco-meta eco-provides eco-scripts eco-tests edit encoding eol escape exec execute-raku extensions file file-separator-null files-from files-with-matches files-without-matches filesize find formula frequencies gid group group-matches hard-links has-setgid has-setuid headers help highlight highlight-after highlight-before human ignorecase ignoremark inode invert-match is-empty is-executable is-group-executable is-group-readable is-group-writable is-moarvm is-owned-by-group is-owned-by-user is-owner-executable is-owner-readable is-owner-writable is-pdf is-readable is-sticky is-symbolic-link is-text is-world-executable is-world-readable is-world-writable is-writable json-per-elem json-per-file json-per-line keep-meta list-custom-options list-expanded-options list-known-extensions matches-only max-matches-per-file mbc mbc-frames mbc-strings meta-modified mode modifications modified modify-files module not only-first or ornot output-dir output-file pager paragraph-context passthru passthru-context paths paths-from pattern patterns-from pdf-info pdf-per-file pdf-per-line per-file per-line per-paragraph progress proximate rename-files quietly quote rak recurse-symlinked-dir recurse-unmatched-dir repository save sayer sep shell show-blame show-filename show-item-number silently smartcase smartmark sourcery stats stats-only strict summary-if-larger-than trim type uid under-version-control unicode unique user verbose version vimgrep with-line-endings>;
36+
my str @options = <absolute accept accessed ack after-context allow-loose-escapes allow-loose-quotes allow-whitespace also-first always-first and andnot auto-decompress auto-diag backtrace backup batch before-context blame-per-file blame-per-line blocks break categorize checkout classify context count-only created csv-per-line degree deny description device-number dir dont-catch dryrun eco-code eco-doc eco-meta eco-provides eco-scripts eco-tests edit encoding eol escape exec execute-raku extensions file file-separator-null files-from files-with-matches files-without-matches filesize find formula frequencies gid group group-matches hard-links has-setgid has-setuid headers help highlight highlight-after highlight-before human ignorecase ignoremark inode invert-match is-empty is-executable is-group-executable is-group-readable is-group-writable is-moarvm is-owned-by-group is-owned-by-user is-owner-executable is-owner-readable is-owner-writable is-pdf is-readable is-sticky is-symbolic-link is-text is-world-executable is-world-readable is-world-writable is-writable json-per-elem json-per-file json-per-line keep-meta list-custom-options list-expanded-options list-known-extensions matches-only max-matches-per-file mbc mbc-frames mbc-strings meta-modified mode modifications modified modify-files module not only-first or ornot output-dir output-file pager paragraph-context passthru passthru-context paths paths-from pattern patterns-from pdf-info pdf-per-file pdf-per-line per-file per-line per-paragraph progress proximate rakudo-all rakudo-doc rakudo-java rakudo-js rakudo-nqp rakudo-perl rakudo-raku rakudo-shell rakudo-test rakudo-yaml rename-files quietly quote rak recurse-symlinked-dir recurse-unmatched-dir repository save sayer sep shell show-blame show-filename show-item-number silently smartcase smartmark sourcery stats stats-only strict summary-if-larger-than trim type uid under-version-control unicode unique user verbose version vimgrep with-line-endings>;
3737
#- PLEASE DON'T CHANGE ANYTHING ABOVE THIS LINE
3838
#- end of available options ----------------------------------------------------
3939

@@ -686,6 +686,16 @@ my sub ecosystem-cache(str $ecosystem, str $dir) {
686686
$io.add($dir).absolute
687687
}
688688
689+
# Return absolute path to rakudo cache
690+
my sub rakudo-cache(str $type) {
691+
# This is a little brittle
692+
$source-offset = $*EXECUTABLE.parent(3).absolute.chars + 1;
693+
%listing<absolute> := True;
694+
695+
((%*ENV<RAKU_RAKUDO> andthen .IO) // ($*HOME // $*TMPDIR))
696+
.add(".raku").add("cache").add("rakudo-$type").absolute
697+
}
698+
689699
#-------------------------------------------------------------------------------
690700
691701
# Run the query
@@ -1425,6 +1435,18 @@ my sub set-eco-xxx($value, str $type --> Nil) {
14251435
}
14261436
}
14271437
1438+
# Set rakudo-xxx option in ecosystem cache
1439+
my sub set-rakudo-xxx($value, str $type --> Nil) {
1440+
my str $parameter = "rakudo-$type";
1441+
if Bool.ACCEPTS($value) {
1442+
set-source($parameter, rakudo-cache($type), 'files-from')
1443+
if $value;
1444+
}
1445+
else {
1446+
meh "'--$parameter' can only be specified as a flag";
1447+
}
1448+
}
1449+
14281450
#-------------------------------------------------------------------------------
14291451
# One subroutine for each supported option. Is assumed to do right thing for
14301452
# that option by setting the appropriate global hashes. Not expected to return
@@ -2200,6 +2222,46 @@ my sub option-proximate($value --> Nil) {
22002222
set-listing-flag-or-Int('proximate', $value);
22012223
}
22022224
2225+
my sub option-rakudo-all($value --> Nil) {
2226+
set-rakudo-xxx($value, "all");
2227+
}
2228+
2229+
my sub option-rakudo-doc($value --> Nil) {
2230+
set-rakudo-xxx($value, "doc");
2231+
}
2232+
2233+
my sub option-rakudo-java($value --> Nil) {
2234+
set-rakudo-xxx($value, "java");
2235+
}
2236+
2237+
my sub option-rakudo-js($value --> Nil) {
2238+
set-rakudo-xxx($value, "js");
2239+
}
2240+
2241+
my sub option-rakudo-nqp($value --> Nil) {
2242+
set-rakudo-xxx($value, "nqp");
2243+
}
2244+
2245+
my sub option-rakudo-perl($value --> Nil) {
2246+
set-rakudo-xxx($value, "perl");
2247+
}
2248+
2249+
my sub option-rakudo-raku($value --> Nil) {
2250+
set-rakudo-xxx($value, "raku");
2251+
}
2252+
2253+
my sub option-rakudo-shell($value --> Nil) {
2254+
set-rakudo-xxx($value, "shell");
2255+
}
2256+
2257+
my sub option-rakudo-test($value --> Nil) {
2258+
set-rakudo-xxx($value, "test");
2259+
}
2260+
2261+
my sub option-rakudo-yaml($value --> Nil) {
2262+
set-rakudo-xxx($value, "java");
2263+
}
2264+
22032265
my sub option-rename-files($value --> Nil) {
22042266
meh "Not allowed to rename files" unless $modifications;
22052267
set-action('rename-files', $value);

resources/help.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,17 @@ Haystack specification:
8383
--eco-provides[=name] All code in modules in local ecosystem cache
8484
--eco-scripts[=name] All code in scripts in local ecosystem cache
8585
--eco-tests[=name] All code in test files in local ecosystem cache
86+
--rakudo-all All files in Rakudo
87+
--rakudo-c All C programming language files in Rakudo
88+
--rakudo-doc All documentation files
89+
--rakudo-java All Java programming language files in Rakudo
90+
--rakudo-js All Javascript programming language files in Rakudo
91+
--rakudo-nqp All NQP related files in Rakudo
92+
--rakudo-perl All Perl programming language files in Rakudo
93+
--rakudo-raku All Raku Programming Language files in Rakudo
94+
--rakudo-shell All shell scripts / batch files in Rakudo
95+
--rakudo-test All testing related files in Rakudo
96+
--rakudo-yaml All files containing YAML of some sort in Rakudo
8697

8798
Filesystem filters:
8899
--accessed=condition Check on epoch when file was last accessed

resources/help/haystack.txt

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,58 @@ Indicate that the test files (from the "t" and "xt" directories of a
115115
distribution) in the local ecosystem cache (as generated by
116116
Ecosystem::Cache) should be searched. If specified as a flag, will
117117
assume "rea" (Raku Ecosystem Archive).
118+
119+
--rakudo-all
120+
121+
Indicate that all the files recognized by the Rakudo cache (as generated
122+
by Rakudo::Cache) should be searched.
123+
124+
--rakudo-c
125+
126+
Indicate that the files recognized as C programming language files by
127+
the Rakudo cache (as generated by Rakudo::Cache) should be searched.
128+
129+
--rakudo-doc
130+
131+
Indicate that the files recognized as documentation files by the Rakudo
132+
cache (as generated by Rakudo::Cache) should be searched.
133+
134+
--rakudo-java
135+
136+
Indicate that the files recognized as Java programming language files
137+
by the Rakudo cache (as generated by Rakudo::Cache) should be searched.
138+
139+
--rakudo-js
140+
141+
Indicate that the files recognized as Javascript programming language
142+
files by the Rakudo cache (as generated by Rakudo::Cache) should be searched.
143+
144+
--rakudo-nqp
145+
146+
Indicate that the files recognized as NQP related files by the Rakudo cache
147+
(as generated by Rakudo::Cache) should be searched.
148+
149+
--rakudo-perl
150+
151+
Indicate that the files recognized as Perl programming language files
152+
by the Rakudo cache (as generated by Rakudo::Cache) should be searched.
153+
154+
--rakudo-raku
155+
156+
Indicate that the files recognized as Raku Programming Language files
157+
by the Rakudo cache (as generated by Rakudo::Cache) should be searched.
158+
159+
--rakudo-shell
160+
161+
Indicate that the files recognized as shell scripts / batch files by
162+
the Rakudo cache (as generated by Rakudo::Cache) should be searched.
163+
164+
--rakudo-test
165+
166+
Indicate that the files recognized as test related files by the Rakudo
167+
cache (as generated by Rakudo::Cache) should be searched.
168+
169+
--rakudo-yaml
170+
171+
Indicate that the files recognized as files containing YAML of some sort
172+
by the Rakudo cache (as generated by Rakudo::Cache) should be searched.

0 commit comments

Comments
 (0)