Checked in the first part of the changes, cf. <http://sourceforge.net/p/oorexx/code-0/12300>.
The Linux API samples should work, however, the readme.txt files need proof reading. Also, the callrexx.README relates to non-existing mak-files, the Makefiles for Linux/Apple are missing. Todo: the C++ samples for external routines and external methods need yet to be integrated. Todo: the Windows API samples need to be adjusted according to the Unix ones. Should you have any remarks, then please come forward. ---rony On 18.10.2021 18:32, Rony G. Flatscher wrote: > > Thank you for your feedbacks: Jon for the kind words, Rick for the thumbs up > and hint about the > licenses, and P.O. for offering help testing the changes! > > It will take a little while though as I will be travelling the coming > weekend. So if there are any > suggestions, advice please let me know. > > ---rony > > P.S.: After that is done I would proceed in attempting to create the > zip-versions after having > learned more about CMake dealing with this little "samples project". > > > On 18.10.2021 15:20, P.O. Jonsson wrote: >> Dear Rony, >> >> If you want I can try the changes out locally before you commit them, on Mac >> and Windows at >> least, maybe also on some Unixes. I think Ricks remark was aimed at me but >> it is not possible to >> try things out while working on a machine (Marks) I have no personal >> connection to. >> >> I have one item on my ToDo list that Erich wanted done: to simplify and >> merge the samples >> testcases into one or two files rather than having one tfile for each >> testcase. This is what >> Erich wrote: >> >> Hi P.O., re your recently committed additional test groups for Samples: >> >> all testGroup files should have set these three SVN properties: >> svn propset svn:eol-style native name.testGroup >> svn propset svn:executable on name.testGroup >> svn propset svn:keywords "Date Rev" name.testGroup >> >> Also testGroup files are expected to have proper headers - exactly like >> below: >> #!/usr/bin/env rexx >> /* >> SVN Revision: $Rev$ >> Change Date: $Date$ >> */ >> >> Your testGroup template defines global variables like shouldStop that aren't >> actually used anywhere. >> This includes a variable stopStop which is actually a typo. >> >> There's no need to special-case ADDRESS "" vs. ADDRESS COMMAND. >> Cross-platform ADDRESS formats >> include ADDRESS SYSTEM or ADDRESS "" >> >> The main tests run the samples with an explicit REXX external command. They >> should be run with >> execRexxPrg() instead. >> >> Your test groups typically run the tested sample twice, which shouldn't be >> necessary. Once run, >> return code and output tests can be done at the same time. There's also no >> need to test for a >> 9999 return code (this was just an internal quirk that I've removed). >> >> Also to simplify maintenance you might check out the template that I just >> committed: >> wmi.testGroup uses a single test per sample, making the tests easier to >> understand and more concise. >> >> Once you are done I will start doing this, with Ricks remark in mind. I have >> enclosed Erichs >> Template FYI. If you want to do the merger you are more than welcome. >> >> >> >> Hälsningar/Regards/Grüsse, >> P.O. Jonsson >> oor...@jonases.se <mailto:oor...@jonases.se> >> >> >> >>> Anfang der weitergeleiteten Nachricht: >>> >>> *Von: *"Rony G. Flatscher" <rony.flatsc...@wu.ac.at >>> <mailto:rony.flatsc...@wu.ac.at>> >>> *Betreff: **[Oorexx-devel] Regarding API samples, thoughts and suggested >>> changes* >>> *Datum: *18. Oktober 2021 um 13:09:28 MESZ >>> *An: *oorexx-devel@lists.sourceforge.net >>> <mailto:oorexx-devel@lists.sourceforge.net> >>> *Antwort an: *Open Object Rexx Developer Mailing List >>> <oorexx-devel@lists.sourceforge.net >>> <mailto:oorexx-devel@lists.sourceforge.net>> >>> >>> Sleeping over the current structure of the API samples these are the things >>> that are in place >>> currently: >>> >>> 1. samples/Makefile.am (???) >>> 2. samples/native.api/call.example/ ... for all systems, CMakeLists.txt, >>> Makefile.linux, >>> Makefile.windows, Makefile.am (???) >>> 3. samples/unix/api/callrexx/ ... callrexx1.cpp, callrexx2.c, >>> CMakeLists.txt, no Makefiles >>> 4. samples/unix/api/wpipe{1..3}/... rexxasp{1..3}.c, aspitest{1..3}.rex, >>> CMakeLists.txt, no >>> Makefiles >>> 5. samples/windows/ ... api/ ... misc/ ... ole/ ... oodialog/ ...rexutils/ >>> 6. samples/windows/api/ ... callrxnt/ ... callrxwn/ ... rexxexit/ >>> 7. samples/windows/api/wpipe{1..3}/ .. rexxapi{1..3}.c, apitest{1..3}.rex, >>> CMakeLists.rex, >>> nmake make files named rexxapi{1..3}.mak >>> >>> Suggested changes: >>> >>> 1. It seems that the "Makefile.am" files are left-overs and can be >>> safely deleted? >>> >>> 2. create a new structure for the installed api samples, such that the >>> installation on all >>> systems would look like: >>> >>> samples/api >>> samples/api/classic/ ... having all samples in their own directories >>> that exemplify the SAA >>> API interface, rexxapi.pdf, "Chapter 2. Classic Rexx Application >>> Programming Interfaces" >>> samples/api/c++/ ... having all samples in their own directories that >>> exemplify the ooRexx >>> native API interface, rexxapi.pdf, "Chapter 1. Rexx C++ Application >>> Programming Interfaces" >>> >>> 3. rename "wpipe{1..3}" directory names to "rexxapi{1..3]" to match the >>> names of the >>> programs therein for all systems ("wpipe" is confusing) >>> >>> 4. Unix, rename "rexxsp{1..}.c" to "rexxapi{1..3}.c" and >>> "aspitest{1..3].rex" to >>> "apitest{1..3].rex" to match the Windows names ("asp" does not make >>> any sense in this >>> context); sample change done with "wpipe1" >>> >>> 5. Add Makefiles where there are missing, such that interested >>> programmers can try compiling >>> and running the samples on their own (e.g. missing for the Unix wpipe >>> samples >>> >>> 6. Add "readme.txt" files in each api directory to briefly describe its >>> content >>> >>> In addition I propose to add the c++ samples of the 2015 RexxLA >>> presentation of how to create >>> external routines and external methods, cf. >>> <https://www.rexxla.info/events/2015/schedule.html>, >>> the talk with the code samples entitled "How to Develop a Native Library in >>> C++ for ooRexx in a >>> Nutshell". >>> >>> The easier it becomes for programmers to understand how the APIs work the >>> better. >>> >>> Any comments? >>> >>> ---rony >>>
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel