[ https://jira.codehaus.org/browse/MSITE-725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Herve Boutemy closed MSITE-725. ------------------------------- Resolution: Duplicate Assignee: Herve Boutemy duplicate of MSITE-604 > site deploy, distributionManagement and pom inheritance : fail to resolve > settings.xml properties > ------------------------------------------------------------------------------------------------- > > Key: MSITE-725 > URL: https://jira.codehaus.org/browse/MSITE-725 > Project: Maven Site Plugin > Issue Type: Bug > Components: site:deploy > Affects Versions: 3.3, 3.4 > Environment: windows / linux > Reporter: Guimiot Isabelle > Assignee: Herve Boutemy > Priority: Critical > > I have a blocker issue with distribution management URL for site deployment, > when I use a property coming from the maven settings.xml file, and I define > the distrib management in a super pom : it fails when running site deploy > commands on sub-projects. > You can reproduce it very easily : > - In the settings, add a property sitePublishDir pointing to > file://C:/whereyoudeploymavensites/ > - Create a root project with this pom : > {code} > <project> > <modelVersion>4.0.0</modelVersion> > <groupId>com.test</groupId> > <artifactId>testsite1</artifactId> > <version>1.0.0-SNAPSHOT</version> > <packaging>pom</packaging> > <name>level 1</name> > <distributionManagement> > <site> > <id>site</id> > <url>${sitePublishDir}</url> > </site> > </distributionManagement> > <build> > <pluginManagement> > <plugins> > <plugin> > > <groupId>org.apache.maven.plugins</groupId> > > <artifactId>maven-site-plugin</artifactId> > <version>3.4</version> > </plugin> > </plugins> > </pluginManagement> > </build> > </project> > {code} > - create a sub project with this pom : > {code} > <project> > <modelVersion>4.0.0</modelVersion> > <parent> > <groupId>com.test</groupId> > <artifactId>testsite1</artifactId> > <version>1.0.0-SNAPSHOT</version> > </parent> > <groupId>com.test</groupId> > <artifactId>testsite2</artifactId> > <version>1.0.0-SNAPSHOT</version> > <packaging>pom</packaging> > <name>level 2</name> > </project> > {code} > Then, run a "clean install site-deploy" command on project root -> it works > Run the same command on the sub project, you get that error : > {code} > [INFO] BUILD FAILURE > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 5.751 s > [INFO] Finished at: 2014-07-15T12:43:56+02:00 > [INFO] Final Memory: 15M/224M > [INFO] > ------------------------------------------------------------------------ > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-site-plugin:3.4:deploy (default-deploy) on > project testsite2: Execution default-deploy of goal > org.apache.maven.plugins:maven-site-plugin:3.4:deploy failed: Base URI is not > absolute: $%7bsitePublishDir%7d -> [Help 1] > org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute > goal org.apache.maven.plugins:maven-site-plugin:3.4:deploy (default-deploy) > on project testsite2: Execution default-deploy of goal > org.apache.maven.plugins:maven-site-plugin:3.4:deploy failed: Base URI is not > absolute: $%7bsitePublishDir%7d > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224) > 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.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) > at > org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) > at > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154) > at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584) > at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:157) > 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:597) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) > at > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) > at > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) > Caused by: org.apache.maven.plugin.PluginExecutionException: Execution > default-deploy of goal org.apache.maven.plugins:maven-site-plugin:3.4:deploy > failed: Base URI is not absolute: $%7bsitePublishDir%7d > at > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:143) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) > ... 19 more > Caused by: java.lang.IllegalArgumentException: Base URI is not absolute: > $%7bsitePublishDir%7d > at > org.apache.maven.doxia.site.decoration.inheritance.URIPathDescriptor.<init>(URIPathDescriptor.java:73) > at > org.apache.maven.plugins.site.deploy.AbstractDeployMojo.getTopLevelProject(AbstractDeployMojo.java:827) > at > org.apache.maven.plugins.site.deploy.SiteDeployMojo.determineDeploySite(SiteDeployMojo.java:67) > at > org.apache.maven.plugins.site.deploy.AbstractDeployMojo.getDeploySite(AbstractDeployMojo.java:235) > at > org.apache.maven.plugins.site.deploy.AbstractDeployMojo.execute(AbstractDeployMojo.java:166) > at > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) > ... 20 more > {code} > I precise that I get the exact same error if I duplicate the distribution > management in the sub project pom. > The only ugly workaround I've found so far is to add a -DsitePublishDir=xxx > in the command line : in this case, it works fine, but the sitePublishDir > information is duplicated :( -- This message was sent by Atlassian JIRA (v6.1.6#6162)