Community
Participate
Working Groups
At the moment we store in the repository both the .dita files from which the documentation is generated, as well as the generated html files. Some of the html files in the repository are built with different dita versions, which causes that every time the help is built, there are git changes shown. I'd like to be able to rebuild the docs as often as I want without making the repository working. I'll try the following: - document that the documentation should always be built with Dita 1.7.4 (I also tried the very latest version but it produced quite a lot of diffs and some files couldn't be parsed any longer). - do another build with dita 1.7.4 and commit all touched files - add <mat help>/plugins/ to .gitignore - some files get generated there What I noticed is that some of the changes to the HTML files are IDs within table rows/columns ( tr / td ). I have no idea why and how they are generated. They do not change with every build, i.e. if I rebuild multiple times with the same dita version, I don't get modified files. Not sure if the IDs will change if someone else builds the help with the same dita version. So what I'll try to do is a "quick fix", hoping that pinning the dita version helps. I guess a more reasonable solution would be not to store the generated files at all with the sources, but rather generate and package them with every build. I'll see if I can get the time to achieve the latter.
New Gerrit change created: https://git.eclipse.org/r/85661
Gerrit change https://git.eclipse.org/r/85661 was merged to [master]. Commit: http://git.eclipse.org/c/mat/org.eclipse.mat.git/commit/?id=3b9c75b8589a2942e876647c265ff3cb9b5936b7
New Gerrit change created: https://git.eclipse.org/r/165020
Gerrit change https://git.eclipse.org/r/165020 was merged to [master]. Commit: http://git.eclipse.org/c/mat/org.eclipse.mat.git/commit/?id=70010d434388d74f05a0783d95b5d823658651c5
New Gerrit change created: https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/175289
Gerrit change https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/175289 was merged to [master]. Commit: http://git.eclipse.org/c/mat/org.eclipse.mat.git/commit/?id=c8da8191d61a56c31e3304f135a9b98769ef1382
Going up to 1.7 still left some 'dirty' HTML files, changed when the original dita wasn't changed. Perhaps it is time to move up to DITA 3.7 - I have some small changes which allow this, though all the HTML files will change as well, just this time.
The changes are a bit bigger to the ant script. The id="d12e56789" and headers="d12e55645 " do still change if for example a row is added to a table. Solution. 1. DITA 3.7 works best with the dita command not the ant task 2. The dita command then needs a properties file 3. Build dita to the 'out' directory 4. Copy html files from there to the outnew directory 5. Copy existing html files (except from doc,out) from the project to the outorig directory 6. Process those html files to convert the first part of the id to d????? 7. Delete the html files from outnew if they are the same as outorig 8. Copy the files back from the out directory to the project except for html files which do not have a corresponding file in outnew 9. Tidy up directories. Full build ant -f DitaBuild.xml Build which doesn't update files which probably haven't really changed ant -f DitaBuild.xml -Djustnew=true
New Gerrit change created: https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/191243
Gerrit change https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/191243 was merged to [master]. Commit: http://git.eclipse.org/c/mat/org.eclipse.mat.git/commit/?id=e0f08c8b96f8c3e9201e76900a68930524794d03
I don't see an existing project building Eclipse help at build time using DITA, but it might be possible using: https://mvnrepository.com/artifact/org.dita-ot https://www.dita-ot.org/3.7/reference/java-api.html but I don't know if this includes the eclipsehelp plugin. It looks like this would require some Java code to be compiled at build time to call dost.jar, but that should be possible. Is it worth it though as it just saves us a little bit of time and has no impact on end users?
New Gerrit change created: https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/191251
Gerrit change https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/191251 was merged to [master]. Commit: http://git.eclipse.org/c/mat/org.eclipse.mat.git/commit/?id=34a75cace695bbba297ac3112c46a77e5efdf68d
New Gerrit change created: https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/192881
Gerrit change https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/192881 was merged to [master]. Commit: http://git.eclipse.org/c/mat/org.eclipse.mat.git/commit/?id=7582ac145c31782189d1dc077f2448dfccce12f8
New Gerrit change created: https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/199572
Gerrit change https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/199572 was merged to [master]. Commit: http://git.eclipse.org/c/mat/org.eclipse.mat.git/commit/?id=38e623447d7a3e78e8c12a5aee7ba902e8d44102
New Gerrit change created: https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/199575
Gerrit change https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/199575 was merged to [master]. Commit: http://git.eclipse.org/c/mat/org.eclipse.mat.git/commit/?id=df2d359125c97051a07bd59a97e48caf5a839574
Now by following the instructions at https://wiki.eclipse.org/MemoryAnalyzer/Contributor_Reference#Build_Help_with_DITA the DITA build should only generate new versions of files from files which have been modified. I think this is now fixed. If we want to do a DITA build in CI then that should be another bug.