Вопрос

Мне нужно исключить Libaries (например, jquery, nockoutjs, jquerymobile и некоторые размер ...) для jshint.

Но для других целей мне все нужны.

РЕДАКТИРОВАТЬ:

Я создал 2 файла WRO, но все же это требует всех целевых групп.

WRO2.xml с utils, app wro.xml с Utils, библиотеками, приложением, jquerymobile

<plugins>
        <plugin>
            <groupId>ro.isdc.wro4j</groupId>
            <artifactId>wro4j-maven-plugin</artifactId>
            <version>1.4.1</version>
            <executions>
                <execution>
                    <id>ex1</id>
                    <goals>
                        <goal>jshint</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <!--jshint options-->
                <options>jquery,devel,evil,noarg,eqnull</options>
                <failNever>false</failNever>
                <targetGroups>utils,app</targetGroups>
                <wroFile>${basedir}/src/main/webapp/WEB-INF/wro2.xml</wroFile>
            </configuration>
        </plugin>
        <plugin>
            <groupId>ro.isdc.wro4j</groupId>
            <artifactId>wro4j-maven-plugin</artifactId>
            <version>1.4.1</version>
            <executions>
                <execution>
                    <id>ex2</id>
                    <phase>compile</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <!--compile options-->
                <targetGroups>utils,libraries,app,jQueryMobile</targetGroups>
                <minimize>true</minimize>
                <destinationFolder>${basedir}/src/main/webapp/wro/</destinationFolder>
                <cssDestinationFolder>${basedir}/target/webapp/css/</cssDestinationFolder>
                <jsDestinationFolder>${basedir}/target/webapp/js/</jsDestinationFolder>
                <contextFolder>${basedir}/src/main/webapp/</contextFolder>
                <ignoreMissingResources>false</ignoreMissingResources>
                <wroFile>${basedir}/src/main/webapp/WEB-INF/wro.xml</wroFile>
                <wroManagerFactory>ro.isdc.wro.extensions.manager.standalone.GoogleStandaloneManagerFactory</wroManagerFactory>
            </configuration>
        </plugin>
    </plugins>
Это было полезно?

Решение

У вас есть следующие варианты:

  1. Используйте отдельные группы только для обработки jshint
  2. Создайте другую модель, предоставив Wroofile для использования только для целей JSHINT
  3. Создайте пользовательскую реализацию WremanagerFactory и программно исключайте файлы, которые вы не хотите обрабатывать.

В любом случае вам придется дважды объявить плагин в pom.xml, поскольку параметры конфигурации будут отличаться.

РЕДАКТИРОВАТЬ:

Решение связано с конфигурацией выполнения Maven, а не с Wro4J-Maven-Plugin.

Таким образом, вместо того, чтобы объявлять один и тот же плагин дважды с различными конфигурациями, вы объявляете его один раз с двумя выполнениями, и каждое выполнение имеет свою собственную конфигурацию. Пример:

<plugin>
    <groupId>ro.isdc.wro4j</groupId>
    <artifactId>wro4j-maven-plugin</artifactId>
    <version>1.4.1</version>
    <executions>
      <execution>
        <id>ex1</id>
        <goals>
          <goal>run</goal>
        </goals>
        <configuration>
            <targetGroups>utils,libraries,app,jQueryMobile</targetGroups>
        </configuration>
      </execution>  
      <execution>
        <id>ex2</id>
        <goals>
          <goal>jshint</goal>
        </goals>
        <configuration>
          <options>jquery,devel,evil,noarg,eqnull</options>
          <failNever>false</failNever>
          <targetGroups>utils,app</targetGroups>
          <wroFile>${basedir}/src/main/webapp/WEB-INF/wro2.xml</wroFile>
    </configuration>            
      </execution>
    </executions>
  </plugin>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top