maven Build Lifecycle с механизмом приложений Google и набором веб-инструментов Google - PullRequest
0 голосов
/ 13 января 2012

Maven имеет следующие шаги жизненного цикла по умолчанию:

validate - validate the project is correct and all necessary information is available
compile - compile the source code of the project
test - test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed
package - take the compiled code and package it in its distributable format, such as a JAR.
integration-test - process and deploy the package if necessary into an environment where integration tests can be run
verify - run any checks to verify the package is valid and meets quality criteria
install - install the package into the local repository, for use as a dependency in other projects locally
deploy - done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.

Плагин maven gwt поддерживает: gwt: compile

Плагин maven gae поддерживает: gae: deploy

Но два нижних не являются частью жизненного цикла maven по умолчанию (по крайней мере, из нашего pom). Итак, на нашей сборочной машине, что мы должны на ней запустить?

В настоящее время мы запускаем "mvn test gwt: compile gae: deploy". Это правильно?

1 Ответ

3 голосов
/ 13 января 2012

Многие плагины не подключаются к жизненному циклу по умолчанию, потому что они делают «странные» вещи, которые обычно бесполезны. Например, компилятор GWT занимает много времени.

Если вы хотите добавить такие плагины в фазу, используйте блок execution ( details ):

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>gwt-maven-plugin</artifactId>
    <version>2.4.0</version>
    <executions>
      <execution>
        <phase>compile</phase>
        <goals>
          <goal>compile</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

Это вызовет цель compile плагина во время фазы compile.

Обратите внимание, что для плагина GWT phase является необязательным; если вы вызываете compile, плагин будет делать правильные вещи.

deploy немного сложнее из-за оставшихся фаз: пакет слишком ранний, он должен быть после test и до install. Так что для deploy вы можете экспериментировать с разными фазами. Если ничего не получается, вам все равно нужно позвонить mvn test gae:deploy

...