sevntu-checkstyle / dsm-maven-plugin

Maven plugin to create HTML report to show dependecies in DSM view.
14 stars 5 forks source link

Fails in a multi module project #45

Open nkavian opened 3 years ago

nkavian commented 3 years ago

I have a multi module project which the first module listed is a maven pom project that needs to be built/installed first. It contains the parent pom used by the other modules.

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] Project Parent                                        [pom]
[INFO] Project Core                                          [jar]
[INFO] Project Test                                          [jar]
[INFO] Project Web                                           [jar]
[INFO] Project Cron Jar                                      [jar]
[INFO] Project Server Jar                                    [jar]
[INFO] Project Builder                                       [pom]

If I disable the DSM plugin, other plugins like maven-resources-plugin, maven-compiler-plugin, etc know how to skip this project and no build failure occurs.

The exception raised when it begins building the Project Parent pom module is:

Caused by: java.lang.IllegalArgumentException: Source directory '/root-project-folder/project-parent/target/classes' not exists
    at org.sevntu.maven.plugin.dsm.DsmReportEngine.setSourceDirectory (DsmReportEngine.java:66)
    at org.sevntu.maven.plugin.dsm.DsmReportMojo.executeReport (DsmReportMojo.java:124)
    at org.apache.maven.reporting.AbstractMavenReport.generate (AbstractMavenReport.java:196)
    at org.apache.maven.plugins.site.render.ReportDocumentRenderer.renderDocument (ReportDocumentRenderer.java:230)
    at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render (DefaultSiteRenderer.java:349)
    at org.apache.maven.plugins.site.render.SiteMojo.renderLocale (SiteMojo.java:198)
    at org.apache.maven.plugins.site.render.SiteMojo.execute (SiteMojo.java:147)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)

Can the DSM project be made to fall through as well?