Helper script for Rakudo Perl 6 core development
git clone https://github.com/zoffixznet/z ~/zscript && cd ~/zscript && zef --depsonly install . echo 'export PATH="$HOME/zscript/bin:$PATH"' >> ~/.bashrc . ~/.bashrc z init ~/R # or some other dir you wanna use for all the repos
This installs command
z into your PATH.
If you want to call
z by a different name (for instance, if you use the popular
z script included in several Linux distributions), you should be aware that (this)
z uses libraries relative to its own directory. So some typical workarounds for this, like creating a ~/bin/p6z → ~/zscript/bin/z symbolic link, will make
z run incorrectly.
The easiest way to deal with this is by using a shell alias (instead of the above):
echo 'alias p6z="$HOME/zscript/bin/z"' >> ~/.bashrc . ~/.bashrc p6z init ~/R
You can set
ZSCRIPT_DIR env var to change which build dir Z-Script uses.
dir config value is used (this is the dir you provided to
z init). This var allows you to have multiple build dirs.
*BELOW LIST IS NO LONGER KEPT UP-TO-DATE. RUN
z --help TO SEE ALL THE
z init Some-Dir # clone all repos and build everything inside Some-Dir # Some-Dir defaults to `.`; must be empty z z # pulls all repos and rebuilds MoarVM, nqp, and Rakudo from scratch z f # pulls updates into all repos z # re-make rakudo z --test # re-make rakudo + run make test z n # re-make nqp and rakudo z n --test # re-make nqp and rakudo + run make test for both z m # re-make MoarVM z md # re-make MoarVM after reconf with DEBUG (with --no-optimize) z mnd # re-make MoarVM after reconf with no DEBUG z s # run rakudo's make test + spectest z ss # run rakudo's make test + stresstest z bs # run "best test" (have > 10 cores ?? stresstest !! spectest) z t some files # run t/fudgeandrun some files z bump # bump MoarVM and nqp + best test + bump push on success z bump --no-push # bump MoarVM and nqp + best test, but don't push z bump m # bump MoarVM version z bump n # bump nqp version z bump push # push already-done version bumps for MoarVM and nqp z bump push m # push already-done version bump for MoarVM z bump push n # push already-done version bump for nqp z mod Some Module # install modules 'Some' and 'Module', without tests z mod Some Module --tests # install modules 'Some' and 'Module', with tests z umod Some Module # uninstall modules 'Some' and 'Module' z modi5 # install Inline::Perl5 module z conf # print all configuration z conf dir # print value for configuration key "dir" z conf dir /home/zoffix/R # set config key "dir" to value "/home/zoffix/R" vm 111.222.333.444 # set VM IP to given IP (trims surrounding whitespace) vm # rsyncs all local changes to VM vm s # sync spec changes vm d # sync doc changes vm m # sync moar changes vm n # sync nqp changes vm r # sync rakudo changes vm SCRUB # run `git reset --hard` in all local repos and pull # new commits. This *** DELETES ALL LOCAL YOUR CHANGES *** # Yup. LOCAL, not VM. It's under `vm` because you'd use # this command to sync local when editing locally and # committing remotely z q # opens Grammar/Actions/World/Optimizer in atom editor; assumes we're # in the root of a rakudo checkout z r Some Command # run Some Command in all the repos (may have issues with # named args) # full-cycle builds are only needed when you need to # re-run Configure.pl if, say, core files were added/deleted z build moar # full-cycle build moarvm z build nqp # full-cycle build nqp z build rakudo # full-cycle build rakduo
Fork this module on GitHub: https://github.com/zoffixznet/z
To report bugs or request features, please use https://github.com/zoffixznet/z/issues
Zoffix Znet (http://perl6.party/)
You can use and distribute this module under the terms of the
The Artistic License 2.0. See the
LICENSE file included in this
distribution for complete details.
META6.json file of this distribution may be distributed and modified
without restrictions or attribution.