There are a new net-oo-rexx packages (Windows, MacOS, Linux) available for download from:
https://wi.wu.ac.at/rgf/rexx/tmp/net-oo-rexx-packages/
Each net-oo-rexx package can be used to use (or check-out) the latest versions of ooRexx and some
helpful packages for it (like BSF4ooRexx, an ooRexx-Java bridge) and NetRexx.
Unquarantine the Windows ("powershell unblock-file *") and MacOS (use 'xattr' to learn the name of
the quarantine attribute and then 'xattr -d' to delete it) net-oo-rexx packagaes before unzipping
them. Then run "setup" and you can already use ooRexx with BSF4ooRexx, or NetRexx.
One important package is "oorexxshell", which is a *great*, versatile, very useful shell for
Windows, MacOS, and LInux by Jean Louis Faucher.
See the enclosed "readme*txt" files for more information.
---rony
"net-oo-rexx packages"
======================
This is the readme file for "net-oo-rexx", a bundling ready to use that
gives immediate access to a number of Rexx packages (stored in the subdirectory
"packages"), like:
- bsf4oorexx (ooRexx-Java bridge for all operating systems)
- dbus4oorexx (ooRexx-DBus bridge for Linux)
- executor packages (useful utilities, used by oorexxshell below)
- log4rexx (logging for ooRexx)
- oorexx (open object Rexx)
- oorexxshell (a rexxtry.rex kind of shell for ooRexx, POWERFUL stuff)
- regex (powerful regular expression implementation in ooRexx)
- rexx-parser (cf. International Rexx Symposium 2025, beginning of May)
- rexxdebugger (an ooRexx debugger, exploits the Java bindings on Unix)
- testsuite (the ooRexx test suite, can be used for your purposes)
- TUTOR (cf. International Rexx Symposium 2025, beginning of May)
- wip ("work in progress", may be empty)
To learn more about the packages lookup their content which usually has the
respective documentation.
========================
Directions in a nutshell
========================
- download the latest "NetRexx, ooRexx with packages with oorexxshell"
(net-oo-rexx-packages) zip archive from
https://wi.wu.ac.at/rgf/rexx/tmp/net-oo-rexx-packages/
- de-quarantine the zip archive BEFORE unzipping (see NOTE # 1 below)
- unzip the archive with the "unzip" or "7z" command
- change into the unzipped directory and enter in the system shell
Windows Unix Comment
------- ---- +------
setup.cmd ./setup.sh | creates two scripts
This will create the two scripts:
run.cmd run | allows to run net-oo-rexx
programs
setenv.cmd setenv | allows to set environment
to net-oo-rexx in Terminal
----------------------------------------------------------------------------------------
---> use the generated 'run.cmd/run' script
Windows Unix Comment
------- ---- +------
run oorexxshell ./run oorexxshell | runs oorexxshell (a
script)
run rexx testoorexx.rex ./run rexx testoorexx.rex | use portable ooRexx to
run testoorexx.rex
run rexx which_rexx.rex | use portable ooRexx to
run which_rexx.rex
run rexxdebugger packages/rexxdebugger/tutorial.rex | use portable ooRexx to
run the rexxdebugger with its tutorial.rex
run nrc -exec which_rexx.rex | use NetRexx to run
which_rexx.rex
----------------------------------------------------------------------------------------
---> use the generated 'setenv.cmd/setenv' script
Windows Unix Comment
------- ---- +------
setenv.cmd source ./setenv | sets the environment in
the Terminal to net-oo-rexx
the following commands will work on Windows as well as on Unix:
oorexxshell | runs oorexxshell (a script)
rexx testoorexx.rex | use portable ooRexx to run
testoorexx.rex
rexx which_rexx.rex | use portable ooRexx to run
which_rexx.rex
rexxdebugger packages/rexxdebugger/tutorial.rex | use portable ooRexx to run
the rexxdebugger with its tutorial.rex
nrc -exec which_rexx.rex | use NetRexx to run
which_rexx.rex
nrc which_rexx.rex | use NetRexx to compile
which_rexx.rex to which_rexx.class
java which_rexx | use Java to run
which_rexx.class (note: no ".class" extension!)
======================
Additional information
======================
To learn about the functionality of oorexxshell, take a few minutes and see the
asciinema demos at [4].
First feedback
--------------
- "install this bundle, you run a small, trivial setup program, and, poof,
you have immediate access to a real trove of packages -- no additional
installation needed"
(JMB)
- "I even was able to load the JDOR handler, then "address JDOR", and then
construct one of the JDOR samples step-by-step, by manually writing the
(quoted) JDOR commands. This is very impressive, and very useful too,
from a pedagogical point of view, since it provides immediate incremental
visual feedback for the JDOR commands. You just have to move the Java
window besides the command window and you have a fantastic experience."
(JMB)
-------------------------------------------------------------------------------
=====
NOTES
=====
---------------------------------------
NOTE # 1: Microsoft and Apple do not allow programs from the Internet to run
if they are not signed using their fee-based service citing "security
reasons".
Therefore, BEFORE INSTALLING or UNZIPPING open source projects you need
to "de-quarantine" (remove the respective attributes) the zip archives
BEFORE unzipping.
Windows: after downloading, open with a right-mouse click the property
menu, mark the "unblock" check mark and click "apply".
Thereafter you can install or unzip the file.
Alternatively, open a command line window and run (change
'filename'
to the name of the downloaded file):
powershell Unblock-File filename
e.g.,
powershell Unblock-File
net-oo-rexx.windows.x86_64-portable-release-20250402.zip
macOS: after downloading, open a Terminal window and run "xattr filename"
to see the extended attributes of the downloaded file (replace
'filename' with the name of the zip archive), then issue (again,
change 'filename' to the name of the downloaded file):
xattr -d com.apple.quarantine filename
e.g.,
xattr -d com.apple.quarantine
net-oo-rexx.macos.x86_64-portable-release-20250402.zip
---------------------------------------
NOTE # 2 for Unix versions.
In case the execution bit of shell scripts and executables got removed,
run the supplied script makeAllExecutable.sh from the unzipped
directory:
sh ./makeAllExecutable.sh
---------------------------------------
NOTE # 3: Dual Installations (Linux & Windows)
You can use the same set of installed files to run the net-oo-rexx
bundle under both Windows and Linux, including the Windows Subsystem
for Linux (WSL2) and other mechanisms like VirtualBox shared folders.
Once you have run the necessary initializer scripts (setup.cmd under
Windows, and ./setup under Linux/WSL), you will be able to use the
other scripts (run/setenv) under both operating systems. For example,
you can test a program under Windows, then use the "wsl" command to
switch to Ubuntu, and test the same program under Ubuntu, while
sharing
the same net-oo-rexx installation.
About WSL, cf. <https://learn.microsoft.com/en-us/windows/wsl/about>
---------------------------------------
NOTE # 4: rerun the "setup.cmd" (Windows)/"setup" (Unix) script each time the
portable files get relocated or, if on a USB stick, each time you
plug in the USB stick. This will recreate on Windows the "run.cmd"
and "setenv.cmd" scripts, on Unix the "run" and "setenv" scripts,
thereby adjusting them to their new location.
---------------------------------------
NOTE # 5: bsf4oorexx (ooRexx-Java bridge)
In order to load and run bsf4oorexx programs you need to have
Java/OpenJDK on your computer and either have PATH point to the
directory where the binary file java.exe (Windows)/java (Unix) can be
found or set the environment variable JAVA_HOME to point to the Java
home directory in which the Java subdirectories 'bin', 'lib' and the
like are located.
You can download Java/OpenJDK from the Internet (usually for free),
e.g., from Amazon, azul, bellsoft, IBM, Microsoft, ORACLE, SAP, and
many more sites (all distributions use the same Java/OpenJDK source
code).
Please make sure to pay attention to the following two important
points:
- download the "full version" respectively the version that includes
"JavaFX", otherwise the interesting bsf4oorexx JavaFX samples cannot
run
- download the Java/OpenJDK version matching your operating system
and the machine type of your computer, e.g., a 64-bit Intel (machine
type "x86_64") Windows version download the "x86_64" (Intel, AMD)
Windows Java/OpenJDK installation package or zip archive. If you
use macOS or Linux then download the respective full Java/OpenJDK
versions.
It is possible to have different versions of Java/OpenJDK present on
your computer at the same time. The environment variable JAVA_HOME
can then be used to point to the Java/OpenJDK directory that you wish
to use in your current session/terminal/command line window. This way
you can develop and test bsf4oorexx programs for different versions
of Java/OpenJDK on the same computer.
To see what becomes possible with bsf4oorexx, check out the samples
in packages/bsf4oorexx/samples which all get briefly described in the
index.html file located there as well.
bsf4oorexx programs can be executed directly with rexx[.exe] or via
Java using the shell scripts "rexxjh.cmd" (Windows)/"rexxjh.sh"
(Unix),
e.g.,
cd packages/bsf4oorexx/samples
rexxjh.cmd 1-040_list_charsets.rxj -- Windows: Java loads
ooRexx to run script
rexxjh.sh 1-040_list_charsets.rxj -- Unix: Java loads ooRexx
to run script
rexx 1-040_list_charsets.rxj -- Rexx loads Java to run
script
Apple users please note: if running any bsf4oorexx script that
creates a GUI, then
you MUST use the scripts rexxjh.sh to run them.
---
If you have any questions or comments please communicate via the RexxLA member's
mailing list (cf. https://www.RexxLA.org).
Alternatively, communicate via the ooRexx developer list (cf. [2], [3]).
[1] Portable ooRexx 5.1.0:
<https://sourceforge.net/projects/oorexx/files/oorexx/5.1.0beta/portable/>
[2] ooRexx mailing list subscription page:
<https://sourceforge.net/p/oorexx/mailman/>
[3] ooRexx web mail interface to the developer mailing list:
<https://sourceforge.net/p/oorexx/mailman/oorexx-devel/>
[4] Jean Louis Faucher's asciinema demos, at the top the demos for ooRexxShell:
<https://jlfaucher.github.io/executor.master/demos/index.html>.
Please note that these demos may use experimental extensions of Jean Louis
executor (a special version based on ooRexx 4.2) which are not present
in the regular versions of ooRexx.
----------------
as of 2024-09-03, rgf
====================================================================
Portable Zip Archive ("Stick") Version for Open Object Rexx (ooRexx)
====================================================================
ooRexx (open object Rexx) is an easy-to-learn, dynamically typed, caseless, and
powerful programming language. ooRexx implements the message paradigm that
makes it easy to interact with any type of system.
ooRexx is an open-source project governed by the non-profit, international
special interest group named "Rexx Language Association" (RexxLA).
This version of ooRexx allows you to install several versions of ooRexx on the
same computer in parallel, and choose which version is used on a program-by-
program basis. It also allows you to install one or more versions in a
removable drive (e.g., in an external USB stick, hence the name "portable")
and carry it along, using it on different machines.
Links:
ooRexx Project: https://sourceforge.net/projects/oorexx/
RexxLA Homepage: http://www.rexxla.org
-------------------------------------
Creating the Portable Scripts (Setup)
-------------------------------------
After unzipping the portable zip archive (using "unzip" or "7z") and changing
into the created subdirectory run
Windows: Unix:
-------- -----
setup.cmd ./setup.sh (Unix)
which will run "setup.rex" using the Rexx interpreter from its "bin"
subdirectory (i.e., "bin/rexx setup.rex").
This will create two shell scripts:
Windows: Unix:
-------- -----
run.cmd run
setenv.cmd setenv
If the location of the script's home directory has changed simply rerun the
"setup.cmd" (Windows)/"setup.sh" (Unix) script to recreate the two shell
scripts picking up the new location.
----------------------------------------------------------------------------
Purpose and usage of the script "run.cmd" (Windows) or "run" (Unix):
temporarily change PATH to find the portable version of ooRexx first
----------------------------------------------------------------------------
This script will temporarily set up the environment. It expects 'rexx'
followed by the name of a Rexx program and optionally followed by any
arguments for the Rexx program, e.g.
run rexx testoorexx.rex (Windows)
./run rexx testoorexx.rex (Unix)
In case "ooRexx packages with oorexxshell" is installed (a subdirectory
'packages' exists) then oorexxshell can be run as well:
run oorexxshell (Windows)
./run oorexxshell (Unix)
-> oorexxshell explanations/demos:
https://jlfaucher.github.io/executor.master/demos/index.html
Upon return from the "run" process the shell's environment is unchanged.
----------------------------------------------------------------------------
Purpose and usage of the script "setenv.cmd" (Windows) or "setenv" (Unix):
allow to change the environment permanently in a shell to find the portable
version of ooRexx first
----------------------------------------------------------------------------
This script will permanently set up the environment in the current terminal
shell:
setenv (Windows)
source ./setenv (Unix, you MUST use the "source" command)
After executing the script the environment gets changed such that the
portable version of rexx.exe/rexx will be found first for the duration of
the terminal session. To use it use "rexx" to run Rexx programs, e.g.:
rexx testoorexx.rex
In case "ooRexx packages with oorexxshell" is installed (a subdirectory
'packages' exists) then oorexxshell can be run as well:
oorexxshell (both Windows and Unix)
To locate the Rexx directory being used by the generated scripts inspect
the environment variables REXX_HOME, OOREXX_HOME and PATH, e.g.
echo %REXX_HOME% (Windows)
echo %OOREXX_HOME% (Windows)
echo %PORTABLE_HOME% (Windows)
echo %PACKAGES_HOME% (Windows)
echo %PATH% (Windows)
echo $REXX_HOME (Unix, usually not set)
echo $OOREXX_HOME (Unix)
echo $PORTABLE_HOME (Unix)
echo $PACKAGES_HOME (Unix)
echo $PATH (Unix)
----------------
as of 2025-09-03, rgf
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel