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;