Varsayılan yapının hızdan bağımsız olarak her şeyi her zaman inşa etmesini istediğinizi varsayıyorum, böylece yeni geliştiriciler POM hakkında çok şey anlamak zorunda kalmadan hızlı bir şekilde başlayabilirler. Bunun gibi profilleri kullanabilirsiniz:
<modules>
<module>common</module>
<module>foo</module>
<module>bar</module>
</modules>
...
<profiles>
<profile>
<id>expensive-modules-to-build</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>data</module>
</modules>
</profile>
</profiles>
</project>
Bununla ilgili sorun, bir geliştiricinin komut satırında başka bir profil belirlemesi durumunda bu profilin expensive-modules-to-build
dahil edilmemesidir (geliştirici de belirtmedikçe). Bu, hangi profillerin dahil edilmesi gerektiğini hatırlamayı karmaşık hale getirir.
İşte bunun etrafından dolaşan bir yol. Her iki profil de dahil edilir çünkü pom.xml dosyası her zaman mevcuttur. Bu yüzden pahalı modülleri dışlamak -P!full-build
için komut satırında kullanabilirsiniz.
<profiles>
<profile>
<id>full-build</id>
<activation>
<file>
<exists>pom.xml</exists>
</file>
</activation>
<modules>
<module>data</module>
</modules>
</profile>
<profile>
<id>short-build</id>
<activation>
<file>
<exists>pom.xml</exists>
</file>
</activation>
<modules>
<module>common</module>
<module>foo</module>
<module>bar</module>
</modules>
</profile>
</profiles>