2010-07-14 5 views
3

Nous avons donc des tests unitaires écrits en groovy. Nous avons le plugin Groovy Eclipse en cours, nous avons gmaven, mais le problème est que le plugin maven eclipse n'ajoute pas automatiquement le répertoire src/test/groovy en tant que répertoire source. Donc, j'ai enrôlé le plugin build-helper pour ajouter un répertoire source, mais ensuite le problème devient le répertoire source - dans eclipse, les filtres incluront **/* .java et exclure tout le reste, ce qui conduit au plugin groovy eclipse confus. J'ai réussi à truquer le problème en utilisant l'aide à la construction de add-test-resource avec le bon filtre de fichier .groovy. Évidemment, le problème ici est qu'il n'est pas utilisable si nous avons décidé d'utiliser des classes groovy dans les projets - les classes .groovy seraient incluses dans les fichiers .jar.Obtenir groovy, maven et eclipse pour bien jouer ensemble?

Comment résoudre ce problème?

Répondre

0

Nous avons créé l'intégration m2eclipse pour Groovy-Eclipse. Tout d'abord, vous devez installer m2eclipse:

http://m2eclipse.sonatype.org/sites/m2e 

Ensuite, vous pouvez installer l'intégration Groovy-Eclipse, que vous pouvez obtenir ici:

http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.6/ 

ou ici pour Galileo:

http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.5/ 

Remarque que l'intégration de m2eclipse est toujours bêta et nous apprécions les commentaires des utilisateurs pour voir comment cela fonctionne pour eux.

+0

Ceci est une excellente suggestion et j'essaierai aussi le plugin m2eclipse. Je voulais juste aussi couvrir la possibilité que d'autres développeurs de mon équipe ne veulent pas utiliser m2eclipse ou utiliser un autre plugin maven dans eclipse. – lakemalcom

+0

Dans mon expérience, l'utilisation de m2eclipse est une bien meilleure façon de gérer vos projets maven que d'utiliser meclipse. En effet, toutes les modifications apportées à la structure de votre projet sont immédiatement répercutées dans votre espace de travail. Vous n'avez pas besoin de relancer les commandes maven pour mettre les choses à jour. –

2

J'ai jeté gmaven en faveur du groovy-compiler-plugin, qui fait que le compilateur groovy tisse pour vous. Avec gmaven j'ai fini avec trop d'erreurs de compilation bizarres où les stubs manquaient, etc. Vous avez toujours besoin du builder-helper, et le plugin Groovy Eclipse aide à lier la source aux classes compilées, mais cela a fonctionné parfaitement entre travailler dans eclipse et à la ligne de commande.

<properties> 
    <groovy.version>1.8.0</groovy.version> 
    <groovy.provider>1.7</groovy.provider> 
    </properties> 

    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>build-helper-maven-plugin</artifactId> 
     <version>1.5</version> 
     <executions> 
      <execution> 
      <id>add-source</id> 
      <phase>generate-sources</phase> 
      <goals> 
       <goal>add-source</goal> 
      </goals> 
      <configuration> 
       <sources> 
       <source>src/main/groovy</source> 
       </sources> 
      </configuration> 
      </execution> 
      <execution> 
      <id>add-test-source</id> 
      <phase>generate-test-sources</phase> 
      <goals> 
       <goal>add-test-source</goal> 
      </goals> 
      <configuration> 
       <sources> 
       <source>src/test/groovy</source> 
       </sources> 
      </configuration> 
      </execution>  
     </executions> 
     </plugin> 
    </plugins> 
    <pluginManagement> 
     <plugins> 
     <plugin> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.1</version> 
      <configuration> 
      <compilerId>groovy-eclipse-compiler</compilerId> 
      <verbose>true</verbose> 
      <source>1.6</source> 
      <target>1.6</target> 
      </configuration> 
      <dependencies> 
      <dependency> 
       <groupId>org.codehaus.groovy</groupId> 
       <artifactId>groovy-eclipse-batch</artifactId> 
       <version>1.8.0-03</version> 
      </dependency>   
      <dependency> 
       <groupId>org.codehaus.groovy</groupId> 
       <artifactId>groovy-eclipse-compiler</artifactId> 
       <version>2.5.1</version> 
       <exclusions> 
       <exclusion> 
        <groupId>org.codehaus.groovy</groupId> 
        <artifactId>groovy-eclipse-batch</artifactId> 
       </exclusion> 
       </exclusions> 
      </dependency> 
      </dependencies> 
     </plugin> 
     </plugins> 
    </pluginManagement> 
    </build> 
Questions connexes