everit-org / eosgi-maven-plugin

A Maven plugin that runs Integration Tests inside OSGi containers and collects OSGi Bundle dependencies to be able to use them inside any IDE.
Apache License 2.0
4 stars 5 forks source link

Exception if non-bundle dependency is in the workspace #34

Closed balazs-zsoldos closed 7 years ago

balazs-zsoldos commented 7 years ago

Caused by: org.apache.maven.plugin.MojoExecutionException: Cannot copy file C:\Users\xxx\git\yyyy\target\classes to C:\Users\xxx\git\jrose-app\itests\target\eosgi\dist\yyyy\classes at org.everit.osgi.dev.maven.util.FileManager.overCopyFile(FileManager.java:256) at org.everit.osgi.dev.maven.DistMojo.distributeArtifactFiles(DistMojo.java:336) at org.everit.osgi.dev.maven.DistMojo.executeOnEnvironment(DistMojo.java:447) at org.everit.osgi.dev.maven.DistMojo.doExecute(DistMojo.java:353) at org.everit.osgi.dev.maven.AbstractEOSGiMojo.execute(AbstractEOSGiMojo.java:208) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:331) at org.eclipse.m2e.core.internal.embedder.MavenImpl$11.call(MavenImpl.java:1362) at org.eclipse.m2e.core.internal.embedder.MavenImpl$11.call(MavenImpl.java:1) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176) at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1360) at org.everit.osgi.dev.e4.plugin.EOSGiProject.executeExecutionPlan(EOSGiProject.java:343) at org.everit.osgi.dev.e4.plugin.EOSGiProject.lambda$5(EOSGiProject.java:246)

balazs-zsoldos commented 7 years ago

The exception comes if the dist package points to an artifact that is on the workspace, but the dist project itself does not. This is a very rare use-case, therefore this will not be fixed.

Workaround:

Add the artifact as a dependency to the project with provided scope.