2009-01-09 199 views
17

對不起,我對Ant沒有太多的經驗。Eclipse,ant和自定義任務

我喜歡eclipse「Export ant buildfile」函數,但我需要插入一些自定義任務(複製文件,計算在運行時使用的校驗和等)。

如何將自定義ant任務與Eclipse導出的antfile集成?此外,一旦我這樣做了,內部構建(運行...)會選擇它,還是從現在開始,我總是必須使用外部ant文件進行構建?

哦,我不想編輯從Eclipse導出的build.xml,因爲我希望能夠稍後重新生成它。

編輯/更新:

我花了一段時間來弄清楚發生了什麼事情 - 所以我想我應該把一些注意事項在這裏澄清一下。

當您在您的目錄中創建一個新的ant文件並將<?eclipse.ant.import ?>放置在您的自定義ant腳本的第一行(我稱爲mine test.xml)時,下次將構建文件從Eclipse導出到該目錄時,看到該標籤並添加<import file="test.xml"/>

通過該導入,「定製」文件(test.xml)中的目標在導出的build.xml(或您在導出時選擇的任何名稱)中成爲有效目標。

在此之後,任何時候你選擇在Eclipse「的build.xml」,目標窗格中還將包括「的test.xml」

同樣的目標,在這之後,你可以進入你的項目屬性/建設者和添加一個類型爲「Ant Build」的新構建器,然後選擇要用於構建,清理等的目標。

+2

我曾經嘗試這樣做基於Eclipse 3.4.1和想通了,當它的名字開始建立自己的自定義生成文件只包括見。例如,build-custom.xml被正確導入,但custom_build.xml被忽略... 也許這會幫助任何人... – 2009-02-11 15:43:32

+0

與我一樣,我在Ubuntu上使用Eclipse 3.5.2,並且必須重命名我的文件建立custom.xml而不是custom-build.xml – Marthinus 2010-11-06 19:35:29

回答

13

螞蟻出口過濾器將包括在這具有特殊的

<?eclipse.ant.import?> 

元素作爲它的第一個孩子在同一目錄中的任何XML文件。

例子:

<?xml version="1.0" encoding="UTF-8"?> 
<?eclipse.ant.import?> 
<project name="project" default="default" basedir="."> 
    ... 
</project> 

現在Eclipse將包括build.xml以下行:

<import file="custom_build.xml"/> 
2

如果您編寫自己的Ant腳本,則可以編寫自己的使用Ant task委派給生成的目標build.xml

此外,您可以配置項目的「構建器」(項目屬性»構建器),以便在您手動或自動構建項目時運行任何不同的東西。

0

你可以爲這些任務有一個單獨的ant構建文件。這就是你需要的。

0

PDE提供了從生成的build.xml定製回調支持到自定義的螞蟻腳本。

從eclipse安裝中的org.eclipse.pde.build複製文件「templates/plugins/customBuildCallbacks.xml」,並在build.properties文件中設置「customBuildCallbacks = true」。

Eclipse help page