2013-04-02 40 views
0

我必須創建一個將目標組件添加到zip的螞蟻目標。問題是我沒有總是定義組件的版本。例如:Ant:僅在定義路徑時纔將文件添加到zip文件

<zip destfile="${dist.dir}\result-${result-version}.zip"> 
     <fileset dir="${dist.dir}" includes="maincomponent-${maincomponenet-version}*.jar"/> 
     <fileset dir="${second-componenet-folder}" includes="${second-component-version}.jar" /> 
    </zip> 

如何添加,如果沒有定義second-component-version屬性,將創建與主要成分的zip一些條件?

回答

2

使用Conditionissetconditions):

<target name="zip"> 
    <fileset id="main" dir="${dist.dir}" includes="maincomponent-${maincomponenet-version}.jar" /> 
    <fileset id="component" dir="${second-componenet-folder}" includes="${second-component-version}.jar" /> 
    <condition property="jar.file" value="component" else="main"> 
     <isset property="second-component-version"/> 
    </condition> 
    <zip destfile="${dist.dir}/result-${result-version}.zip"> 
     <fileset refid="${jar.file}" /> 
    </zip> 
</target> 
+0

將這個附加這兩個文件,如果第二組件的版本被送至? –

+0

不,它將使用一個文件集或另一個文件集,而不是兩個 – Alex

+0

如果第二個組件被定義,並且只有第二個變量未被設置時才包含主體,那麼是否容易更改?我有很多組件要用這種方式添加 –

相關問題