OK, I have some time now so here are the details (see below).
Gil
On 7/5/2022 8:54 AM, Gilbert Barmwater wrote:
Thanks, Rony, for taking a look at the document build package I
recently uploaded and for your initial feedback. I hope to be able to
provide a detailed response later today or tomorrow.
Gil
On 7/5/2022 6:10 AM, Rony G. Flatscher wrote:
Hi Gil,
thank you for providing the ooRexx set of scripts! Nice that you now
use a property file for the configuration instead of environment
variables!
I believe this was your suggestion way back when and it has proved to be
beneficial in multiple ways, like being able to resume work on a
document in the step you left off without having to re specify the path
or the document, even across command prompts or terminal windows.
A question ad the name "bldoc_orx": what does it stand for?
The original package was bldoc_win indicating a package to build
documents on Windows. I expected a similar name for the Mac and *nix
packages but that never happened. The name here is indicative of a
package to build documents using ooRexx, regardless of platform.
One suggestion: a readme.txt file that briefly explains the sequence
of scripts to use (and what they do) would be very helpful for
newcomers who try to use the scripts to create the documentation on
their own.
Indeed. As I stated earlier on this subject (different thread), "The
coding was complete but the documentation wasn't ...". I also indicated
that in the commit message: "Documentation is not complete." The
original package has a file named "read1st.txt" that gives an overview
of the package and the process to install it and then to build
documents. It is in need of a major rewrite which has not been
started. The file "sources.txt" was almost complete so I "finished" it
and included it. For those who have used the previous package(s), the
script names have remained the same so the old file may be of some help
until a new one can be created.
---
Just ran "setup.rex" on Windows to get the necessary programs
downloaded. At the end the following error came up:
Making Apache FOP package available. (5/5)
Downloading fop-2.6-bin.zip
Start-BitsTransfer : HTTP-Status 404: Die angeforderte URL ist
auf diesem Server nicht vorhanden.
At line:1 char:1
+ Start-BitsTransfer
https://mirror.nodesdirect.com/apache/xmlgraphics/ ...
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:)
[Start-BitsTransfer], Exception
+ FullyQualifiedErrorId :
StartBitsTransferCOMException,Microsoft.BackgroundIntelligentTransfer.Management.NewBits
TransferCommand
Error retrieving fop-2.6-bin.zip; RC was 1.
The reason being that the package name has changed on that location
to "fop-2.7-bin.zip".
Changed the name and it is nice to see that setup.rex will pick up
right there, great!
We have encountered this problem before. The original package used
fop-2.4 but Jean-Louis reported the same error when he tried it. The
level had jumped to 2.6 by then. I updated the package and the ooRexx
version at the time and that solved the problem. The fo2pdf step has
code to determine the (newest) level of fop installed so it did not
require changes (although I may have added that code at that point in
time). There has been no activity on these packages for 2 years (see
the copyright dates!) so I'm surprised that fop is only at 2.7 now.
The larger problem is we are subject to this breakage every time fop
releases a new level. It should be possible to determine the "current"
level dynamically before attempting the download but there is no
guarantee that the newest level will work with our other tools without
other changes so that might not be advisable.
---
Ran:
docpath.rex path to oorexx\docs\trunk
docprep.rex rexxref
doc2pdf.rex
Noticed that docprep.rex copies the book's en-US files into
work_folder, however the subdirectory "en-US\images" and its
subfolders are missing, so not sure, whether the raildiagrams can
make it.
I believe that I needed to copy them when creating the HTML version of
the document but the PDFs I create on my system all have the syntax
diagrams in them. I do not remember the reason for this as it has been
too long since I actively worked on it.
The fo file got created (fo_files\rexxref.fo):
Directory of G:\oorexx.tmp\gilDocs\bldoc_orx\fo_files
05.07.2022 11:53 <DIR> .
05.07.2022 11:53 <DIR> ..
05.07.2022 11:24 56 info.txt
05.07.2022 11:54 11 533 942 rexxref.fo
However the pdf file was not created.
Looking up the logfile:
G:\oorexx.tmp\gilDocs\bldoc_orx>type log_files\rexxref.log
Juli 05, 2022 11:54:27 AM org.apache.fop.apps.FopConfParser configure
INFO: Default page-height set to: 297mm
Juli 05, 2022 11:54:27 AM org.apache.fop.apps.FopConfParser configure
INFO: Default page-width set to: 210mm
Juli 05, 2022 11:54:27 AM org.apache.fop.cli.Main startFOP
SEVERE: Exception
org.apache.fop.apps.FOPException: java.net.MalformedURLException: unknown
protocol: f
java.net.MalformedURLException: unknown protocol: f
at org.apache.fop.util.LogUtil.handleException(LogUtil.java:57)
at
org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:113)
at
org.apache.fop.fonts.FontManager.autoDetectFonts(FontManager.java:229)
at
org.apache.fop.fonts.DefaultFontConfigurator.configure(DefaultFontConfigurator.java:82)
at
org.apache.fop.render.PrintRendererConfigurator.getCustomFontCollection(PrintRendererConfigurator.java:147)
at
org.apache.fop.render.PrintRendererConfigurator.setupFontInfo(PrintRendererConfigurator.java:127)
at
org.apache.fop.render.intermediate.IFUtil.setupFonts(IFUtil.java:170)
at
org.apache.fop.render.intermediate.IFRenderer.setupFontInfo(IFRenderer.java:187)
at
org.apache.fop.area.RenderPagesModel.<init>(RenderPagesModel.java:75)
at
org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHandler.java:135)
at
org.apache.fop.area.AreaTreeHandler.<init>(AreaTreeHandler.java:105)
at
org.apache.fop.render.RendererFactory.createFOEventHandler(RendererFactory.java:363)
at org.apache.fop.fo.FOTreeBuilder.<init>(FOTreeBuilder.java:109)
at org.apache.fop.apps.Fop.createDefaultHandler(Fop.java:104)
at org.apache.fop.apps.Fop.<init>(Fop.java:78)
at org.apache.fop.apps.FOUserAgent.newFop(FOUserAgent.java:184)
at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:108)
at org.apache.fop.cli.Main.startFOP(Main.java:183)
at org.apache.fop.cli.Main.main(Main.java:214)
Caused by: java.net.MalformedURLException: unknown protocol: f
at java.base/java.net.URL.<init>(URL.java:681)
at java.base/java.net.URL.fromURI(URL.java:748)
at java.base/java.net.URI.toURL(URI.java:1139)
at
org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:94)
... 17 more
---------
java.net.MalformedURLException: unknown protocol: f
at java.base/java.net.URL.<init>(URL.java:681)
at java.base/java.net.URL.fromURI(URL.java:748)
at java.base/java.net.URI.toURL(URI.java:1139)
at
org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:94)
at
org.apache.fop.fonts.FontManager.autoDetectFonts(FontManager.java:229)
at
org.apache.fop.fonts.DefaultFontConfigurator.configure(DefaultFontConfigurator.java:82)
at
org.apache.fop.render.PrintRendererConfigurator.getCustomFontCollection(PrintRendererConfigurator.java:147)
at
org.apache.fop.render.PrintRendererConfigurator.setupFontInfo(PrintRendererConfigurator.java:127)
at
org.apache.fop.render.intermediate.IFUtil.setupFonts(IFUtil.java:170)
at
org.apache.fop.render.intermediate.IFRenderer.setupFontInfo(IFRenderer.java:187)
at
org.apache.fop.area.RenderPagesModel.<init>(RenderPagesModel.java:75)
at
org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHandler.java:135)
at
org.apache.fop.area.AreaTreeHandler.<init>(AreaTreeHandler.java:105)
at
org.apache.fop.render.RendererFactory.createFOEventHandler(RendererFactory.java:363)
at org.apache.fop.fo.FOTreeBuilder.<init>(FOTreeBuilder.java:109)
at org.apache.fop.apps.Fop.createDefaultHandler(Fop.java:104)
at org.apache.fop.apps.Fop.<init>(Fop.java:78)
at org.apache.fop.apps.FOUserAgent.newFop(FOUserAgent.java:184)
at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:108)
at org.apache.fop.cli.Main.startFOP(Main.java:183)
at org.apache.fop.cli.Main.main(Main.java:214)
So something seems to be wrong with detecting the fonts, which got
downloaded by setup.rex to:
G:\oorexx.tmp\gilDocs\bldoc_orx>dir "Liberation Fonts"
Volume in drive G is root_g
Volume Serial Number is 2F1A-EC34
Directory of G:\oorexx.tmp\gilDocs\bldoc_orx\Liberation Fonts
05.07.2022 11:41 <DIR> .
05.07.2022 11:41 <DIR> ..
05.07.2022 05:41 301 684 LiberationMono-Bold.ttf
05.07.2022 05:41 277 912 LiberationMono-BoldItalic.ttf
05.07.2022 05:41 274 984 LiberationMono-Italic.ttf
05.07.2022 05:41 313 408 LiberationMono-Regular.ttf
05.07.2022 05:41 353 936 LiberationSans-Bold.ttf
05.07.2022 05:41 349 724 LiberationSans-BoldItalic.ttf
05.07.2022 05:41 355 608 LiberationSans-Italic.ttf
05.07.2022 05:41 350 200 LiberationSans-Regular.ttf
05.07.2022 05:41 4 469 SIL Open Font License.txt
Note that this package, just like the previous ones, does NOT install
the fonts. That must be done by the user should they wish to use them.
This was a conscious decision on my part and one I continue to believe
is correct. Anyone wishing to develop a script to do it is welcome but
it should remains optional IMHO.
Now I have not tried fop-2.7 so that may be the root cause of the errors
you are experiencing. If time permits, I will do that and report back
either way. If you have access to fop-2.6, you might try replacing 2.7
(just adding 2.6 will not work as the code will use 2.7 I believe if
they are both present) and see if the JAVA errors go away.
---
You are using powershell in setup.rex to download and unzip the
archives. If you were to use curl (it became part of Windows 10 and
is usually available on Unix systems) for downloading, then setup.rex
might be used to also download resources for Unix as well (ad
unzipping: that should be possible by default on Unix systems with
unzip).
I choose to use Powershell, although I despise it's syntax and
usability, because it was one tool that could both download AND unzip
the various external packages. Using curl to download would then
require a different program to unzip the files which seemed
unnecessarily complicated. BTW, Powershell is supposedly available for
non-Windows systems as well although I have no experience with it in
those environments.
Best regards
---rony
P.S.:
<https://wi.wu.ac.at/rgf/wu/lehre/slides/BusinessProgramming/060_ooRexx_commands_V14.pdf>
contains a couple of curl examples that can be used on any operating
system.
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel