Я пытаюсь выполнить сборку npm из maven, но у меня возникают проблемы с получением правильных аргументов командной строки.
Я использую следующий фрагмент
<execution>
<id>npm run build (compile)</id>
<goals>
<goal>exec</goal>
</goals>
<phase>compile</phase>
<configuration>
<executable>npm</executable>
<workingDirectory>${my.source.directory}</workingDirectory>
<arguments>
<argument>run</argument>
<argument>build</argument>
<argument>--base-href</argument>
<argument>/my-base-href/</argument>
</arguments>
</configuration>
</execution>
Я пыталсянесколько вариантов <argument>
, но ни один из них не работает.
<argument>--base-href</argument>
<argument>/my-base-href/</argument>
or
<argument>-base-href</argument>
<argument>/my-base-href/</argument>
or
<argument>"--base-href"</argument>
<argument>/my-base-href/</argument>
or
<argument><![CDATA[--base-href]]></argument>
<argument>/my-base-href/</argument>
or
<commandlineArgs>run build --base-href /my-base-href/</commandlineArgs> (instead of <arguments>)
leads to
$ npm build "/my-base-href/"
problem: missing '--base-href'
<argument>"--base-href /my-base-href/"</argument>
leads to
$ npm build
problem: missing '--base-href "/my-base-href/"'
<argument>‐‐base-href</argument>
<argument>/my-base-href/</argument>
leads to
problem: pom error, could not resolve entity named 'hyphen' (same with ‐)
<argument>\-\-base-href</argument>
<argument>/my-base-href/</argument>
leads to
$ ng build "\-\-base-href" "/my-base-href/"
problem: escape chars ending up in command
Что здесь происходит?Почему maven использует аргумент, начинающийся с --
, и как мне сделать его менее вкусным?
(Пробовал с windows 8.1, maven 3.3.9 и 3.5.4, плагин exec 1.3.9 и 1.6.0)