I've completely re-written the makefile and the build engine. Now a python script (which uses automvs), in conjuctions with the makefile, builds and tests BREXX370 on TK4-, MVS/CE and TK5, it also can make the XMIT files for those releases and push them to githum. It come with multiple make targets. The documentation is in the /build/ folder in the README.md file.
With these changes anyone now can build BREXX fully from source. There are no longer any pre-built object files, they are built using the make command as well.
To use this in a development capacity make sure you edit the make file to point at the TK4 or TK5 folder, make your changes and type make or make install or make test.
Releases
To make a BREXX release you can type make release which will make 3 ZIP files which include:
BREXX XMIT file
Instalation JCL customize for the three MVS flavors (TK4-, MVS/CE, TK5)
An EBCDIC JCL file that when submitted unxmits BREXX install PDS to BREXX..INSTALL
/html which contains all the BREXX documentation in HTML form built from the /docs folder
BREXX370_Users_Guide.pdf which is the current user guide built from the /docs folder
Testing
When running make test all tests from the /test folder as well as all the tests in the $TESTRX jcl file are run, the build fails if any of the tests fail.
Samples and rxlib changes
All the samples were changed such that no line in the sample file is longer than 80 chars. This is to accommodate the way files are uploaded to MVS using the card reader.
Also, the JESVIEW sample was change to handle the -8 return code on failure as it was failing some tests on MVS/CE.
Github Actions
The new github actions make heavy use of the new build engine and rely on each step to complete. On any pull request or push the test action will run which:
Builds BREXX on MVS/CE, TK4-, and TK5
Tests BREXX on MVS/CE, TK4-, and TK5
If those succeed a pre-release build is made
The prerelease XMIT and the included installation JCL is tested on MVS/CE, TK4-, and TK5
If that also succeeds a pre-release version is added to the releases
There's also a release github action which will make an official release of the current version (it grabs the version to BREXX.h).
To make a release on github, in a terminal you can type git tag -a V2R5M3 -m "This is the new release", replacing the version number and hitting enter. Then type git push --tags and a new release of BREXX will be placed in github.
I should also not that the $README file in the BREXX XMIT is now automatically generated from the installation instructions in /docs/source/installation.rst. I've edited this file to ensure none of the lines are wider than 72 columns to make it easier to read in RFE/RPF.
New Build Engine
I've completely re-written the makefile and the build engine. Now a python script (which uses automvs), in conjuctions with the makefile, builds and tests BREXX370 on TK4-, MVS/CE and TK5, it also can make the XMIT files for those releases and push them to githum. It come with multiple make targets. The documentation is in the
/build/
folder in theREADME.md
file.With these changes anyone now can build BREXX fully from source. There are no longer any pre-built object files, they are built using the make command as well.
To use this in a development capacity make sure you edit the make file to point at the TK4 or TK5 folder, make your changes and type
make
ormake install
ormake test
.Releases
To make a BREXX release you can type
make release
which will make 3 ZIP files which include:/html
which contains all the BREXX documentation in HTML form built from the/docs
folderBREXX370_Users_Guide.pdf
which is the current user guide built from the/docs
folderTesting
When running
make test
all tests from the/test
folder as well as all the tests in the$TESTRX
jcl file are run, the build fails if any of the tests fail.Samples and rxlib changes
All the samples were changed such that no line in the sample file is longer than 80 chars. This is to accommodate the way files are uploaded to MVS using the card reader.
Also, the
JESVIEW
sample was change to handle the-8
return code on failure as it was failing some tests on MVS/CE.Github Actions
The new github actions make heavy use of the new build engine and rely on each step to complete. On any pull request or push the test action will run which:
There's also a release github action which will make an official release of the current version (it grabs the version to
BREXX.h
).To make a release on github, in a terminal you can type
git tag -a V2R5M3 -m "This is the new release"
, replacing the version number and hitting enter. Then typegit push --tags
and a new release of BREXX will be placed in github.I should also not that the
$README
file in the BREXX XMIT is now automatically generated from the installation instructions in/docs/source/installation.rst
. I've edited this file to ensure none of the lines are wider than 72 columns to make it easier to read in RFE/RPF.Let me know if you have questions.