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

Guimiot Isabelle commented on MSITE-725:
----------------------------------------

It seems that a very old issue in maven 2  (MSITE-501 : unresolved) was already 
about the same point, but I can't reproduce it with maven 2.2.1, I only get it 
with maven 3...

> 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
>            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)

Reply via email to