Subprojects using m2 dependency plugin causes release:prepare to fail
---------------------------------------------------------------------

                 Key: MDEP-64
                 URL: http://jira.codehaus.org/browse/MDEP-64
             Project: Maven 2.x Dependency Plugin
          Issue Type: Bug
         Environment: winxp
            Reporter: Harold Shinsato
         Assigned To: Brian Fox


We have a project with a few sub-projects.  Only one of those subprojects uses 
the maven-dependency-plugin, copying the jar file artifact from one of the 
sibling sub-projects.  The dependency plugin has worked fine in another 
multi-project m2 buld and release when the dependency copy was only referencing 
projects outside the multi-project's project tree.

But in the present multi-project release, copying that sibling jar file with 
the dependency plugin causes the mvn release:prepare step to fail, because it 
can't find the released version in the release repository.  It doesn't care 
about referencing sibling project dependencies from the regular pom 
dependencies, it only chokes for the dependency:copy.

Here's a diagram for the issue with three pseudo-poms.  I omitted groupId's, 
scm, distributionManagement, and other content from the poms that were not 
necessary to communicate the basic issue.  I've worked around this by using the 
antrun plugin, which is unpleasant and untidy.  This seems like it might be 
related to MDEP-44.

superproject/
    A/   -> no dependencies
    B/   -> dependency:copy A


//superproject/pom.xml (abbrieviated)
<project>
  <artifactId>superproject</artifactId>
  <packaging>pom</packaging>
  <version>1.0.0.1-SNAPSHOT</version>
  <modules>
    <module>A</module>
    <module>B</module>
  </modules>
</project>


// superproject/A/pom.xml (abbrievated)
<project>
  <parent>
    <artifactId>superproject</artifactId>
    <version>1.0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>A</artifactId>
  <version>1.0.0.1-SNAPSHOT</version>
</project>


// superproject/B/pom.xml (abbreviated)
<project>
  <parent>
    <artifactId>superproject</artifactId>
    <version>1.0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>B</artifactId>
  <packaging>war</packaging>
  <version>1.0.0.1-SNAPSHOT</version>

  <build>
    <finalName>FooWar</finalName>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>copy</id>
            <goals>
              <goal>copy</goal>
            </goals>
            <phase>package</phase>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <artifactId>A</artifactId>
                  <version>${pom.version}</version>
                  <type>jar</type>
                </artifactItem>
              </artifactItems>
              
<outputDirectory>${project.build.directory}/${pom.build.finalName}/jars</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <artifactId>A</artifactId>
      <version>${pom.version}</version>
    </dependency>
  </dependencies>
</project>

The error message during mvn release:prepare is basically:
    [INFO] Building B
    [INFO]    task-segment: [clean, integration-test]
    [INFO] 
----------------------------------------------------------------------------
    [INFO] [clean:clean] <skip deleting directories>
    [INFO] [dependency:copy {execution: copy}]
    [INFO] Configured Artifact: <groupId>:A:null:1.0.0.1:jar
    Downloading: <details>/1.0.0.1/A-1.0.0.1.jar
    [WARNING] Unable to get resource from repository sizzle (<our repository 
details>)
    [INFO] 
------------------------------------------------------------------------
    [ERROR] BUILD ERROR
    [INFO] 
------------------------------------------------------------------------
    [INFO] Failed to resolve artifact.

    GroupId: <groupId>
    ArtifactId: A
    Version: 1.0.0.1

    Reason: Unable to download the artifact from any repository


-- 
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