Próbuję skonfigurować program maven do uruchamiania preprocesora LESS CSS w katalogu w moim projekcie WWW. Podstawowy przepływ to:Wywołanie foreach w wtyczce maven-antrun
- Maven nazywa wtyczkę maven-antrun.
- Ant-contrib
<foreach/>
wykonuje pętlę w katalogu i znajduje wszystkie pliki .less i wywołuje cel. - Cel wykonuje Rhino, który wykonuje LESS, który konwertuje plik.
Aby to zrobić, mam następujące XML:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>compile</phase>
<configuration>
<target name="processLessFile">
<!-- ... -->
</target>
<target name="main">
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="maven.plugin.classpath"/>
<property name="css.dir" location="src/main/webapp/css"/>
<foreach param="file" target="processLessFile">
<fileset dir="${css.dir}">
<filename name="**/*.less" />
</fileset>
</foreach>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>ant</groupId>
<artifactId>ant-contrib</artifactId>
<version>1.0b2</version>
</dependency>
</dependencies>
</plugin>
Problem mam napotykając jest to, że "główny" target rozpoczyna realizację ale nie w <foreach>
:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (default) on project model-web-project: An Ant BuildException has occured: The following error occurred while executing this line:
[ERROR] /Users/.../pom.xml:4: Unexpected element "{http://maven.apache.org/POM/4.0.0}project" {antlib:org.apache.tools.ant}project
[ERROR] around Ant part ...<foreach param="file" target="processLessFile">... @ 6:50 in /Users/.../target/antrun/build-main.xml
[ERROR] -> [Help 1]
Wygląda na to, że coś w Ant spowodowało, że spróbował odczytać plik POM, prawdopodobnie szukając celu. Widzę, że oba cele zostały wygenerowane w plikach target/antrun/build-main.xml i target/antrun/build-processLessFile.xml, więc jest to katalog, w którym powinien się znaleźć.
Masz na myśli raczej anty-contrib niż ant-collab, prawda? –
Dzięki, ciągle piszę to źle. –