project.build.directory not set properly for plugins
----------------------------------------------------

                 Key: MNG-4083
                 URL: http://jira.codehaus.org/browse/MNG-4083
             Project: Maven 2
          Issue Type: Bug
          Components: Settings
    Affects Versions: 2.0.10, 2.0.9
         Environment: Windows XP
            Reporter: Jim McCaskey
            Priority: Minor


Maven 2.0.9 and above do not seem to set project.build.directory properly in 
down stream plugins.  I have the below test case that shows the problem in the 
ant plugin, but I have also seen in in the javadoc plugin.  Below is my test 
case and the results as seen from 2.0.7, 2.0.8, 2.0.9, and 2.0.10.

Test POM:

<?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";>

  <modelVersion>4.0.0</modelVersion>
  <groupId>test</groupId>
  <artifactId>test</artifactId>
  <packaging>jar</packaging>
  <version>1.0.0</version>
  <name>Foo</name>
  <properties>
    <djobj>E:\obj</djobj>
  </properties>
  <build>
    <defaultGoal>package</defaultGoal>
    <outputDirectory>${djobj}/${project.artifactId}/classes</outputDirectory>
    
<testOutputDirectory>${djobj}/${project.artifactId}/test-classes</testOutputDirectory>
    <directory>${djobj}/${project.artifactId}</directory>
    <plugins>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <configuration>
              <tasks>
                <echo message="Debug data"/>
                <echo message="basedir                             = 
${basedir}"/>
                <echo message="djobj                               = ${djobj}"/>
                <echo message="project.build.sourceDirectory       = 
${project.build.sourceDirectory}"/>
                <echo message="project.build.scriptSourceDirectory = 
${project.build.scriptSourceDirectory}"/>
                <echo message="project.build.testSourceDirectory   = 
${project.build.testSourceDirectory}"/>
                <echo message="project.build.outputDirectory       = 
${project.build.outputDirectory}"/>
                <echo message="project.build.testOutputDirectory   = 
${project.build.testOutputDirectory}"/>
                <echo message="project.build.directory             = 
${project.build.directory}"/>
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>



Test output:

Maven 2.0.7

[INFO] [antrun:run {execution: default}]
[INFO] Executing tasks
     [echo] Debug data
     [echo] basedir                             = E:\foo
     [echo] djobj                               = E:\obj
     [echo] project.build.sourceDirectory       = E:\foo\src\main\java
     [echo] project.build.scriptSourceDirectory = src/main/scripts
     [echo] project.build.testSourceDirectory   = E:\foo\src\test\java
     [echo] project.build.outputDirectory       = E:\obj/test/classes
     [echo] project.build.testOutputDirectory   = E:\obj/test/test-classes
     [echo] project.build.directory             = E:\obj/test
[INFO] Executed tasks

Maven 2.0.8

[INFO] [antrun:run {execution: default}]
[INFO] Executing tasks
     [echo] Debug data
     [echo] basedir                             = E:\foo
     [echo] djobj                               = E:\obj
     [echo] project.build.sourceDirectory       = E:\foo\src\main\java
     [echo] project.build.scriptSourceDirectory = src/main/scripts
     [echo] project.build.testSourceDirectory   = E:\foo\src\test\java
     [echo] project.build.outputDirectory       = E:\obj/test/classes
     [echo] project.build.testOutputDirectory   = E:\obj/test/test-classes
     [echo] project.build.directory             = E:\obj/test
[INFO] Executed tasks

Maven 2.0.9

[INFO] [antrun:run {execution: default}]
[INFO] Executing tasks
     [echo] Debug data
     [echo] basedir                             = E:\foo
     [echo] djobj                               = E:\obj
     [echo] project.build.sourceDirectory       = E:\foo\src\main\java
     [echo] project.build.scriptSourceDirectory = src/main/scripts
     [echo] project.build.testSourceDirectory   = E:\foo\src\test\java
     [echo] project.build.outputDirectory       = E:\foo\E:\obj\test\classes
     [echo] project.build.testOutputDirectory   = 
E:\foo\E:\obj\test\test-classes
     [echo] project.build.directory             = E:\foo\E:\obj\test
[INFO] Executed tasks

Maven 2.0.10

[INFO] [antrun:run {execution: default}]
[INFO] Executing tasks
     [echo] Debug data
     [echo] basedir                             = E:\foo
     [echo] djobj                               = E:\obj
     [echo] project.build.sourceDirectory       = E:\foo\src\main\java
     [echo] project.build.scriptSourceDirectory = src/main/scripts
     [echo] project.build.testSourceDirectory   = E:\foo\src\test\java
     [echo] project.build.outputDirectory       = E:\foo\E:\obj\test\classes
     [echo] project.build.testOutputDirectory   = 
E:\foo\E:\obj\test\test-classes
     [echo] project.build.directory             = E:\foo\E:\obj\test
[INFO] Executed tasks





-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to