Author: brett
Date: Thu Apr 6 01:02:44 2006
New Revision: 391926
URL: http://svn.apache.org/viewcvs?rev=391926&view=rev
Log:
[MSITE-23] use correct parent project in site:stage
Modified:
maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java
maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteStageMojo.java
Modified:
maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java
URL:
http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java?rev=391926&r1=391925&r2=391926&view=diff
==============================================================================
---
maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java
(original)
+++
maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractSiteRenderingMojo.java
Thu Apr 6 01:02:44 2006
@@ -276,7 +276,6 @@
}
// Legacy for the old ${parentProject} syntax
- MavenProject parentProject = project.getParent();
props.put( "parentProject", "<menu ref=\"parentProject\"/>" );
siteDescriptorContent = StringUtils.interpolate(
siteDescriptorContent, props );
@@ -295,9 +294,10 @@
throw new MojoExecutionException( "Error reading site descriptor",
e );
}
+ MavenProject parentProject = getParentProject( project );
if ( parentProject != null && project.getUrl() != null &&
parentProject.getUrl() != null )
{
- populateProjectParentMenu( decoration, locale );
+ populateProjectParentMenu( decoration, locale, parentProject );
}
if ( parentProject != null && project.getUrl() != null &&
parentProject.getUrl() != null )
@@ -358,13 +358,13 @@
return result;
}
- private void populateProjectParentMenu( DecorationModel decorationModel,
Locale locale )
+ private void populateProjectParentMenu( DecorationModel decorationModel,
Locale locale, MavenProject parentProject )
{
Menu menu = decorationModel.getMenuRef( "parentProject" );
if ( menu != null )
{
- String parentUrl = getParentUrl();
+ String parentUrl = parentProject.getUrl();
if ( parentUrl != null )
{
@@ -382,7 +382,7 @@
menu.setName( i18n.getString( "site-plugin", locale,
"report.menu.parentproject" ) );
MenuItem item = new MenuItem();
- item.setName( project.getParent().getName() );
+ item.setName( parentProject.getName() );
item.setHref( parentUrl );
menu.addItem( item );
}
@@ -397,17 +397,19 @@
* <p/>
* TODO: once bug is fixed in Maven proper, remove this
*
+ * @param project
* @return parent project URL.
*/
- private String getParentUrl()
+ protected MavenProject getParentProject( MavenProject project )
{
- String url = null;
+ MavenProject parentProject = null;
- if ( project.getParent() != null )
+ MavenProject origParent = project.getParent();
+ if ( origParent != null )
{
- if ( project.getParent().getArtifactId() != null )
+ if ( origParent.getArtifactId() != null )
{
- String parentArtifactId = project.getParent().getArtifactId();
+ String parentArtifactId = origParent.getArtifactId();
Iterator reactorItr = reactorProjects.iterator();
@@ -419,24 +421,24 @@
if ( parentArtifactId.equals( reactorArtifactId ) )
{
- url = reactorProject.getUrl();
+ parentProject = reactorProject;
break;
}
}
}
- if ( url == null )
+ if ( parentProject == null )
{
try
{
MavenProject mavenProject = mavenProjectBuilder.build(
new File( project.getBasedir(),
project.getModel().getParent().getRelativePath() ),
localRepository, null );
- if ( mavenProject.getGroupId().equals(
project.getParent().getGroupId() ) &&
- mavenProject.getArtifactId().equals(
project.getParent().getArtifactId() ) &&
- mavenProject.getVersion().equals(
project.getParent().getVersion() ) )
+ if ( mavenProject.getGroupId().equals(
origParent.getGroupId() ) &&
+ mavenProject.getArtifactId().equals(
origParent.getArtifactId() ) &&
+ mavenProject.getVersion().equals(
origParent.getVersion() ) )
{
- url = mavenProject.getUrl();
+ parentProject = mavenProject;
}
}
catch ( ProjectBuildingException e )
@@ -445,13 +447,13 @@
}
}
- if ( url == null )
+ if ( parentProject == null )
{
try
{
- url = mavenProjectBuilder.buildFromRepository(
project.getParentArtifact(),
-
project.getRemoteArtifactRepositories(),
-
localRepository ).getUrl();
+ parentProject = mavenProjectBuilder.buildFromRepository(
project.getParentArtifact(),
+
project.getRemoteArtifactRepositories(),
+
localRepository );
}
catch ( ProjectBuildingException e )
{
@@ -459,15 +461,14 @@
}
}
- if ( url == null )
+ if ( parentProject == null )
{
// fallback to uninterpolated value
- url = project.getParent().getUrl();
+ parentProject = origParent;
}
}
-
- return url;
+ return parentProject;
}
private File getSkinArtifactFile( DecorationModel decoration )
Modified:
maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteStageMojo.java
URL:
http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteStageMojo.java?rev=391926&r1=391925&r2=391926&view=diff
==============================================================================
---
maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteStageMojo.java
(original)
+++
maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteStageMojo.java
Thu Apr 6 01:02:44 2006
@@ -16,9 +16,6 @@
* limitations under the License.
*/
-import java.io.File;
-import java.util.Iterator;
-
import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.model.Site;
import org.apache.maven.plugin.MojoExecutionException;
@@ -38,6 +35,9 @@
import org.codehaus.plexus.util.PathTool;
import org.codehaus.plexus.util.StringUtils;
+import java.io.File;
+import java.util.Iterator;
+
/**
* Staging a site in specific directory.
* <p>Useful to test the generated site.</p>
@@ -53,7 +53,7 @@
/**
* Staging directory location.
*
- * @parameter expression="${stagingDirectory}"
+ * @parameter expression="${stagingDirectory}"
default-value="${project.build.directory}/stage-site"
* @required
*/
private File stagingDirectory;
@@ -61,9 +61,8 @@
/**
* Staging site URL to deploy the staging directory.
*
- * @see <a
href="http://maven.apache.org/maven-model/maven.html#class_site">MavenModel#class_site</a>
- *
* @parameter expression="${stagingSiteURL}"
+ * @see <a
href="http://maven.apache.org/maven-model/maven.html#class_site">MavenModel#class_site</a>
*/
private String stagingSiteURL;
@@ -91,18 +90,18 @@
outputDirectory = new File( stagingDirectory, structureProject );
- String outputRelativePath = PathTool.getRelativePath(
stagingDirectory.getAbsolutePath(),
- new File(
outputDirectory, "dummy.html" )
-
.getAbsolutePath() );
+ String outputRelativePath = PathTool.getRelativePath(
stagingDirectory.getAbsolutePath(), new File(
+ outputDirectory, "dummy.html" ).getAbsolutePath() );
project.setUrl( outputRelativePath + "/" + structureProject );
- if ( project.getParent() != null )
+ MavenProject parent = getParentProject( project );
+ if ( parent != null )
{
- String structureParentProject = getStructure( project.getParent()
);
- project.getParent().setUrl( outputRelativePath + "/" +
structureParentProject );
+ String structureParentProject = getStructure( parent );
+ parent.setUrl( outputRelativePath + "/" + structureParentProject );
}
- if ( ( reactorProjects != null ) && ( reactorProjects.size() > 1 ) )
+ if ( reactorProjects != null && reactorProjects.size() > 1 )
{
Iterator reactorItr = reactorProjects.iterator();
@@ -110,8 +109,8 @@
{
MavenProject reactorProject = (MavenProject) reactorItr.next();
- if ( ( reactorProject != null ) && (
reactorProject.getParent() != null )
- && ( project.getArtifactId().equals(
reactorProject.getParent().getArtifactId() ) ) )
+ if ( reactorProject != null && reactorProject.getParent() !=
null &&
+ project.getArtifactId().equals(
reactorProject.getParent().getArtifactId() ) )
{
String structureReactorProject = getStructure(
reactorProject );
reactorProject.setUrl( outputRelativePath + "/" +
structureReactorProject );
@@ -157,7 +156,7 @@
if ( site == null )
{
throw new MojoExecutionException(
- "Missing site information in the
distribution management element in the project." );
+ "Missing site information in the distribution management
element in the project." );
}
if ( StringUtils.isEmpty( site.getUrl() ) )
@@ -190,7 +189,7 @@
String id = "stagingSite";
Repository repository = new Repository( id, stagingSiteURL );
- Wagon wagon = null;
+ Wagon wagon;
try
{
wagon = wagonManager.getWagon( repository.getProtocol() );
@@ -202,8 +201,8 @@
if ( !wagon.supportsDirectoryCopy() )
{
- throw new MojoExecutionException( "Wagon protocol '" +
repository.getProtocol()
- + "' doesn't support directory copying" );
+ throw new MojoExecutionException(
+ "Wagon protocol '" + repository.getProtocol() + "' doesn't
support directory copying" );
}
try