9

In my pom.xml I have frontend-maven-plugin.

<plugin>
    <groupId>com.github.eirslett</groupId>
    <artifactId>frontend-maven-plugin</artifactId>
    <version>1.4</version>

    <configuration>
        <nodeVersion>v6.11.0</nodeVersion>
        <npmVersion>3.10.10</npmVersion>
        <workingDirectory>src/main/frontend</workingDirectory>
    </configuration>

    <executions>
        <execution>
            <id>install node and npm</id>
            <goals>
                <goal>install-node-and-npm</goal>
            </goals>
        </execution>
        <execution>
            <id>npm install</id>
            <goals>
                <goal>npm</goal>
            </goals>
        <execution>
        <execution>
            <id>npm run build</id>
            <goals>
                <goal>npm</goal>
            </goals>

            <configuration>
                <arguments>run build</arguments>
            </configuration>
        </execution>
    </executions>
</plugin>

It takes some time to run it and don't need this plugin when I run tests.

Is it possible to not execute the plugin when I run mvn test?

htshame
  • 6,599
  • 5
  • 36
  • 56

2 Answers2

24

The frontend-maven-plugin now has specific keys to disable execution of particular goals. For example, adding system property skip.npm will skip npm execution. You can add it when running maven this way:

mvn test -Dskip.npm
mvmn
  • 3,717
  • 27
  • 30
  • This does not seem to work if the `` in the POM has defined `false` in its `` :-( – msa Jun 24 '21 at 18:18
2

did you heard about maven profile? http://maven.apache.org/guides/introduction/introduction-to-profiles.html

I understand that when you want to test a package, you don't want to build a bigger one.

You could define a profile that choose exactly what module you want to build and test.

You have a related question there:

Disable maven plugins when using a specific profile

Let us know if it helped you!

Luc
  • 1,393
  • 1
  • 6
  • 14