Как уменьшить размер отфильтрованного файла javascript с помощью maven?

У меня есть файл javascript, который используется для отслеживания событий с помощью Google Analytics. Я создал разные учетные записи для промежуточной и производственной среды. Сценарий для вызова кода GA имеет место для идентификатора моей учетной записи. Идентификаторы учетных записей указаны в файлах фильтров. Используя элемент webResources в плагине maven-war, мы можем успешно заменить свойство в окончательном файле WAR.

Теперь, мы также используем плагин maven-yuicompressor для минимизации и агрегирования всех наших файлов javascript. Проблема в том, что если я присоединяю выполнение цели минификации к фазе пакета, WAR создается до того, как Javascript будет минифицирован. Если я прикрепляю цель минификации к чему-либо ранее, фильтр не применялся до момента минификации, создавая недопустимый файл.

Итак, я ищу способ запустить цель минификации между плагином WAR, копирующим отфильтрованный JS файлы и создание файла WAR. Вот соответствующие части моего pom.xml:

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1.1</version>
            <configuration>
              <webResources>
                <resource>
                  <directory>src/main/webapp/js</directory>
                  <targetPath>js</targetPath>
                  <filtering>true</filtering>
                </resource>
              </webResources>
            </configuration>
          </plugin>
          <plugin>
            <groupId>net.alchim31.maven</groupId>
            <artifactId>yuicompressor-maven-plugin</artifactId>
            <version>1.1</version>
            <executions>
              <execution>
                <goals>
                  <goal>compress</goal>
                </goals>
                <phase>package</phase>
              </execution>
            </executions>
            <configuration>
              <linebreakpos>-1</linebreakpos>
              <nosuffix>true</nosuffix>
              <force>true</force>
              <aggregations>
                <aggregation>
                  <output>${project.build.directory}/${project.build.finalName}/js/mysite-min.js</output>
                  <inputDir>${project.build.directory}/${project.build.finalName}/js</inputDir>
                  <includes>
                    <include>jquery-1.4.2.js</include>
                    <include>jquery-ui.min.js</include>
                    <include>ga-invoker.js</include>
                  </includes>
                </aggregation>
              </aggregations>
            </configuration>
          </plugin>
14
задан lanoxx 1 October 2013 в 14:55
поделиться