You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Jörn Guy Süß <jg...@itee.uq.edu.au> on 2007/02/14 13:32:41 UTC

Bug in compiler configuration, generated source root not passed on to compiler

Hello,

I am just trying to set up a fairly simple task, the POM is attached at the
end. I have a parser gen (SableCC), which I run through ant to make
generated sources. It runs in the appropriate phase and works. I would like
to jar-package the result, which is the default.

Here is the catch:

The configuration for the compiler is correctly determined:

[DEBUG]   (f) compileSourceRoots = [C:\Documents and
Settings\jgsuess\workspace\SMARTCat.parser\src\main\java, C:\Documents and
Settings\jgsuess\workspace\SMARTCat.parser\target\generated-sources\main\jav
a]

But when the compiler starts, it suddenly is down to:

[DEBUG] Source directories: [C:\Documents and
Settings\jgsuess\workspace\SMARTCat.parser\src\main\java]


I am using a V1.4, but I do not see why that should change anything.

IMHO this is pretty serious, but the JIRA tracking is so confusing that I
could not post it.

It looks like I will patch it and place my source in main/java, but that is
really ugly and I would like to do it right.


Jörn Guy Süß

Research Fellow

Room 350, General Purpose South Building (building 78) Division of Systems
and Software Engineering School of Information Technology and Electrical
Engineering The University of Queensland Queensland 4072 AUSTRALIA

Phone: +61 7 3365 2883; Fax: +61 7 3365 4999

email: jgsuess@itee.uq.edu.au

TRACE SNIPPET, showing the error

[DEBUG] Configuring mojo
'org.apache.maven.plugins:maven-compiler-plugin:2.0.1:compile' -->
[DEBUG]   (f) basedir = C:\Documents and
Settings\jgsuess\workspace\SMARTCat.parser
[DEBUG]   (f) buildDirectory = C:\Documents and
Settings\jgsuess\workspace\SMARTCat.parser\target
[DEBUG]   (f) classpathElements = [C:\Documents and
Settings\jgsuess\workspace\SMARTCat.parser\target\classes, C:\Documents and
Settings\jgsuess\.m2\repository\org\sablecc\sablecc\3.1\sablecc-3.1.jar,
C:\Documents and
Settings\jgsuess\.m2\repository\junit\junit\3.8.2\junit-3.8.2.jar]
[DEBUG]   (f) compileSourceRoots = [C:\Documents and
Settings\jgsuess\workspace\SMARTCat.parser\src\main\java, C:\Documents and
Settings\jgsuess\workspace\SMARTCat.parser\target\generated-sources\main\jav
a]
[DEBUG]   (f) compilerId = javac
[DEBUG]   (f) compilerVersion = 1.4
[DEBUG]   (f) debug = true
[DEBUG]   (f) executable = C:\j2sdk1.4.2_12\bin\javac
[DEBUG]   (f) fork = false
[DEBUG]   (f) includes = [generated-sources/main/java/**/*.java]
[DEBUG]   (f) optimize = false
[DEBUG]   (f) outputDirectory = C:\Documents and
Settings\jgsuess\workspace\SMARTCat.parser\target\classes
[DEBUG]   (f) outputFileName = SMARTCat-parser-1.0-SNAPSHOT
[DEBUG]   (f) projectArtifact =
au.edu.uq.itee:SMARTCat-parser:jar:1.0-SNAPSHOT
[DEBUG]   (f) showDeprecation = false
[DEBUG]   (f) showWarnings = false
[DEBUG]   (f) source = 1.4
[DEBUG]   (f) staleMillis = 0
[DEBUG]   (f) target = 1.4
[DEBUG]   (f) verbose = true
[DEBUG] -- end configuration --
[INFO] compiler:compile
[DEBUG] Using compiler 'javac'.
[DEBUG] Source directories: [C:\Documents and
Settings\jgsuess\workspace\SMARTCat.parser\src\main\java]
[DEBUG] Classpath: [C:\Documents and
Settings\jgsuess\workspace\SMARTCat.parser\target\classes
 C:\Documents and
Settings\jgsuess\.m2\repository\org\sablecc\sablecc\3.1\sablecc-3.1.jar
 C:\Documents and
Settings\jgsuess\.m2\repository\junit\junit\3.8.2\junit-3.8.2.jar]
[DEBUG] Output directory: C:\Documents and
Settings\jgsuess\workspace\SMARTCat.parser\target\classes
[INFO] Nothing to compile - all classes are up to date
[DEBUG] Configuring mojo
'org.apache.maven.plugins:maven-resources-plugin:2.2:testResources' -->
[DEBUG]   (f) filters = []
[DEBUG]   (f) outputDirectory = C:\Documents and
Settings\jgsuess\workspace\SMARTCat.parser\target\test-classes
[DEBUG]   (f) project = org.apache.maven.project.MavenProject@59cde8a7
[DEBUG]   (f) resources = [org.apache.maven.model.Resource@ad97f5]
[DEBUG] -- end configuration --



<?xml version="1.0"?>
<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>au.edu.uq.itee</groupId>

  <artifactId>SMARTCat-parser</artifactId>

  <name>SMARTCat parser built on sable</name>

  <version>1.0-SNAPSHOT</version>

  <url>http://itee.uq.edu.au/~mdavv</url>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>3.8.2</version>
    </dependency>

    <dependency>
      <groupId>org.sablecc</groupId>

      <artifactId>sablecc</artifactId>

      <version>3.1</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-compiler-plugin</artifactId>

        <configuration>
          <verbose>true</verbose>

          <fork>true</fork>

          <executable>C:\j2sdk1.4.2_12\bin\javac</executable>

          <compilerVersion>1.4</compilerVersion>

          <source>1.4</source>

          <target>1.4</target>

          <includes>
            <include>generated-sources/main/java/**/*.java</include>
          </includes>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>

        <executions>
          <execution>
            <phase>generate-sources</phase>

            <configuration>
              <tasks>
                <taskdef
                classname="org.sablecc.ant.taskdef.Sablecc"
                name="sablecc">
                  <classpath refid="maven.plugin.classpath" />
                </taskdef>

                <sablecc src="src/main/sablecc"
                outputdirectory="generated-sources/main/java" />
              </tasks>

              <sourceRoot>
 
${project.build.directory}/generated-sources/main/java</sourceRoot>
            </configuration>

            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>

        <dependencies>
          <dependency>
            <groupId>org.sablecc</groupId>

            <artifactId>sablecc</artifactId>

            <version>3.1</version>
          </dependency>

          <dependency>
            <groupId>org.sablecc</groupId>

            <artifactId>sablecc-anttask</artifactId>

            <version>1.0.1</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>
</project>




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org