You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2013/09/07 15:16:52 UTC

svn commit: r1520762 - in /maven/shared/trunk/maven-project-utils: pom.xml src/main/java/org/apache/maven/shared/project/utils/SiteUtils.java

Author: rfscholte
Date: Sat Sep  7 13:16:51 2013
New Revision: 1520762

URL: http://svn.apache.org/r1520762
Log:
resolve distributionManagementSiteUrl based on module or on artifactId

Modified:
    maven/shared/trunk/maven-project-utils/pom.xml
    maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/SiteUtils.java

Modified: maven/shared/trunk/maven-project-utils/pom.xml
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/pom.xml?rev=1520762&r1=1520761&r2=1520762&view=diff
==============================================================================
--- maven/shared/trunk/maven-project-utils/pom.xml (original)
+++ maven/shared/trunk/maven-project-utils/pom.xml Sat Sep  7 13:16:51 2013
@@ -55,6 +55,11 @@ under the License.
   <dependencies>
     <dependency>
       <groupId>org.apache.maven</groupId>
+      <artifactId>maven-core</artifactId>
+      <version>${mavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
       <artifactId>maven-project</artifactId>
       <version>${mavenVersion}</version>
     </dependency>

Modified: maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/SiteUtils.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/SiteUtils.java?rev=1520762&r1=1520761&r2=1520762&view=diff
==============================================================================
--- maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/SiteUtils.java (original)
+++ maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/SiteUtils.java Sat Sep  7 13:16:51 2013
@@ -1,5 +1,8 @@
 package org.apache.maven.shared.project.utils;
 
+import java.io.File;
+import java.util.Map;
+
 import org.apache.maven.model.Model;
 import org.apache.maven.project.MavenProject;
 
@@ -28,9 +31,20 @@ public final class SiteUtils
     private SiteUtils()
     {
     }
-    
+
     public static String resolveDistributionManagementSiteUrl( MavenProject project )
     {
+        return resolveDistributionManagementSiteUrl( project, true );
+    }
+    
+    /**
+     * 
+     * @param project
+     * @param useModuleName use the moduleName instead of the artifactId
+     * @return
+     */
+    public static String resolveDistributionManagementSiteUrl( MavenProject project, boolean useModuleName )
+    {
         String siteUrl = getDistributionManagementSiteUrl( project.getModel() );
 
         if ( siteUrl == null )
@@ -39,8 +53,24 @@ public final class SiteUtils
             siteUrl = String.valueOf( getDistributionManagementSiteUrl( project ) );
             if ( !ProjectUtils.isRootProject( project ) )
             {
-                // assuming that folder matches the moduleName
-                siteUrl += '/' + project.getFile().getParentFile().getName();
+                if( useModuleName )
+                {
+                    Map<String, String> modules = ProjectUtils.getAllModules( project.getParent() );
+                    
+                    for( String module : modules.keySet() )
+                    {
+                        if( new File( project.getParent().getBasedir(), module ).equals( project.getFile() ) )
+                        {
+                            return siteUrl + '/' + module;
+                        }
+                    }
+                    // project is not a module of its parent, so use project's directoryname
+                    siteUrl += '/' + project.getFile().getParentFile().getName();
+                }
+                else
+                {
+                    siteUrl += '/' + project.getArtifactId();
+                }
             }
         }
         return siteUrl;