муравей всегда возвращает «BUILD SUCCESSFULL» также с ошибками - PullRequest
0 голосов
/ 24 января 2019

У меня есть следующий файл ant build.xml для генерации pdf с библиотекой apache xsl-fo и для просмотра выходных данных с помощью приложения okular (в Linux)

<project name="pfd-generator" default="generate-pdf" basedir=".">
    <property name="fop.home" value="/home/user/testpdf"/>
    <property name="doc.type" value="${doctype}" />

    <taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop">
        <classpath>
            <fileset dir="${fop.home}/lib">
                <include name="*.jar"/>
            </fileset>
            <fileset dir="${fop.home}/build">
                <include name="fop.jar"/>
                <include name="fop-hyph.jar" />
            </fileset>
        </classpath>
    </taskdef>

    <target name="clean">
        <delete includeemptydirs="true">
            <fileset dir="docs" includes="**/*"/>
        </delete>
    </target>

    <target name="generate-pdf" description="Generates a single PDF file">
       <fop format="application/pdf"
            xmlfile="./template_filled.xml"
            xsltfile="./templates/template_${doctype}.xsl"
            outdir="./docs"
            basedir="./templates"
            messagelevel="debug"
            outfile="mypdf_${doctype}.pdf" />
    </target>

    <target name="run" depends="generate-pdf">
        <exec executable="okular">
            <arg value="./docs/mypdf_${doctype}.pdf"/>
      </exec>
    </target>
</project>

Когда я запускаю ant -Ddoctype=TYPE2 generate-pdf, так как яу меня есть некоторые неопределенные переменные в моем файле xsl, pdf не собран, но муравей возвращает BUILD SUCCESSFUL, как прикреплено:

user@host:~/testpdf ant -Ddoctype=TYPE2 generate-pdf
Buildfile: /home/user/testpdf/build.xml

generate-pdf:
      [fop] ERROR:  'file:/home/user/testpdf/templates/template_TYPE2.xsl: line 75: Variabile o parametro 'rowheight2' non definito.'
      [fop] FATAL ERROR:  'file:/home/user/testpdf/templates/template_TYPE2.xsl: line 75: Variabile o parametro 'rowheight2' non definito.'
      [fop]            :file:/home/user/testpdf/templates/template_TYPE2.xsl: line 75: Variabile o parametro 'rowheight2' non definito.
      [fop] [ERROR] Anttask - Error rendering xml/xslt files: /home/user/testpdf/template_filled.xml, /home/user/testpdf/templates/template_TYPE2.xsl <org.apache.fop.apps.FOPException: file:/home/user/testpdf/templates/template_TYPE2.xsl: line 75: Variabile o parametro 'rowheight2' non definito.
      [...]
      [fop] Caused by: org.apache.fop.apps.FOPException: file:/home/user/testpdf/templates/template_TYPE2.xsl: line 75: Variabile o parametro 'rowheight2' non definito.
      [fop] javax.xml.transform.TransformerConfigurationException: file:/home/user/testpdf/templates/template_TYPE2.xsl: line 75: Variabile o parametro 'rowheight2' non definito.
      [fop]     at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:296)
      [...]
      [fop]     ... 24 more
      [fop] 
      [fop] xml: /home/user/testpdf/template_filled.xml, xslt: /home/user/testpdf/templates/template_TYPE2.xsl -> /home/user/testpdf/docs/mypdf_TYPE2.pdf

BUILD SUCCESSFUL
Total time: 1 second

, а также $?это 0, я могу получить СБОЙ ПОСТРОЕНИЯ, только если я запустил ant с несуществующей целью, то есть ant -Ddoctype=TYPE2 generate

Где я ошибаюсь?У меня есть скрипт, который открывает PDF, если они построены, но таким образом он открывается Okular также, если PDF не генерируется

...