2017-02-16 2 views
0

Ich bin neu in Ant. Ich versuche, zwei Eigenschaftendateien zu lesen, die erste ist statisch und die zweite wird während des Erstellungsprozesses erstellt. Siehe unten.Read Ant Eigenschaften Datei von Apache FOP generiert

Es gibt eine statische Eigenschaftendatei, die ich oben gelesen habe: ./cfg/build.properties.

Anschließend erneut eine Eigenschaftendatei in einem Ziel-Tag lesen. Der Fluss wird nachfolgend beschrieben.

Es gibt zwei Ziele, die in Sequenzen ausgeführt werden.

Zuerst versuche ich eine Eigenschaftendatei mit FOP in Ziel GENERATE_PROPERTYFILE zu erstellen.

Dann auf dem zweiten Ziel, READ_PROPERTY_FILE_GENERATE_XML, lese ich die Eigenschaft-Datei, die im ersten Schritt erstellt wurde.

Aber das Problem ist, es wählt keinen Wert für ${IssueObjects.ID} aus der zweiten Eigenschaftendatei.

Unten ist der Schnappschuss des Skripts.

<project name="fop4ant" default="run" basedir="."> 

<property file="./cfg/build.properties" prefix="System"/> 
<property environment="env"/> 

<tstamp> 
     <format property="param_TouchTimeStamp" pattern="yyyyMMddHHmmssSS"/> 
</tstamp> 
<property name="param_TouchTimeStamp" value="" /> 

<property name="prop_File_XSL_FetchProbNSolObjects" value="${System.prop_Dir_stylesheet}/${System.prop_File_Stylesheet_FetchProbSol_CNReport}" /> 

<property name="prop_File_XML" value="${System.prop_Dir_temp}/Object-${param_TouchTimeStamp}.xml" /> 
<property name="prop_File_XML_Prob" value="${System.prop_Dir_temp}/Prob-${param_TouchTimeStamp}.xml" /> 
<property name="prop_File_COIDs" value="${System.prop_Dir_temp}/probCO-${param_TouchTimeStamp}.properties" /> 

<property name="prop_Dir_FOP" value="${env.FOP_HOME}"/> 
<property name="prop_Dir_GS" value="${env.GS_HOME}"/> 

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

    <!-- @SECTION_BEGIN :: READ_PROPERTY_FILE_GENERATE_XML --> 
<target name="generate-problem-item-productview"> 
    <echo message="prop_XML_FILE_PROB :: ${prop_File_XML_Prob}" level="info" /> 
    <!--Reading dynamically created property file--> 
    <property file="$prop_File_COIDs" prefix="IssueObjects"/> 

    <exec executable="export.exe"> 
     <arg line="-xml_file=${prop_File_XML_Prob} -transfermode=${IssueObjects.ID}"> 
    </exec> 
</target> 
<!-- @SECTION_END :: READ_PROPERTY_FILE_GENERATE_XML --> 

<!-- @SECTION_BEGIN :: GENERATE_PROPERTYFILE--> 
<target name="fetch-prob-sol-items"> 
    <echo message="prop_File_XML :: ${prop_File_XML}" level="info" /> 
    <echo message="prop_File_XSL_FetchProbNSolObjects :: ${prop_File_XSL_FetchProbNSolObjects}" level="info" /> 
    <echo message="prop_File_COIDs :: ${prop_File_COIDs}" level="info" /> 

    <echo message="prop_Dir_FOP :: ${prop_Dir_FOP}/fop.bat" level="info" /> 

    <exec executable="${prop_Dir_FOP}/fop.bat"> 
     <arg value="-xml"/> 
     <arg value="${prop_File_XML}"/> 
     <arg value="-xsl"/> 
     <arg value="${prop_File_XSL_FetchProbNSolObjects}"/> 
     <arg value="-foout"/> 
     <arg value="${prop_File_COIDs}"/> 
     </exec> 
</target> 
<!-- @SECTION_END :: GENERATE_PROPERTYFILE --> 

<target name="run" depends=""> 
    <echo message="start :: run" level="info" /> 
    <antcall target="fetch-prob-sol-items" /> 
    <antcall target="generate-problem-item-productview" /> 
    <echo message="end :: run" level="info" /> 
</target> 
</project> 

Antwort

0

Im READ_PROPERTY_FILE_GENERATE_XML Abschnitt ersetzen die folgenden ...

<property file="$prop_File_COIDs" prefix="IssueObjects"/> 

... mit ...

<property file="${prop_File_COIDs}" prefix="IssueObjects"/> 

Im obigen Beispiel haben geschweiften Klammern um hinzugefügt die prop_File_COIDs Referenz.

+0

Danke, es hat funktioniert. –

Verwandte Themen