Нашият процес на изграждане изгражда няколко продукта от сравнително малък набор от добавки. За да задействаме изграждането, имаме Ant файл, който просто итерира през имената на продуктите, така:
<for list="all,client1,client1_64,client2,client2_64,rob" param="feature">
<sequential>
<java jar="${eclipse.launcher}" fork="true" dir="${basedir}" failonerror="true">
<arg value="-application" />
<arg value="org.eclipse.ant.core.antRunner" />
<arg value="-buildfile" />
<arg value="${eclipse.pde.build}/scripts/productBuild/productBuild.xml" />
<arg value="-DbaseLocation=${eclipse.dir}" />
<arg value="-Dproduct=${feature.dir}/@{feature}/my.product" />
<arg value="-DbuildLabel=@{feature}-${build.timestamp}" />
<arg value="-DbuildId=My_@{feature}_${release.name}-${build.timestamp}" />
<arg value="-Dtimestamp=${release.name}-${build.timestamp}" />
<arg value="-DbuildDirectory=${build.dir}" />
</java>
</sequential>
</for>
Може би не е изненадващо, че „всичкият“ продукт включва всеки един от нашите плъгини, а останалите някои подгрупи. Проблемът ми е, че всяка итерация през този цикъл прекомпилира и пакетира всеки плъгин, изхвърляйки работата, която е била извършена преди това. Не е голяма работа за няколко продукта, но сега по-голямата част от времето ни за компилиране прекарваме в прекомпилиране и опаковане на добавки.
Може ли някой да ме насочи към по-добър начин да накарам процеса на изграждане да изгражда приставки само веднъж, тъй като всички тези продукти са пакетирани?