| Hello! I am using m2e managed projects with the maven antlr3 plugin. I have
    also the Antlr3 configurator installed to manage lifecycle mappings.
 As the Antlr3 plugin generates source code for parsers, I plug its
    main goal 'antlr' to the 'generate-sources' phase :
 <plugin>
 <groupId>org.antlr</groupId>
 <artifactId>antlr3-maven-plugin</artifactId>
 <version>3.4</version>
 <executions>
 <execution>
 <phase>generate-sources</phase>
 <goals>
 <goal>antlr</goal>
 </goals>
 <configuration>
 <sourceDirectory>src/main/antlr3</sourceDirectory>
 <libDirectory>src/main/antlr3/imports</libDirectory>
 <outputDirectory>src/main/java</outputDirectory>
 <printGrammar>false</printGrammar>
 <profile>false</profile>
 <report>true</report>
 <trace>false</trace>
 <verbose>true</verbose>
 <debug>false</debug>
 <dfa>false</dfa>
 <nfa>false</nfa>
 </configuration>
 </execution>
 </executions>
 </plugin>
 My problem is that when I launch a project build from the Eclipse
    IDE, the java builder is applied first and then the maven builder,
    by default. Thus compilation occurs
 before code generation, which is managed by maven.
 This cause my test classes, which have dependencies upon generated
    lexer and parser not to compile :
 
 public class Test {
 public static void main(String[] args) throws Exception {
 .....
 TLexer lexer = new TLexer(input); -> error
 ......
 TParser parser = new TParser(tokens); -> error
 parser.r();
 }
 }
 I have to build the project a second time to have the errors
    removed. As a workaround, I can modify the builder order in the
    project's properties screen  using UP or DOWN buttons.
 But every time I change my pom.xml and fire an 'Update Project
    Configuration...', the .project file, which stores the used builders
    and their application order is reset to defaults.
 Googling a little bit, I found this link
    https://issues.sonatype.org/browse/MNGECLIPSE-707, indicating that
    it's the intended behavior in order to solve a resource clean issue
    when the builder order is changed.
 I tried to issue a clean within Eclipse Indigo using 'Project ->
    Clean...' menu, and seems to work (resources and classes are
    effectively deleted), even if maven builder is set in first
    position.
 
 Is it really necessary the reset the builder's order after an
    'Update Project Configuration...' ?
 Is there another way to force m2e and maven launch code generation
    before compilation using Eclipse tooling and not the mvn command  ?
 Thanks for any answer or hint.
 
 
 |