2009-01-09 69 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