dita-ot / dita-ot

DITA Open Toolkit — the open-source publishing engine for content authored in the Darwin Information Typing Architecture.
https://www.dita-ot.org
Apache License 2.0
404 stars 196 forks source link

DITA-OT Project File base directory seems to be random #4004

Closed stefan-jung closed 2 years ago

stefan-jung commented 2 years ago

Expected Behavior

I have a DITA-OT project file like this.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="https://www.dita-ot.org/project">
  <deliverable name="Foo" id="foo">
    <context name="Foo-context" id="foo-context">
      <input href="foo.ditamap"/>
    </context>
    <output href="./A4"/>
    <publication transtype="my-pdf"/>
  </deliverable>
</project>

I am expecting that <output> is relative to the DITA-OT project file itself. But it isn't. In my case it's the root directory of my repository. I don't know if this is expected and I don't know how to change the base directory to get reliable outputs, because . is not what it seems.

image

First lines of the log:

Executing:
"c:\program files\oxygen xml editor 24\jre/bin/java" -Dfile.encoding=UTF-8 -Xmx256m -Djava.awt.headless=true -classpath "C:\Program Files\Oxygen XML Editor 24\tools\ant/lib/ant-launcher.jar" "-Dant.home=C:\Program Files\Oxygen XML Editor 24\tools\ant" org.apache.tools.ant.launch.Launcher -f "C:\Program Files\Oxygen XML Editor 24\frameworks\dita\dita_project\build_dita_project.xml" "-Dadditional.args=-verbose" "-Ddeliverable.id=dometic-frontpage-backpage-usa-a4" "-Ddita-ot.dir=C:\Users\eike\AppData\Roaming\Dometic\DITA\dita-ot" "-Dproject.file=C:\Users\eike\workspace\com.dometic.dita-ot-pdf\test-files\dometic-frontpage-backpage-usa\dometic-frontpage-backpage-usa.xml" "-Dwebhelp.trial.license=no"

Buildfile: C:\Program Files\Oxygen XML Editor 24\frameworks\dita\dita_project\build_dita_project.xml

dist:
     [exec] Searching for integrator.xml ...

     [exec] 
     [exec] init:
     [exec] 
     [exec] generic-pdf.init:
     [exec]      [echo] processing-mode=strict
     [exec]      [echo] args.input=file:/C:/Users/eike/workspace/com.dometic.dita-ot-pdf/test-files/dometic-frontpage-backpage-usa/DometicTitlePage.ditamap
     [exec]      [echo] generate.copy.outer=3
     [exec]      [echo] customization.dir=C:\Users\eike\AppData\Roaming\Dometic\DITA\dita-ot\plugins\com.dometic.dita-ot-pdf\cfg
     [exec]      [echo] args.bookmark.style=COLLAPSED
     [exec]      [echo] args.chapter.layout=MINITOC
     [exec]      [echo] args.figurelink.style=NUMBER
     [exec]      [echo] pdf2.i18n.skip=false
     [exec]      [echo] move.figures.before.text=false
     [exec]      [echo] process.map.metadata=true
     [exec]      [echo] page.format=A4
     [exec]      [echo] frontpage.show.revision=true
     [exec]      [echo] frontpage.show.formnumber=true
     [exec]      [echo] frontpage.show.releasedate=true
     [exec]      [echo] frontpage.show.copyright=true
     [exec]      [echo] preprocess.clean-map-check.skip=true
     [exec]      [echo] show.changes.and.comments=no
     [exec]      [echo] show.changebars=no
     [exec]      [echo] args.fo.userconfig=C:\Users\eike\AppData\Roaming\Dometic\DITA\dita-ot\plugins\com.dometic.dita-ot-pdf/cfg/fop/fop.xconf
     [exec]      [echo] *** Read map metadata ***
     [exec]      [echo] args.input=file:/C:/Users/eike/workspace/com.dometic.dita-ot-pdf/test-files/dometic-frontpage-backpage-usa/DometicTitlePage.ditamap
     [exec]      [xslt] Processing C:\Users\eike\workspace\com.dometic.dita-ot-pdf\test-files\dometic-frontpage-backpage-usa\DometicTitlePage.ditamap to C:\Users\eike\AppData\Roaming\Dometic\DITA\dita-ot\${dita.temp.dir}\dometic-metadata.xml
     [exec]      [xslt] Loading stylesheet C:\Users\eike\AppData\Roaming\Dometic\DITA\dita-ot\plugins\com.dometic.dita-ot-pdf\xsl\init\metadata.xsl
     [exec]      [echo] ------------------------------------------------------------
     [exec]      [echo] Content of the metadata property file:
     [exec]      [echo] ------------------------------------------------------------
     [exec]      [echo] document-type=Operating Manual
     [exec]      [echo] product-area=Mobile Cooling
     [exec]      [echo] model-family=CFX
     [exec]      [echo] document-id=012456798
     [exec]      [echo] special-document-id=
     [exec]      [echo] dometic-company=COMPANY NOT SET
     [exec]      [echo] factory-supplier=COMPANY NOT SET
     [exec]      [echo] ------------------------------------------------------------
     [exec] 
     [exec] dita2dometic-pdf.init:
     [exec] 
     [exec] dita2pdf2.init:
     [exec] 
     [exec] init-properties:
     [exec] [init-project] Initializing project
     [exec] 
     [exec] check-arg:
     [exec]     [mkdir] Created dir: C:\Users\eike\AppData\Roaming\Dometic\DITA\dita-ot\temp\temp20220908132234679
     [exec] 
     [exec] log-arg:
     [exec]      [echo] *****************************************************************
     [exec]      [echo] * basedir = C:\Users\eike\AppData\Roaming\Dometic\DITA\dita-ot
     [exec]      [echo] * dita.dir = C:\Users\eike\AppData\Roaming\Dometic\DITA\dita-ot\bin\..
     [exec]      [echo] * transtype = dometic-pdf
     [exec]      [echo] * tempdir = C:\Users\eike\AppData\Roaming\Dometic\DITA\dita-ot\temp\temp20220908132234679
     [exec]      [echo] * outputdir = C:\Users\eike\workspace\com.dometic.dita-ot-pdf\out\A4
     [exec]      [echo] * clean.temp = true
     [exec]      [echo] * DITA-OT version = 3.6.0
     [exec]      [echo] * XML parser = Xerces
     [exec]      [echo] * XSLT processor = Saxon
     [exec]      [echo] * collator = ICU
     [exec]      [echo] *****************************************************************
     [exec]      [echo] #Ant properties
     [exec]      [echo] #Thu Sep 08 13:22:34 CEST 2022
     [exec]      [echo] dita.plugin.com.oxygenxml.webhelp.responsive.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.oxygenxml.webhelp.responsive
     [exec]      [echo] args.fo.userconfig=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.dometic.dita-ot-pdf/cfg/fop/fop.xconf
     [exec]      [echo] dita.plugin.org.dita-community.preprocess-extensions.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita-community.preprocess-extensions
     [exec]      [echo] dita.plugin.org.dita4publishers.common.mapdriven.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita4publishers.common.mapdriven
     [exec]      [echo] dita.plugin.com.dometic.dita-troubleshooting.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.dometic.dita-troubleshooting
     [exec]      [echo] dita.plugin.org.dita4publishers.json.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita4publishers.json
     [exec]      [echo] dita.plugin.org.dita4publishers.epub.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita4publishers.epub
     [exec]      [echo] dita.plugin.com.oxygenxml.merged.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.oxygenxml.merged
     [exec]      [echo] dita.plugin.com.oxygenxml.dita.metrics.report.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.oxygenxml.dita.metrics.report
     [exec]      [echo] dita.plugin.org.dita.javahelp.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita.javahelp
     [exec]      [echo] dita.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\bin\\..
     [exec]      [echo] dita.plugin.com.oxygenxml.image.float.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.oxygenxml.image.float
     [exec]      [echo] dita.plugin.org.dita4publishers.common.xslt.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita4publishers.common.xslt
     [exec]      [echo] dita.plugin.org.dita-community.dita13.pdf.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita-community.dita13.pdf
     [exec]      [echo] preprocess.copy-flag.skip=true
     [exec]      [echo] dita.plugin.org.dita4publishers.word2dita.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita4publishers.word2dita
     [exec]      [echo] dita.plugin.com.oxygenxml.dost.patches.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.oxygenxml.dost.patches
     [exec]      [echo] dita.plugin.org.dita-community.split-page-sequences.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita-community.split-page-sequences
     [exec]      [echo] dita.plugin.com.oxygenxml.dita-ot.plugin.mathml.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\mathml
     [exec]      [echo] dita.plugin.com.dometic.doctypes.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.dometic.dita-doctypes
     [exec]      [echo] dita.plugin.org.oasis-open.dita.v1_3.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.oasis-open.dita.v1_3
     [exec]      [echo] dita.plugin.org.oasis-open.dita.v2_0.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.oasis-open.dita.v2_0
     [exec]      [echo] dita.plugin.com.oxygenxml.export.map.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.oxygenxml.export.map
     [exec]      [echo] dita.plugin.org.dita.htmlhelp.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita.htmlhelp
     [exec]      [echo] args.rellinks=nofamily
     [exec]      [echo] dita.output.dir=C\:\\Users\\eike\\workspace\\com.dometic.dita-ot-pdf\\out\\A4
     [exec]      [echo] dita.plugin.org.dita.normalize.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita.normalize
     [exec]      [echo] dita.plugin.com.oxygenxml.html.embed.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.oxygenxml.html.embed
     [exec]      [echo] dita.plugin.org.dita.xhtml.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita.xhtml
     [exec]      [echo] dita.plugin.org.dita.specialization.dita11.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita.specialization.dita11
     [exec]      [echo] dita.plugin.org.dita4publishers.kindle.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita4publishers.kindle
     [exec]      [echo] dita.plugin.org.oasis-open.dita.v1_2.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.oasis-open.dita.v1_2
     [exec]      [echo] args.input=file\:/C\:/Users/eike/workspace/com.dometic.dita-ot-pdf/test-files/dometic-frontpage-backpage-usa/DometicTitlePage.ditamap
     [exec]      [echo] dita.plugin.org.dita.pdf2.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita.pdf2
     [exec]      [echo] dita.plugin.org.dita.html5.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita.html5
     [exec]      [echo] dita.plugin.org.oasis-open.dita.techcomm.v2_0.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.oasis-open.dita.techcomm.v2_0
     [exec]      [echo] dita.plugin.com.congility.idxml-dometic.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.congility.idxml-dometic
     [exec]      [echo] dita.plugin.org.dita.html5.dublin-core.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita.html5.dublin-core
     [exec]      [echo] dita.plugin.org.dita.index.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita.index
     [exec]      [echo] dita.plugin.com.oxygenxml.media.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.oxygenxml.media
     [exec]      [echo] dita.plugin.org.dita.base.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita.base
     [exec]      [echo] dita.plugin.org.dita-community.common.xslt.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita-community.common.xslt
     [exec]      [echo] dita.plugin.com.oxygenxml.common.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.oxygenxml.common
     [exec]      [echo] preprocess.chunk.skip=true
     [exec]      [echo] dita.temp.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\temp\\temp20220908132234679
     [exec]      [echo] dita.plugin.com.dometic.dita-technical-data.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.dometic.dita-technical-data
     [exec]      [echo] dita.plugin.org.dita4publishers.common.html.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita4publishers.common.html
     [exec]      [echo] dita.plugin.org.dita.troff.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita.troff
     [exec]      [echo] args.grammar.cache=yes
     [exec]      [echo] preprocess.clean-map-check.skip=true
     [exec]      [echo] dita.plugin.org.dita4publishers.html2.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita4publishers.html2
     [exec]      [echo] args.bookmark.style=COLLAPSED
     [exec]      [echo] dita.plugin.com.dometic.dita-html5.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.dometic.dita-html5
     [exec]      [echo] dita.plugin.org.oasis-open.xdita.v0_2_2.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.oasis-open.xdita.v0_2_2
     [exec]      [echo] dita.plugin.org.dita-community.dita13.html.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita-community.dita13.html
     [exec]      [echo] dita.plugin.org.dita.pdf2.axf.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita.pdf2.axf
     [exec]      [echo] args.figurelink.style=NUMBER
     [exec]      [echo] dita.plugin.com.oxygenxml.pdf.custom.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.oxygenxml.pdf.custom
     [exec]      [echo] dita.plugin.com.dometic.dita-ot.pdf.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.dometic.dita-ot-pdf
     [exec]      [echo] args.xsl.pdf=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.dometic.dita-ot-pdf\\xsl\\fo\\topic2fo_shell_dometic_fop.xsl
     [exec]      [echo] dita.plugin.com.dometic.oxygen-dita-framework.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.dometic.oxygen-framework
     [exec]      [echo] dita.plugin.org.lwdita.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.lwdita
     [exec]      [echo] dita.plugin.com.congility.idxml.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.congility.idxml
     [exec]      [echo] dita.plugin.com.oxygenxml.editlink.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.oxygenxml.editlink
     [exec]      [echo] args.input.basename=DometicTitlePage.ditamap
     [exec]      [echo] args.chapter.layout=MINITOC
     [exec]      [echo] dita.plugin.org.dita-community.common.mapdriven.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita-community.common.mapdriven
     [exec]      [echo] dita.plugin.org.dita.eclipsehelp.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita.eclipsehelp
     [exec]      [echo] dita.plugin.com.oxygenxml.webhelp.common.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.oxygenxml.webhelp.common
     [exec]      [echo] dita.plugin.com.oxygenxml.highlight.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.oxygenxml.highlight
     [exec]      [echo] dita.plugin.com.oxygenxml.pdf.review.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.oxygenxml.pdf.review
     [exec]      [echo] dita.plugin.com.elovirta.ooxml.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.elovirta.ooxml
     [exec]      [echo] dita.plugin.org.dita.pdf2.xep.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita.pdf2.xep
     [exec]      [echo] args.input.cleaned=C\:\\Users\\eike\\workspace\\com.dometic.dita-ot-pdf\\test-files\\dometic-frontpage-backpage-usa\\DometicTitlePage.ditamap
     [exec]      [echo] dita.plugin.org.dita.pdf2.fop.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita.pdf2.fop
     [exec]      [echo] args.xml.systemid.set=yes
     [exec]      [echo] dita.plugin.org.dita-community.adjust-copy-to.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita-community.adjust-copy-to
     [exec]      [echo] preprocess.copy-image.skip=true
     [exec]      [echo] dita.plugin.com.oxygenxml.pdf.css.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\com.oxygenxml.pdf.css
     [exec]      [echo] dita.plugin.org.dita4publishers.dita2indesign.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot\\plugins\\org.dita4publishers.dita2indesign
     [exec]      [echo] dita2wordToDita.buildfile.dir=C\:\\Users\\eike\\AppData\\Roaming\\Dometic\\DITA\\dita-ot
     [exec]      [echo] *****************************************************************
     [exec] 

Actual Behavior

Output files appear randomly somewhere

Possible Solution

I don't know.

Steps to Reproduce

Publish a PDF with a DITA-OT project file and set <output> to something like ./subdir.

Copy of the error message, log file or stack trace

No error.

Environment

jelovirt commented 2 years ago

@xephon2 when you call DITA-OT, what arguments do you use? Could you add those to the issue description?

stefan-jung commented 2 years ago

@jelovirt, done.

raducoravu commented 2 years ago

Just to explain @xephon2 's command line, Oxygen uses a custom ANT build file to start an external process which runs the "dita.bat". That "additional.args" parameter is passed to the "dita.bat" command line as it is. In more recent transformation scenarios we have set the value for the "additional.args" parameter to "-verbose -output=out -temp=temp" and I remember we did it to fix something similar, the way in which a relative output file path specified in the project file resolves.

jelovirt commented 2 years ago

Ok, @raducoravu that makes sense because DITA-OT's Ant API doesn't support project files. Only the DITA-OT CLI supports project files.

chrispy-snps commented 2 years ago

@xephon2 - the <output> path in a <deliverable> is relative to whatever the DITA-OT's outputdir directory is, not relative to the project file. This allows each deliverable to declare its relative location in some kind of overall file structure, then that overall file structure can be placed in a destination using outputdir (or the -o/--output option, from the command line).

For example, we take advantage of this to place PDF files in a subdirectory of the WebHelp output directory:

<deliverable id="del-olh-prodA" name="olh-prodA">
    <context idref="context-olhA"/>
    <output href="olh_A"/>
    <publication idref="pub-olh"/>
</deliverable>
<deliverable id="del-pdf-bookA1" name="pdf-bookA1">
    <context idref="context-A1"/>
    <output href="olh_A/pdf"/>
    <publication idref="pub-pdf"/>
</deliverable>
<deliverable id="del-pdf-bookA1" name="pdf-bookA1">
    <context idref="context-A1"/>
    <output href="olh_A/pdf"/>
    <publication idref="pub-pdf"/>
</deliverable>

<deliverable id="del-olh-prodB" name="olh-prodB">
    <context idref="context-olhB"/>
    <output href="olh_B"/>
    <publication idref="pub-olh"/>
</deliverable>
<deliverable id="del-pdf-bookB1" name="pdf-bookB1">
    <context idref="context-B1"/>
    <output href="olh_B/pdf"/>
    <publication idref="pub-pdf"/>
</deliverable>
<deliverable id="del-pdf-bookB1" name="pdf-bookB1">
    <context idref="context-B1"/>
    <output href="olh_B/pdf"/>
    <publication idref="pub-pdf"/>
</deliverable>

This creates an olh_A/ and olh_B/ directory, with a pdf/ subdirectory inside each one for PDFs used by that particular help collection. We then place the entire set of help collections wherever we want with the --output option.

As @raducoravu mentions, newer Oxygen builds set outputdir to an "out/" directory within the Oxygen project/repository directory:

image

I had asked for this change so that Oxygen's default project file publishing behavior was consistent with its non-project-file publishing behavior (which is to put the output in an "out/" directory), and also with the DITA-OT's default publishing behavior (which is also to put the output in an "out/" directory). Otherwise, we were getting output written to inconsistent locations when we switched between Oxygen and Oxygen Publishing Engine with default settings.

Hopefully this helps!

P.S. Also, I see that #3983 is happening for you too.

stefan-jung commented 2 years ago

Great, thanks a lot @jelovirt and @raducoravu and @chrispy-snps for the detailed explanation. Then it works properly. I did not think of that these two output work together (the OT out and the deliverable out).

I'll recheck the docs and will try to send a docs PR to clarify this.