2010-06-10 138 views
1

有誰知道使用mxmlc Flex Ant任務與用戶定義的源或庫路徑列表的方式嗎?具有任意源/源路徑列表的Ant MXMLC任務?

用戶應該能夠在Ant屬性文件中定義源和/或庫(.swc)路徑的任意列表,並且構建文件可以在mxmlc任務中使用這些值。

是否有任何技巧(也許使用過濾/字符串替換)來得到這個工作?

回答

1

不知道這是否會有所幫助,但你可以include an external XML in your Ant build file

<?xml version="1.0" ?> 
<project name="test" default="test" basedir="."> 

    <target name="setup"> 
    ... 
    </target> 

    <import file="./common.xml" /> 

</project> 

我跑過你的問題,尋找一種方法來定義外部文件中的庫(和源路徑)定義。循環遍歷定義的屬性列表似乎對我來說有些問題,因爲您可能必須定義庫的列表路徑以及列表中每個已定義路徑中的文件的子列表。

似乎包括定義庫和各種源路徑的外部文件可能是一種更好,也是可擴展的方式。

0

我不知道是否可以從屬性文件中完成它。

您可以在Ant腳本使用:

<source-path> 
    <source-path path-element="my/src/dir" /> 
</source-path> 
<library-path dir="my/libs/dir" append="true"> 
    <include name="*.swc" /> 
</library-path> 

也許開發一些螞蟻模塊從你的屬性文件中模擬這種。

爲什麼你想使你的屬性文件動態我不明白,這是你的build.xml的作用正常,但是,嘿:)

+0

我不想讓屬性文件變爲動態。我試圖創建一個'相對'的通用構建文件組合,其中用戶只更改屬性文件中的值,並且可以保持build.xml不變。但就目前來看,似乎沒有辦法在屬性文件中定義任意源/庫路徑列表,然後讓構建文件以某種方式評估它們並將它們提供給編譯任務。我希望Ant語法有一些方法來遍歷屬性,但因爲這似乎不可能我正在尋找一種解決方法。 – BadmintonCat 2010-06-19 11:40:47

1

他們的方式我這樣做,是我的名單源路徑,庫路徑等,在外部mxmlc的配置文件(比如flex-config.xml中),我更多或更少通用build.xml文件只是做

<mxmlc file="${app.mainClass}" output="${swf}"> 
    <load-config filename="${air.sdk.config}" /> 
    <load-config filename="${app.config}" /> 
</mxmlc> 

其中air.sdk.config指向SDK的默認配置xml,app.config是應用程序的自定義配置xml。