[ 
https://jira.codehaus.org/browse/MDEP-98?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=280566#comment-280566
 ] 

Stevo Slavic commented on MDEP-98:
----------------------------------

I've reproduced this using attached surefire test case. [1] is relevant build 
log with error when running just {{mvn site}}.

With this command one runs {{site}} phase of {{site}} lifecycle to which by 
default {{maven-site-plugin}} {{site} goal is bound to. Site plugin site goal 
runs {{test}} phase of default lifecycle. {{package}} phase, to which assembly 
of jar module zip archive with bin classifier is bound, will not be triggered 
by this test phase execution, but {{process-resources}} in war module, to which 
unpacking of that bin/zip is bound, will be triggered. IMO it's wrong that 
dependency plugin manages to resolve jar module from reactor - it should try to 
resolve one with bin classifier (and not main jar module), and in that case I'd 
expect build to fail with missing dependency reported since jar module with bin 
classifier creation has not been triggered and thus it's not attached to the 
build.

It's strange to me also that if you run "mvn package" as one build, and then 
"mvn site" as separate build that dependency plugin in "site" build will be 
able to resolve jar module bin classifier artifact and unpack it even though 
it's not installed on any repository nor is it in reactor of "site" build. 
Looks like a bug too, again related to resolving dependencies.


[1] build log
{noformat}
[INFO] ------------------------------------------------------------------------
[INFO] Building MDEP-98 test case - WAR 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-site-plugin:3.0:site (default-site) @ mdep98-testcase-web ---
[INFO] configuring report plugin 
org.apache.maven.plugins:maven-project-info-reports-plugin:2.4
[INFO] configuring report plugin 
org.apache.maven.plugins:maven-surefire-report-plugin:2.10
[INFO]
[INFO] >>> maven-surefire-report-plugin:2.10:report-only (report:report-only) @ 
mdep98-testcase-web >>>
[INFO]
[INFO] <<< maven-surefire-report-plugin:2.10:report-only (report:report-only) @ 
mdep98-testcase-web <<<
[INFO]
[INFO] >>> maven-surefire-report-plugin:2.10:report (report:report) @ 
mdep98-testcase-web >>>
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ 
mdep98-testcase-web ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, 
i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-dependency-plugin:2.1:unpack (default) @ mdep98-testcase-web 
---
[INFO] Configured Artifact: foo.bar:mdep98-testcase-jar:bin:1.0.0-SNAPSHOT:zip
[INFO] Unpacking 
D:\temp\mdep89\mdep98-testcase-parent\mdep98-testcase-jar\target\classes to
  
D:\temp\mdep89\mdep98-testcase-parent\mdep98-testcase-web\target\mdep98-testcase-web-1.0.0-SNAPSHOT\webstart
   with includes null and excludes:null
org.codehaus.plexus.archiver.ArchiverException: The source must not be a 
directory.
        at 
org.codehaus.plexus.archiver.AbstractUnArchiver.validate(AbstractUnArchiver.java:174)
        at 
org.codehaus.plexus.archiver.AbstractUnArchiver.extract(AbstractUnArchiver.java:107)
        at 
org.apache.maven.plugin.dependency.AbstractDependencyMojo.unpack(AbstractDependencyMojo.java:260)
        at 
org.apache.maven.plugin.dependency.fromConfiguration.UnpackMojo.unpackArtifact(UnpackMojo.java:122)
        at 
org.apache.maven.plugin.dependency.fromConfiguration.UnpackMojo.execute(UnpackMojo.java:95)
        at 
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions(MojoExecutor.java:365)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeForkedExecutions(DefaultLifecycleExecutor.java:175
)
        at 
org.apache.maven.reporting.exec.DefaultMavenReportExecutor.buildReportPlugin(DefaultMavenReportExecutor.java:
282)
        at 
org.apache.maven.reporting.exec.DefaultMavenReportExecutor.buildMavenReports(DefaultMavenReportExecutor.java:
148)
        at 
org.apache.maven.plugins.site.AbstractSiteRenderingMojo.getReports(AbstractSiteRenderingMojo.java:240)
{noformat}

> The source must not be a directory
> ----------------------------------
>
>                 Key: MDEP-98
>                 URL: https://jira.codehaus.org/browse/MDEP-98
>             Project: Maven 2.x Dependency Plugin
>          Issue Type: Bug
>          Components: unpack-dependencies
>    Affects Versions: 2.0-alpha-4
>         Environment: Windows XP Professional SP2
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
> Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode, sharing)
>            Reporter: Pablo Muñiz
>            Assignee: Brian Fox
>         Attachments: MDEP-98-ITs.patch, 
> mdep98-testcase-parent-with-surefire.zip, mdep98-testcase-parent.zip
>
>
> Using maven-dependency-plugin in a multimodule project inside a module wich 
> has a dependency with another module in the same project the next error 
> ocurrs : 
> org.codehaus.plexus.archiver.ArchiverException: The source must not be a 
> directory.
>         at 
> org.codehaus.plexus.archiver.AbstractUnArchiver.validate(AbstractUnArchiver.java:98)
>         at 
> org.codehaus.plexus.archiver.AbstractUnArchiver.extract(AbstractUnArchiver.java:84)
>         at 
> org.apache.maven.plugin.dependency.AbstractDependencyMojo.unpack(AbstractDependencyMojo.java:232)
>         at 
> org.apache.maven.plugin.dependency.UnpackDependenciesMojo.execute(UnpackDependenciesMojo.java:72)
>         at 
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:443)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
>         at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:272)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>         at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>         at 
> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>         at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> [INFO] 
> ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Error unpacking file: 
> c:\D\desarrollo\proyectos\plataforma\platform-core\target\classes to: 
> c:\D\desarrollo\proyectos\plataforma\platform-bundle\platform-bundle-jar\target\classes
> org.codehaus.plexus.archiver.ArchiverException: The source must not be a 
> directory.
> Project structure is as follows:
> plataforma
>     - platform-core
>     - platform-bundle
>           - platform-bundle-jar
>           - platform-bundle-src
> and the error happens on executing any goal from parent pom. 
> maven-dependency-plugin seems to receive a reference to target/classes 
> directory for platform-core dependency instead of the URL to my local 
> repository where platform-core is located.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to