Yes, :-) 3.0-beta-4-SNAPSHOT. The fixes over the past months have been very helpful, so I'm using the snapshot.
Sorry for my wrong word choice; you correctly suggest the deploy part, not site gen part. I have a Hudson job that runs "mvn site-deploy -e", so I accidentally combined the two phases as one "site gen". Stack trace from Hudson log: 08:23:15 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.0-beta-4-SNAPSHOT:deploy (default-deploy) on project yyy-parent: Missing site information in the distribution management of the project Parent Maven POM (com.xxx:xxx-maven-parent:1.0.0-SNAPSHOT) -> [Help 1] 08:23:15 org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.0-beta-4-SNAPSHOT:deploy (default-deploy) on project yyy-parent: Missing site information in the distribution management of the project Parent Maven POM (com.xxx:xxx-maven-parent:1.0.0-SNAPSHOT) 08:23:15 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) 08:23:15 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 08:23:15 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 08:23:15 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 08:23:15 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 08:23:15 at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 08:23:15 at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 08:23:15 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319) 08:23:15 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 08:23:15 at org.apache.maven.cli.MavenCli.execute(MavenCli.java:534) 08:23:15 at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 08:23:15 at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 08:23:15 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 08:23:15 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 08:23:15 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 08:23:15 at java.lang.reflect.Method.invoke(Method.java:597) 08:23:15 at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 08:23:15 at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 08:23:15 at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 08:23:15 at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 08:23:15 Caused by: org.apache.maven.plugin.MojoExecutionException: Missing site information in the distribution management of the project Parent Maven POM (com.xxx:xxx-maven-parent:1.0.0-SNAPSHOT) 08:23:15 at org.apache.maven.plugins.site.AbstractDeployMojo.getSite(AbstractDeployMojo.java:701) 08:23:15 at org.apache.maven.plugins.site.SiteDeployMojo.getDeployRepositoryID(SiteDeployMojo.java:52) 08:23:15 at org.apache.maven.plugins.site.AbstractDeployMojo.execute(AbstractDeployMojo.java:155) 08:23:15 at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107) 08:23:15 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 08:23:15 ... 19 more On Tue, Mar 8, 2011 at 1:18 PM, Lukas Theussl <ltheu...@apache.org> wrote: > > Hi Jeff, > > I deduce you are testing my current development version...? ;) > > I don't see how this particular commit could have broken site generation as > it only concerns the DeployMojo. However, I see that it could break > site:stage-deploy, is this what you are seeing? > > I don't exclude that I broke something somewhere else, but I need more info > to track it down, a stack trace or better a test project would help. > > Cheers, > -Lukas > > > Jeff Jensen wrote: >> >> Hi Lukas! >> >> I have a question on this commit, as it causes our site gen to now fail. >> >> With the following change: >> >>> + if ( site == null ) >>> + { >>> + throw new MojoExecutionException( >>> + "Missing site information in the distribution management >>> of the project " + name ); >>> + } >> >> the following use case configuration encounters the above exception: >> - a project parent pom has a<distributionManagement><site> element >> (modules of course inherit it) >> - a corporate parent pom does not have a<distributionManagement><site> >> element >> >> We never run site gen for the corporate parent pom, so any >> <distributionManagement><site> element added will make it work but is >> unneeded/fake. >> >> So wondering if this configuration use case was considered and the >> correct answer is to add a "fake"<site> element to the corporate >> parent or possibly this check for site definition needs tweaking (can >> it consider the effective one?)? >> >> >> On Fri, Mar 4, 2011 at 6:58 AM,<ltheu...@apache.org> wrote: >>> >>> Author: ltheussl >>> Date: Fri Mar 4 12:58:01 2011 >>> New Revision: 1077924 >>> >>> URL: http://svn.apache.org/viewvc?rev=1077924&view=rev >>> Log: >>> refactor: re-use getSite() so we properly catch null values also in >>> stage-deploy >>> >>> Modified: >>> >>> maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractDeployMojo.java >>> >>> maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteDeployMojo.java >>> >>> maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteStageDeployMojo.java >>> >>> Modified: >>> maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractDeployMojo.java >>> URL: >>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractDeployMojo.java?rev=1077924&r1=1077923&r2=1077924&view=diff >>> >>> ============================================================================== >>> --- >>> maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractDeployMojo.java >>> (original) >>> +++ >>> maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractDeployMojo.java >>> Fri Mar 4 12:58:01 2011 >>> @@ -26,6 +26,8 @@ import java.util.Locale; >>> >>> import org.apache.maven.artifact.manager.WagonConfigurationException; >>> import org.apache.maven.artifact.manager.WagonManager; >>> +import org.apache.maven.model.DistributionManagement; >>> +import org.apache.maven.model.Site; >>> import org.apache.maven.plugin.MojoExecutionException; >>> import org.apache.maven.plugin.logging.Log; >>> import org.apache.maven.project.MavenProject; >>> @@ -552,4 +554,43 @@ public abstract class AbstractDeployMojo >>> >>> return parent; >>> } >>> + >>> + /** >>> + * Extract the distributionManagment site from the given >>> MavenProject. >>> + * >>> + * @param project the MavenProject. Not null. >>> + * >>> + * @return the project site. Not null. >>> + * Also site.getUrl() and site.getId() are guaranteed to be not >>> null. >>> + * >>> + * @throws MojoExecutionException if any of the site info is >>> missing. >>> + */ >>> + protected static Site getSite( final MavenProject project ) >>> + throws MojoExecutionException >>> + { >>> + final String name = project.getName() + " (" >>> + + project.getGroupId() + ":" + project.getArtifactId() + ":" >>> + project.getVersion() + ")"; >>> + >>> + final DistributionManagement distributionManagement = >>> project.getDistributionManagement(); >>> + >>> + if ( distributionManagement == null ) >>> + { >>> + throw new MojoExecutionException( "Missing distribution >>> management in project " + name ); >>> + } >>> + >>> + final Site site = distributionManagement.getSite(); >>> + >>> + if ( site == null ) >>> + { >>> + throw new MojoExecutionException( >>> + "Missing site information in the distribution management >>> of the project " + name ); >>> + } >>> + >>> + if ( site.getUrl() == null || site.getId() == null ) >>> + { >>> + throw new MojoExecutionException( "Missing site data: >>> specify url and id for project " + name ); >>> + } >>> + >>> + return site; >>> + } >>> } >>> >>> Modified: >>> maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteDeployMojo.java >>> URL: >>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteDeployMojo.java?rev=1077924&r1=1077923&r2=1077924&view=diff >>> >>> ============================================================================== >>> --- >>> maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteDeployMojo.java >>> (original) >>> +++ >>> maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteDeployMojo.java >>> Fri Mar 4 12:58:01 2011 >>> @@ -19,10 +19,8 @@ package org.apache.maven.plugins.site; >>> * under the License. >>> */ >>> >>> -import org.apache.maven.model.DistributionManagement; >>> import org.apache.maven.model.Site; >>> import org.apache.maven.plugin.MojoExecutionException; >>> -import org.apache.maven.project.MavenProject; >>> >>> /** >>> * Deploys the generated site using<code>scp</code> or<code>file</code> >>> @@ -68,30 +66,4 @@ public class SiteDeployMojo >>> >>> return site.getUrl(); >>> } >>> - >>> - private static Site getSite( final MavenProject project ) >>> - throws MojoExecutionException >>> - { >>> - final DistributionManagement distributionManagement = >>> project.getDistributionManagement(); >>> - >>> - if ( distributionManagement == null ) >>> - { >>> - throw new MojoExecutionException( "Missing distribution >>> management information in the project." ); >>> - } >>> - >>> - final Site site = distributionManagement.getSite(); >>> - >>> - if ( site == null ) >>> - { >>> - throw new MojoExecutionException( >>> - "Missing site information in the distribution management >>> element in the project." ); >>> - } >>> - >>> - if ( site.getUrl() == null || site.getId() == null ) >>> - { >>> - throw new MojoExecutionException( "Missing site data for >>> deploy: specify url and id!" ); >>> - } >>> - >>> - return site; >>> - } >>> } >>> >>> Modified: >>> maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteStageDeployMojo.java >>> URL: >>> http://svn.apache.org/viewvc/maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteStageDeployMojo.java?rev=1077924&r1=1077923&r2=1077924&view=diff >>> >>> ============================================================================== >>> --- >>> maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteStageDeployMojo.java >>> (original) >>> +++ >>> maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteStageDeployMojo.java >>> Fri Mar 4 12:58:01 2011 >>> @@ -93,6 +93,7 @@ public class SiteStageDeployMojo >>> * @return the site URL for staging >>> */ >>> private String getStagingSiteURL( String usersStagingSiteURL ) >>> + throws MojoExecutionException >>> { >>> String topLevelURL = null; >>> >>> @@ -106,7 +107,7 @@ public class SiteStageDeployMojo >>> { >>> // The user didn't specify a URL, use the top level target >>> dir >>> topLevelURL = >>> - getTopLevelParent( project >>> ).getDistributionManagement().getSite().getUrl() + "/" + >>> DEFAULT_STAGING_DIRECTORY; >>> + getSite( getTopLevelParent( project ) ).getUrl() + "/" + >>> DEFAULT_STAGING_DIRECTORY; >>> getLog().debug( "stagingSiteURL NOT specified, using the top >>> level project: " + topLevelURL ); >>> } >>> >>> >>> >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org >> For additional commands, e-mail: dev-h...@maven.apache.org >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org