2010-06-28

The Maven Way (continued)

I am trying to migrate a Java application built by Ant to Maven2. among other the build perform the following operations: 1) Running a javadoc doclet to find annotated Java files to be externalize later as web services 2) compile a small part of the code for step 3 3) run Axis java2wsdl on the compiled code from step 2 4) produce java code with wsdl2java on the wsdl files from step 3 5) compile the entire code when trying to "mavenize" the process I can accomplish each task at a time but fail to achieve them all in that order.
Steps 2-3/4 sound like they should be in a separate module. If you move them to a separate module (or two) you can leave things like the compiler plugin bound to the compile phase. By trying to keep things as a single module you are fighting Maven.... and that is not "the Maven Way"... you will have a much easier time if you give in and put them in a separate module.
© Re: How to perform ordered tasks in Maven2 build;
В самом деле, этот функционал уже два с половиной года делают (притом регулярно порядок выполнения плагинов менялся, я сам обжегся при переходе на 2.0.9). Скорее всего любая идея по реализации упорядоченного выполнения плагинов вызывает такие бурления в среде разработчиков, что ничего определенного (пусть бы и не такого умного как антовские зависимости таргетов) не будет еще очень долго. Даже этот тред весьма показателен: после совета в нижней цитате ничего дельного не сказали - но пофлеймили очень хорошо.

В общем, мое мнение в целом не поменялось - "плакали, кололись, но продолжали...". Ничего лучше интегрированного с метаданными проекта и зависимостей пока вроде бы не придумали. Достаточно сделать в продукте несколько killer features, и несколько достаточно серьезных просчетов в юзабельности можно попросту игнорировать.

No comments: