views:

25

answers:

2

Hi i m running into some error I have a really small project in groovy. I want to use maven. I was able to compile my files, source and test(i have my .class in the target folder). But no test are executed. here is my pom file.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
 http://maven.apache.org/maven-v4_0_0.xsd"&gt;
<modelVersion>4.0.0</modelVersion>
<groupId>gmedia</groupId>
<artifactId>gmedia.api</artifactId>
<name>Gmedia API project</name>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
  <dependency>
    <groupId>org.codehaus.groovy</groupId>
    <artifactId>groovy-all</artifactId>
    <version>1.7.1</version>
    </dependency>

  <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.8.2</version>
        <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>net.sf.json-lib</groupId>
      <artifactId>json-lib</artifactId>
      <version>2.2.3</version>
      <classifier>jdk15</classifier>
    </dependency>

    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>eclipselink</artifactId>
        <version>2.0.2</version>
    </dependency>

    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>javax.persistence</artifactId>
        <version>2.0.0</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.groovy.maven</groupId>
            <artifactId>gmaven-plugin</artifactId>
            <version>1.0-rc-5</version>
            <executions>
                <execution>
                    <goals>
                      <!--<goal>generateStubs</goal>-->
                      <goal>compile</goal>
                      <!--<goal>generateTestStubs</goal>-->
                      <goal>testCompile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.0.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>
</build>
<repositories>
    <repository>
        <url>http://ftp.ing.umu.se/mirror/eclipse/rt/eclipselink/maven.repo&lt;/url&gt;
        <id>eclipselink</id>
        <layout>default</layout>
        <name>Repository for library Library[eclipselink]</name>
    </repository>
</repositories>

My groovy files are in src/groovy and test/groovy

What i'm dooing wrong?

BTW, I get compilation errors when I add this configuration:

<configuration>
    <sources>
        <fileset>
            <directory>${pom.basedir}/src/test/groovy</directory>
            <includes>
                <include>**/*.groovy</include>
            </includes>
        </fileset>
    </sources>
</configuration>
A: 

compile my file with erro when adding this to the groovy-maven-plugin

<configuration>
          <sources>
            <fileset>
              <directory>${pom.basedir}/src/test/groovy</directory>
              <includes>
                <include>**/*.groovy</include>
              </includes>
            </fileset>
          </sources>
        </configuration>
BenZen
this is not an answer. you should delete this and add the text to your question.
seanizer
A: 

Well for one thing you are using an outdated version of GMaven.

The plugin has moved to the Group Id org.codehaus.gmaven and the current version is 1.3:

<plugin>
    <groupId>org.codehaus.gmaven</groupId>
    <artifactId>gmaven-plugin</artifactId>
    <version>1.3</version>
    <executions>
        <execution>
            <goals>
                <goal>generateStubs</goal>
                <goal>compile</goal>
                <goal>generateTestStubs</goal>
                <goal>testCompile</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Also, you probably need to keep the stub goals active for JUnit to find you test classes.

See this page for reference: Buildung Groovy Projects with GMaven

Update:

If i define a test to run, it run. but with just mvn clean test, the test are compiled, but not executed

This sounds like you're not following the naming conventions for test classes.

See the first section of this page: Inclusions and Exclusions of Tests

seanizer
i follow your advices. But the result is the same. If i define a test to run, it run. but with just mvn clean test, the test are compiled, but not executed.
BenZen
@BenZen see my updated answer
seanizer
Thanks a lot.I didn't pay attention to it, cause i'm bringing this project from grails, wich use the pattern, <className>Tests.The S was my mistake.
BenZen