我想通過使用GMaven(Maven插件用於在POM中內聯執行Groovy)來執行build.xml(Ant構建文件)。由於我不得不使用maven-antrun-plugin多次執行構建文件。構建文件正在不斷變化,並且從合作伙伴項目中獲得,而且幾乎沒有變化這就是爲什麼我不想將邏輯放入其他環境(常規代碼或Maven配置)的原因。如何設置Groovy Antbuilder的build.xml?
我從xml文件中獲取屬性列表(環境和計算機名稱,這些名稱在數量和名稱上可能會有很大的不同,我不介意這些內容),並希望爲每個機器執行ant構建。我在javadoc中找到了executeTarget方法,但沒有找到如何設置構建文件的位置。我該怎麼做 - 這足夠嗎?
我有如下所示:
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<executions>
<execution>
<id>some ant builds</id>
<phase>process-sources</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
def ant = new AntBuilder()
def machines = new XmlParser().parse(new File(project.build.outputDirectory + '/MachineList.xml'));
machines.children().each {
log.info('Creating machine description for ' + it.Id.text() + '/' + it.Environment.text());
ant.project.setProperty('Environment',it.Environment.text());
ant.project.setProperty('Machine',it.Id.text());
// What's missing?
ant.project.executeTarget('Tailoring');
}
log.info('Ant has finished.')
</source>
</configuration>
</execution>
</executions>
</plugin>
這不是一個選項,機器和環境相差太多投入他們成模塊。無論如何,謝謝你的回答! – Jan 2010-05-06 06:56:54