I was going to reply to the OP that I saw last night but then I saw this reply from Rony so I have added my comments below.

On 1/3/2023 5:44 AM, Rony G. Flatscher wrote:

Thank you (and also Gil) for all of your efforts!

On 03.01.2023 00:18, ooRexx wrote:
My attempt to always have the documentation built before windows and macOS build backfired. "monitoring" the documentation build resulted in Windows and macOS building as soon as there was a change to the documentation, also when there is no change to the source codebase. So I have reverted that change.

The other way around, to have Windows and/or initiating a documentation build for every source code change might work (the documentation build will exit silently if there are no changes) but I think it will eventually lead to problems. In the normal situation the documentation will be fairly stable so ready to be picked up. For a release scenario we might need to be a bit more disciplined and let a couple of hours pass between documentation changes and final build. I hope this is acceptable.

One possibility is to use "tools/svnListRevisions.rex" exactly as "tools/updateEntityValues.rex" to determine if a book's part got updated (ignoring the ${book}/en-US/${book}.ent and ${book}/en-US/Author_Group.xml files) and only recreate and upload that book if so.

I have amended the script building and uploading the documentation to accept download and upload paths, so that is can be driven by cMake when we know how to use that as variables.

One possibility would be to place an ooRexx property text file containing current build definitions at a location that can be read from all Jenkins-clients. If it does not exist a fallback would be to use trunk only.

Such a textfile could look like:

    main=5.1.0beta
    docs=5.0.0 5.1.0beta
    test=5.1.0beta

with the meaning create ooRexx 5.1.0beta (main-entry), the documenation for 5.0.0 and 5.1.0beta (docs-entry), run the tests for 5.1.0beta from 5.1.0beta.

Or something like that.

The location could be on SourceForge and a backup location accessible from each Jenkins client (if that can be configured).

This is just one idea meant for further brainstorming! :)


Along the same lines I have written yet a rexx script that checks if any changes have been made to docs-bildutils, and if so, update the "Files" section of sourceforge so that we now have an automated way to update also docs-bildutils
+1
So my first question is what is the purpose of the docs-bildutils folder?  Are there files in it that are unique and not located elsewhere in SVN?  I am having difficulty in reconciling what is there vs. what is in the docs\trunk\tools folder.
The script is launched from the Project ooRexx-docs-bildutils-check and hopefully we can provide the necessary input to the script from CMakeLists.txt in a later stage.

I did only consider files so far, I have a question on the folders *rexxpg bldoc_win bldoc_orx*

*rexxpg* only contain two files so it is doable to download them using the enerving "wait five seconds" downloading function but for*bldoc_win* and *bldoc_orx* (what is the difference)

AFAIK "bldoc_orx" is the newer version using Rexx scripts instead of the shell scripts in "bldoc_win", thereby allowing it to be used on Unix systems as well. However, Gil knows more as he is the author! :)

Rony is correct.  The latter was a rewrite from the Windows batch files and environment variables to ooRexx scripts and a properties file.  It also uses a "cleaner" method to resolve the 'Common_Content' used by Publican.  The intent when it was written was that it would run on both Windows and *nix platforms but, to my knowledge, it has never been tested on *nix.

there are some 20 separate files and folders, making downloading it a nightmare. I suggest to put everything together as a zipfile, in that way it is a one-click to get it.

The files under version control should remain as it makes it easy to directly work with them.

+1

I, personally, do not think zip files belong in a version control system.  Here is how I see someone using the bldoc_xxx tools: checkout the docs\trunk folder using SVN, copy the bldoc_xxx folder from \tools to a folder that will be used for building the document(s), get the "off the shelf" tools needed (on Windows, run setup.rex), run docpath to point to the path for the "checked out" documents, etc.

OTOH the files put into the unversioned files area of Sourceforge can be in the zipped form, as it is really easier for downloading.

The folder publican_obsolete is just that, obsolete, so I do not expect anyone to use it but it is kept for backwards compatibility.

The question is whether anyone is able and wants to re-create older documentation. We could remove "publican_obsolete" from trunk as it still would be present in the older releases branches.

+1

AFAIK, it is still possible at this point to run Publican as we have not "burned the bridge" that would prevent that toolset from running.  Having the old tools in the SVN repository should be adequate to preserve that capability.

While being there we should also consider to rename the directory "docs/trunk/oorexx" to "docs/trunk/Common_Content" as it gets used for all books. After doing so, we should also consider to change all the xml-files that refer to "Common_Content" to refer relatively to it which would allow us to forgo copying "oorexx\en-US" into all "books\en-US\Common_Content".

-1

This would "break" the Publican tools and, IMHO, does not provide any real benefit as the "copying" step is only done during the "docprep" stage, once per document and, as the file is very small, does not impose a performance hit.

In the coming days I will go through the list and see what is missing on my part and delete/summarize those sections.

+1

---rony




_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to