[DOXIATOOLS-53] moved doxia-integration-tools to doxia-sitetools
git-svn-id: https://svn.apache.org/repos/asf/maven/doxia/doxia-tools/trunk@1718825 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/doxia-integration-tools/pom.xml b/doxia-integration-tools/pom.xml
deleted file mode 100644
index 465b542..0000000
--- a/doxia-integration-tools/pom.xml
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.maven.doxia</groupId>
- <artifactId>doxia-tools</artifactId>
- <version>30-SNAPSHOT</version>
- <relativePath>../../../pom/maven/doxia-tools/pom.xml</relativePath>
- </parent>
-
- <artifactId>doxia-integration-tools</artifactId>
- <version>1.7-SNAPSHOT</version>
-
- <name>Doxia :: Integration Tools</name>
- <description>A collection of tools to help the integration of Doxia in Maven plugins.</description>
-
- <prerequisites>
- <maven>2.2.1</maven>
- </prerequisites>
-
- <scm>
- <connection>scm:svn:http://svn.apache.org/repos/asf/maven/doxia/doxia-tools/trunk/doxia-integration-tools/</connection>
- <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/doxia/doxia-tools/trunk/doxia-integration-tools/</developerConnection>
- <url>http://svn.apache.org/viewvc/maven/doxia/doxia-tools/trunk/doxia-integration-tools/</url>
- </scm>
- <issueManagement>
- <system>jira</system>
- <url>https://issues.apache.org/jira/browse/DOXIATOOLS/component/12326008</url>
- </issueManagement>
- <distributionManagement>
- <site>
- <id>apache.website</id>
- <url>scm:svn:https://svn.apache.org/repos/infra/websites/production/maven-doxia/content/${maven.site.path}</url>
- </site>
- </distributionManagement>
-
- <properties>
- <doxiaVersion>1.6</doxiaVersion>
- <doxiaSitetoolsVersion>1.6</doxiaSitetoolsVersion>
- <mavenVersion>2.2.1</mavenVersion>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.maven.reporting</groupId>
- <artifactId>maven-reporting-api</artifactId>
- <version>3.0</version>
- </dependency>
-
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>1.4</version>
- </dependency>
-
- <!-- maven -->
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-artifact</artifactId>
- <version>${mavenVersion}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-artifact-manager</artifactId>
- <version>${mavenVersion}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-model</artifactId>
- <version>${mavenVersion}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-project</artifactId>
- <version>${mavenVersion}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-api</artifactId>
- <version>${mavenVersion}</version>
- </dependency>
-
- <!-- doxia -->
- <dependency>
- <groupId>org.apache.maven.doxia</groupId>
- <artifactId>doxia-logging-api</artifactId>
- <version>${doxiaVersion}</version>
- </dependency>
-
- <!-- doxia-sitetools -->
- <dependency>
- <groupId>org.apache.maven.doxia</groupId>
- <artifactId>doxia-decoration-model</artifactId>
- <version>${doxiaSitetoolsVersion}</version>
- </dependency>
-
- <!-- Plexus -->
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-container-default</artifactId>
- <version>1.0-alpha-9</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-i18n</artifactId>
- <version>1.0-beta-7</version>
- <exclusions>
- <exclusion>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-utils</artifactId>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-annotations</artifactId>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-interpolation</artifactId>
- <version>1.14</version>
- </dependency>
-
- <!-- test -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.shared</groupId>
- <artifactId>maven-plugin-testing-harness</artifactId>
- <version>1.0</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
- <executions>
- <execution>
- <id>create-component-descriptor</id>
- <goals>
- <goal>generate-metadata</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>l10n-maven-plugin</artifactId>
- <version>1.0-alpha-2</version>
- <configuration>
- <locales>
- <locale>ca</locale>
- <locale>cs</locale>
- <locale>da</locale>
- <locale>de</locale>
- <locale>es</locale>
- <locale>fr</locale>
- <locale>gl</locale>
- <locale>hu</locale>
- <locale>it</locale>
- <locale>ja</locale>
- <locale>ko</locale>
- <locale>lt</locale>
- <locale>nl</locale>
- <locale>no</locale>
- <locale>pl</locale>
- <locale>pt</locale>
- <locale>pt_BR</locale>
- <locale>ru</locale>
- <locale>sk</locale>
- <locale>sv</locale>
- <locale>tr</locale>
- <locale>zh_CN</locale>
- <locale>zh_TW</locale>
- </locales>
- </configuration>
- </plugin>
- </plugins>
- </reporting>
-</project>
diff --git a/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java b/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java
deleted file mode 100644
index 1ca784b..0000000
--- a/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java
+++ /dev/null
@@ -1,1396 +0,0 @@
-package org.apache.maven.doxia.tools;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.StringReader;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.apache.commons.io.FilenameUtils;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.doxia.site.decoration.Banner;
-import org.apache.maven.doxia.site.decoration.DecorationModel;
-import org.apache.maven.doxia.site.decoration.Menu;
-import org.apache.maven.doxia.site.decoration.MenuItem;
-import org.apache.maven.doxia.site.decoration.Skin;
-import org.apache.maven.doxia.site.decoration.inheritance.DecorationModelInheritanceAssembler;
-import org.apache.maven.doxia.site.decoration.io.xpp3.DecorationXpp3Reader;
-import org.apache.maven.model.DistributionManagement;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Site;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectBuilder;
-import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.reporting.MavenReport;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.i18n.I18N;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.ReaderFactory;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.interpolation.EnvarBasedValueSource;
-import org.codehaus.plexus.interpolation.InterpolationException;
-import org.codehaus.plexus.interpolation.MapBasedValueSource;
-import org.codehaus.plexus.interpolation.ObjectBasedValueSource;
-import org.codehaus.plexus.interpolation.RegexBasedInterpolator;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-/**
- * Default implementation of the site tool.
- *
- * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
- * @version $Id$
- */
-@Component( role = SiteTool.class )
-public class DefaultSiteTool
- extends AbstractLogEnabled
- implements SiteTool
-{
- // ----------------------------------------------------------------------
- // Components
- // ----------------------------------------------------------------------
-
- /**
- * The component that is used to resolve additional artifacts required.
- */
- @Requirement
- private ArtifactResolver artifactResolver;
-
- /**
- * The component used for creating artifact instances.
- */
- @Requirement
- private ArtifactFactory artifactFactory;
-
- /**
- * Internationalization.
- */
- @Requirement
- protected I18N i18n;
-
- /**
- * The component for assembling inheritance.
- */
- @Requirement
- protected DecorationModelInheritanceAssembler assembler;
-
- /**
- * Project builder.
- */
- @Requirement
- protected MavenProjectBuilder mavenProjectBuilder;
-
- // ----------------------------------------------------------------------
- // Public methods
- // ----------------------------------------------------------------------
-
- /** {@inheritDoc} */
- public Artifact getSkinArtifactFromRepository( ArtifactRepository localRepository,
- List<ArtifactRepository> remoteArtifactRepositories,
- DecorationModel decoration )
- throws SiteToolException
- {
- checkNotNull( "localRepository", localRepository );
- checkNotNull( "remoteArtifactRepositories", remoteArtifactRepositories );
- checkNotNull( "decoration", decoration );
-
- Skin skin = decoration.getSkin();
-
- if ( skin == null )
- {
- skin = Skin.getDefaultSkin();
- }
-
- String version = skin.getVersion();
- Artifact artifact;
- try
- {
- if ( version == null )
- {
- version = Artifact.RELEASE_VERSION;
- }
- VersionRange versionSpec = VersionRange.createFromVersionSpec( version );
- artifact = artifactFactory.createDependencyArtifact( skin.getGroupId(), skin.getArtifactId(), versionSpec,
- "jar", null, null );
-
- artifactResolver.resolve( artifact, remoteArtifactRepositories, localRepository );
- }
- catch ( InvalidVersionSpecificationException e )
- {
- throw new SiteToolException( "InvalidVersionSpecificationException: The skin version '" + version
- + "' is not valid: " + e.getMessage(), e );
- }
- catch ( ArtifactResolutionException e )
- {
- throw new SiteToolException( "ArtifactResolutionException: Unable to find skin", e );
- }
- catch ( ArtifactNotFoundException e )
- {
- throw new SiteToolException( "ArtifactNotFoundException: The skin does not exist: " + e.getMessage(), e );
- }
-
- return artifact;
- }
-
- /** {@inheritDoc} */
- public Artifact getDefaultSkinArtifact( ArtifactRepository localRepository,
- List<ArtifactRepository> remoteArtifactRepositories )
- throws SiteToolException
- {
- return getSkinArtifactFromRepository( localRepository, remoteArtifactRepositories, new DecorationModel() );
- }
-
- /** {@inheritDoc} */
- public String getRelativePath( String to, String from )
- {
- checkNotNull( "to", to );
- checkNotNull( "from", from );
-
- URL toUrl = null;
- URL fromUrl = null;
-
- String toPath = to;
- String fromPath = from;
-
- try
- {
- toUrl = new URL( to );
- }
- catch ( MalformedURLException e )
- {
- try
- {
- toUrl = new File( getNormalizedPath( to ) ).toURI().toURL();
- }
- catch ( MalformedURLException e1 )
- {
- getLogger().warn( "Unable to load a URL for '" + to + "': " + e.getMessage() );
- }
- }
-
- try
- {
- fromUrl = new URL( from );
- }
- catch ( MalformedURLException e )
- {
- try
- {
- fromUrl = new File( getNormalizedPath( from ) ).toURI().toURL();
- }
- catch ( MalformedURLException e1 )
- {
- getLogger().warn( "Unable to load a URL for '" + from + "': " + e.getMessage() );
- }
- }
-
- if ( toUrl != null && fromUrl != null )
- {
- // URLs, determine if they share protocol and domain info
-
- if ( ( toUrl.getProtocol().equalsIgnoreCase( fromUrl.getProtocol() ) )
- && ( toUrl.getHost().equalsIgnoreCase( fromUrl.getHost() ) )
- && ( toUrl.getPort() == fromUrl.getPort() ) )
- {
- // shared URL domain details, use URI to determine relative path
-
- toPath = toUrl.getFile();
- fromPath = fromUrl.getFile();
- }
- else
- {
- // don't share basic URL information, no relative available
-
- return to;
- }
- }
- else if ( ( toUrl != null && fromUrl == null ) || ( toUrl == null && fromUrl != null ) )
- {
- // one is a URL and the other isn't, no relative available.
-
- return to;
- }
-
- // either the two locations are not URLs or if they are they
- // share the common protocol and domain info and we are left
- // with their URI information
-
- String relativePath = getRelativeFilePath( fromPath, toPath );
-
- if ( relativePath == null )
- {
- relativePath = to;
- }
-
- if ( getLogger().isDebugEnabled() && !relativePath.toString().equals( to ) )
- {
- getLogger().debug( "Mapped url: " + to + " to relative path: " + relativePath );
- }
-
- return relativePath;
- }
-
- private static String getRelativeFilePath( final String oldPath, final String newPath )
- {
- // normalize the path delimiters
-
- String fromPath = new File( oldPath ).getPath();
- String toPath = new File( newPath ).getPath();
-
- // strip any leading slashes if its a windows path
- if ( toPath.matches( "^\\[a-zA-Z]:" ) )
- {
- toPath = toPath.substring( 1 );
- }
- if ( fromPath.matches( "^\\[a-zA-Z]:" ) )
- {
- fromPath = fromPath.substring( 1 );
- }
-
- // lowercase windows drive letters.
- if ( fromPath.startsWith( ":", 1 ) )
- {
- fromPath = Character.toLowerCase( fromPath.charAt( 0 ) ) + fromPath.substring( 1 );
- }
- if ( toPath.startsWith( ":", 1 ) )
- {
- toPath = Character.toLowerCase( toPath.charAt( 0 ) ) + toPath.substring( 1 );
- }
-
- // check for the presence of windows drives. No relative way of
- // traversing from one to the other.
-
- if ( ( toPath.startsWith( ":", 1 ) && fromPath.startsWith( ":", 1 ) )
- && ( !toPath.substring( 0, 1 ).equals( fromPath.substring( 0, 1 ) ) ) )
- {
- // they both have drive path element but they don't match, no
- // relative path
-
- return null;
- }
-
- if ( ( toPath.startsWith( ":", 1 ) && !fromPath.startsWith( ":", 1 ) )
- || ( !toPath.startsWith( ":", 1 ) && fromPath.startsWith( ":", 1 ) ) )
- {
-
- // one has a drive path element and the other doesn't, no relative
- // path.
-
- return null;
-
- }
-
- final String relativePath = buildRelativePath( toPath, fromPath, File.separatorChar );
-
- return relativePath.toString();
- }
-
- /** {@inheritDoc} */
- public File getSiteDescriptorFromBasedir( String siteDirectory, File basedir, Locale locale )
- {
- checkNotNull( "basedir", basedir );
-
- String dir = siteDirectory;
- if ( dir == null )
- {
- // TODO need to be more dynamic
- dir = "src/site";
- }
-
- final Locale llocale = ( locale == null ) ? new Locale( "" ) : locale;
-
- File siteDir = new File( basedir, dir );
-
- File siteDescriptor = new File( siteDir, "site_" + llocale.getLanguage() + ".xml" );
-
- if ( !siteDescriptor.isFile() )
- {
- siteDescriptor = new File( siteDir, "site.xml" );
- }
- return siteDescriptor;
- }
-
- /** {@inheritDoc} */
- public File getSiteDescriptorFromRepository( MavenProject project, ArtifactRepository localRepository,
- List<ArtifactRepository> repositories, Locale locale )
- throws SiteToolException
- {
- checkNotNull( "project", project );
- checkNotNull( "localRepository", localRepository );
- checkNotNull( "repositories", repositories );
-
- final Locale llocale = ( locale == null ) ? new Locale( "" ) : locale;
-
- try
- {
- return resolveSiteDescriptor( project, localRepository, repositories, llocale );
- }
- catch ( ArtifactNotFoundException e )
- {
- getLogger().debug( "ArtifactNotFoundException: Unable to locate site descriptor: " + e );
- return null;
- }
- catch ( ArtifactResolutionException e )
- {
- throw new SiteToolException( "ArtifactResolutionException: Unable to locate site descriptor: "
- + e.getMessage(), e );
- }
- catch ( IOException e )
- {
- throw new SiteToolException( "IOException: Unable to locate site descriptor: " + e.getMessage(), e );
- }
- }
-
- /** {@inheritDoc} */
- public DecorationModel getDecorationModel( MavenProject project, List<MavenProject> reactorProjects,
- ArtifactRepository localRepository,
- List<ArtifactRepository> repositories, String siteDirectory,
- Locale locale )
- throws SiteToolException
- {
- checkNotNull( "project", project );
- checkNotNull( "reactorProjects", reactorProjects );
- checkNotNull( "localRepository", localRepository );
- checkNotNull( "repositories", repositories );
-
- final Locale llocale = ( locale == null ) ? Locale.getDefault() : locale;
-
- Map<String, String> props = new HashMap<String, String>( 2 );
-
- // This is to support the deprecated ${reports} and ${modules} tags.
- props.put( "reports", "<menu ref=\"reports\"/>\n" );
- props.put( "modules", "<menu ref=\"modules\"/>\n" );
-
- MavenProject parentProject = getParentProject( project, reactorProjects, localRepository );
-
- DecorationModel decorationModel =
- getDecorationModel( project, parentProject, reactorProjects, localRepository, repositories, siteDirectory,
- llocale, props );
-
- if ( decorationModel == null )
- {
- String siteDescriptorContent;
-
- InputStream in = null;
- try
- {
- // Note the default is not a super class - it is used when nothing else is found
- in = getClass().getResourceAsStream( "/default-site.xml" );
- siteDescriptorContent = IOUtil.toString( in, "UTF-8" );
- }
- catch ( IOException e )
- {
- throw new SiteToolException( "Error reading default site descriptor: " + e.getMessage(), e );
- }
- finally
- {
- IOUtil.close( in );
- }
-
- siteDescriptorContent = getInterpolatedSiteDescriptorContent( props, project, siteDescriptorContent );
-
- decorationModel = readDecorationModel( siteDescriptorContent );
- }
-
- if ( parentProject != null )
- {
- populateParentMenu( decorationModel, llocale, project, parentProject, true );
- }
-
- populateModulesMenu( project, reactorProjects, localRepository, decorationModel, llocale, true );
-
- if ( decorationModel.getBannerLeft() == null )
- {
- // extra default to set
- Banner banner = new Banner();
- banner.setName( project.getName() );
- decorationModel.setBannerLeft( banner );
- }
-
- return decorationModel;
- }
-
- /** {@inheritDoc} */
- public void populateReportsMenu( DecorationModel decorationModel, Locale locale,
- Map<String, List<MavenReport>> categories )
- {
- checkNotNull( "decorationModel", decorationModel );
- checkNotNull( "categories", categories );
-
- Menu menu = decorationModel.getMenuRef( "reports" );
-
- if ( menu == null )
- {
- return;
- }
-
- final Locale llocale = ( locale == null ) ? Locale.getDefault() : locale;
-
- if ( menu.getName() == null )
- {
- menu.setName( i18n.getString( "site-tool", llocale, "decorationModel.menu.projectdocumentation" ) );
- }
-
- boolean found = false;
- if ( menu.getItems().isEmpty() )
- {
- List<MavenReport> categoryReports = categories.get( MavenReport.CATEGORY_PROJECT_INFORMATION );
- if ( !isEmptyList( categoryReports ) )
- {
- MenuItem item = createCategoryMenu(
- i18n.getString( "site-tool", llocale,
- "decorationModel.menu.projectinformation" ),
- "/project-info.html", categoryReports, llocale );
- menu.getItems().add( item );
- found = true;
- }
-
- categoryReports = categories.get( MavenReport.CATEGORY_PROJECT_REPORTS );
- if ( !isEmptyList( categoryReports ) )
- {
- MenuItem item =
- createCategoryMenu( i18n.getString( "site-tool", llocale, "decorationModel.menu.projectreports" ),
- "/project-reports.html", categoryReports, llocale );
- menu.getItems().add( item );
- found = true;
- }
- }
- if ( !found )
- {
- decorationModel.removeMenuRef( "reports" );
- }
- }
-
- /** {@inheritDoc} */
- public String getInterpolatedSiteDescriptorContent( Map<String, String> props, MavenProject aProject,
- String siteDescriptorContent )
- throws SiteToolException
- {
- checkNotNull( "props", props );
- checkNotNull( "aProject", aProject );
- checkNotNull( "siteDescriptorContent", siteDescriptorContent );
-
- // MSITE-201: The ObjectBasedValueSource( aProject ) below will match
- // ${modules} to aProject.getModules(), so we need to interpolate that
- // first.
-
- Map<String, String> modulesProps = new HashMap<String, String>( 1 );
-
- // Legacy for the old ${modules} syntax
- modulesProps.put( "modules", "<menu ref=\"modules\"/>" );
-
- String interpolatedSiteDescriptorContent = StringUtils.interpolate( siteDescriptorContent, modulesProps );
-
- RegexBasedInterpolator interpolator = new RegexBasedInterpolator();
-
- try
- {
- interpolator.addValueSource( new EnvarBasedValueSource() );
- }
- catch ( IOException e )
- {
- // Prefer logging?
- throw new SiteToolException( "IOException: cannot interpolate environment properties: " + e.getMessage(),
- e );
- }
-
- interpolator.addValueSource( new ObjectBasedValueSource( aProject ) );
-
- interpolator.addValueSource( new MapBasedValueSource( aProject.getProperties() ) );
-
- try
- {
- // FIXME: this does not escape xml entities, see MSITE-226, PLXCOMP-118
- interpolatedSiteDescriptorContent = interpolator.interpolate( interpolatedSiteDescriptorContent,
- "project" );
- }
- catch ( InterpolationException e )
- {
- throw new SiteToolException( "Cannot interpolate site descriptor: " + e.getMessage(), e );
- }
-
- // Legacy for the old ${parentProject} syntax
- props.put( "parentProject", "<menu ref=\"parent\"/>" );
-
- // Legacy for the old ${reports} syntax
- props.put( "reports", "<menu ref=\"reports\"/>" );
-
- return StringUtils.interpolate( interpolatedSiteDescriptorContent, props );
- }
-
- /** {@inheritDoc} */
- public MavenProject getParentProject( MavenProject aProject, List<MavenProject> reactorProjects,
- ArtifactRepository localRepository )
- {
- checkNotNull( "aProject", aProject );
- checkNotNull( "reactorProjects", reactorProjects );
- checkNotNull( "localRepository", localRepository );
-
- MavenProject parentProject = null;
-
- MavenProject origParent = aProject.getParent();
- if ( origParent != null )
- {
- for ( MavenProject reactorProject : reactorProjects )
- {
- if ( reactorProject.getGroupId().equals( origParent.getGroupId() )
- && reactorProject.getArtifactId().equals( origParent.getArtifactId() )
- && reactorProject.getVersion().equals( origParent.getVersion() ) )
- {
- parentProject = reactorProject;
- break;
- }
- }
-
- if ( parentProject == null && aProject.getBasedir() != null
- && StringUtils.isNotEmpty( aProject.getModel().getParent().getRelativePath() ) )
- {
- try
- {
- String relativePath = aProject.getModel().getParent().getRelativePath();
-
- File pomFile = new File( aProject.getBasedir(), relativePath );
-
- if ( pomFile.isDirectory() )
- {
- pomFile = new File( pomFile, "pom.xml" );
- }
- pomFile = new File( getNormalizedPath( pomFile.getPath() ) );
-
- if ( pomFile.isFile() )
- {
- MavenProject mavenProject = mavenProjectBuilder.build( pomFile, localRepository, null );
-
- if ( mavenProject.getGroupId().equals( origParent.getGroupId() )
- && mavenProject.getArtifactId().equals( origParent.getArtifactId() )
- && mavenProject.getVersion().equals( origParent.getVersion() ) )
- {
- parentProject = mavenProject;
- }
-
- getLogger().info( "Parent project loaded from a relative path: " + relativePath );
- }
- }
- catch ( ProjectBuildingException e )
- {
- getLogger().info( "Unable to load parent project from a relative path: " + e.getMessage() );
- }
- }
-
- if ( parentProject == null )
- {
- try
- {
- parentProject = mavenProjectBuilder.buildFromRepository( aProject.getParentArtifact(), aProject
- .getRemoteArtifactRepositories(), localRepository );
- getLogger().info( "Parent project loaded from repository: " + parentProject.getId() );
- }
- catch ( ProjectBuildingException e )
- {
- getLogger().warn( "Unable to load parent project from repository: " + e.getMessage() );
- }
- }
-
- if ( parentProject == null )
- {
- // fallback to uninterpolated value
-
- parentProject = origParent;
- }
- }
- return parentProject;
- }
-
- /** {@inheritDoc} */
- public void populateParentMenu( DecorationModel decorationModel, Locale locale, MavenProject project,
- MavenProject parentProject, boolean keepInheritedRefs )
- {
- checkNotNull( "decorationModel", decorationModel );
- checkNotNull( "project", project );
- checkNotNull( "parentProject", parentProject );
-
- Menu menu = decorationModel.getMenuRef( "parent" );
-
- if ( menu == null )
- {
- return;
- }
-
- if ( keepInheritedRefs && menu.isInheritAsRef() )
- {
- return;
- }
-
- final Locale llocale = ( locale == null ) ? Locale.getDefault() : locale;
-
- String parentUrl = getDistMgmntSiteUrl( parentProject );
-
- if ( parentUrl != null )
- {
- if ( parentUrl.endsWith( "/" ) )
- {
- parentUrl += "index.html";
- }
- else
- {
- parentUrl += "/index.html";
- }
-
- parentUrl = getRelativePath( parentUrl, getDistMgmntSiteUrl( project ) );
- }
- else
- {
- // parent has no url, assume relative path is given by site structure
- File parentBasedir = parentProject.getBasedir();
- // First make sure that the parent is available on the file system
- if ( parentBasedir != null )
- {
- // Try to find the relative path to the parent via the file system
- String parentPath = parentBasedir.getAbsolutePath();
- String projectPath = project.getBasedir().getAbsolutePath();
- parentUrl = getRelativePath( parentPath, projectPath ) + "/index.html";
- }
- }
-
- // Only add the parent menu if we were able to find a URL for it
- if ( parentUrl == null )
- {
- getLogger().warn( "Unable to find a URL to the parent project. The parent menu will NOT be added." );
- }
- else
- {
- if ( menu.getName() == null )
- {
- menu.setName( i18n.getString( "site-tool", llocale, "decorationModel.menu.parentproject" ) );
- }
-
- MenuItem item = new MenuItem();
- item.setName( parentProject.getName() );
- item.setHref( parentUrl );
- menu.addItem( item );
- }
- }
-
- /**
- * {@inheritDoc}
- * @deprecated Please use
- * {@link #populateParentMenu(DecorationModel, Locale, MavenProject, MavenProject, boolean)} instead
- */
- public void populateProjectParentMenu( DecorationModel decorationModel, Locale locale, MavenProject project,
- MavenProject parentProject, boolean keepInheritedRefs )
- {
- populateParentMenu( decorationModel, locale, project, parentProject, keepInheritedRefs );
- }
-
- /**
- * {@inheritDoc}
- * @deprecated Please use
- * {@link #populateModulesMenu(MavenProject, List, ArtifactRepository, DecorationModel, Locale, boolean)}
- * instead
- */
- public void populateModules( MavenProject project, List<MavenProject> reactorProjects,
- ArtifactRepository localRepository, DecorationModel decorationModel, Locale locale,
- boolean keepInheritedRefs )
- throws SiteToolException
- {
- populateModulesMenu( project, reactorProjects, localRepository, decorationModel, locale, keepInheritedRefs );
- }
-
- /** {@inheritDoc} */
- public void populateModulesMenu( MavenProject project, List<MavenProject> reactorProjects,
- ArtifactRepository localRepository, DecorationModel decorationModel,
- Locale locale, boolean keepInheritedRefs )
- throws SiteToolException
- {
- checkNotNull( "project", project );
- checkNotNull( "reactorProjects", reactorProjects );
- checkNotNull( "localRepository", localRepository );
- checkNotNull( "decorationModel", decorationModel );
-
- Menu menu = decorationModel.getMenuRef( "modules" );
-
- if ( menu == null )
- {
- return;
- }
-
- if ( keepInheritedRefs && menu.isInheritAsRef() )
- {
- return;
- }
-
- final Locale llocale = ( locale == null ) ? Locale.getDefault() : locale ;
-
- // we require child modules and reactors to process module menu
- if ( project.getModules().size() > 0 )
- {
- List<MavenProject> projects = reactorProjects;
-
- if ( menu.getName() == null )
- {
- menu.setName( i18n.getString( "site-tool", llocale, "decorationModel.menu.projectmodules" ) );
- }
-
- getLogger().debug( "Attempting to load module information from local filesystem" );
-
- // Not running reactor - search for the projects manually
- List<Model> models = new ArrayList<Model>( project.getModules().size() );
- for ( Iterator<String> i = project.getModules().iterator(); i.hasNext(); )
- {
- String module = i.next();
- Model model;
- File f = new File( project.getBasedir(), module + "/pom.xml" );
- if ( f.exists() )
- {
- try
- {
- model = mavenProjectBuilder.build( f, localRepository, null ).getModel();
- }
- catch ( ProjectBuildingException e )
- {
- throw new SiteToolException( "Unable to read local module-POM", e );
- }
- }
- else
- {
- getLogger().warn( "No filesystem module-POM available" );
-
- model = new Model();
- model.setName( module );
- setDistMgmntSiteUrl( model, module );
- }
- models.add( model );
- }
- populateModulesMenuItemsFromModels( project, models, menu );
- }
- else if ( decorationModel.getMenuRef( "modules" ).getInherit() == null )
- {
- // only remove if project has no modules AND menu is not inherited, see MSHARED-174
- decorationModel.removeMenuRef( "modules" );
- }
- }
-
- /** {@inheritDoc} */
- public List<Locale> getAvailableLocales( String locales )
- {
- if ( locales == null )
- {
- return Collections.singletonList( DEFAULT_LOCALE );
- }
-
- String[] localesArray = StringUtils.split( locales, "," );
- List<Locale> localesList = new ArrayList<Locale>( localesArray.length );
-
- for ( int i = 0; i < localesArray.length; i++ )
- {
- Locale locale = codeToLocale( localesArray[i] );
-
- if ( locale == null )
- {
- continue;
- }
-
- if ( !Arrays.asList( Locale.getAvailableLocales() ).contains( locale ) )
- {
- if ( getLogger().isWarnEnabled() )
- {
- getLogger().warn( "The locale parsed defined by '" + locale
- + "' is not available in this Java Virtual Machine ("
- + System.getProperty( "java.version" )
- + " from " + System.getProperty( "java.vendor" ) + ") - IGNORING" );
- }
- continue;
- }
-
- // Default bundles are in English
- if ( ( !locale.getLanguage().equals( DEFAULT_LOCALE.getLanguage() ) )
- && ( !i18n.getBundle( "site-tool", locale ).getLocale().getLanguage()
- .equals( locale.getLanguage() ) ) )
- {
- if ( getLogger().isWarnEnabled() )
- {
- getLogger().warn( "The locale '" + locale + "' (" + locale.getDisplayName( Locale.ENGLISH )
- + ") is not currently support by Maven - IGNORING."
- + "\nContribution are welcome and greatly appreciated!"
- + "\nIf you want to contribute a new translation, please visit "
- + "http://maven.apache.org/plugins/maven-site-plugin/i18n.html for detailed instructions." );
- }
-
- continue;
- }
-
- localesList.add( locale );
- }
-
- if ( localesList.isEmpty() )
- {
- localesList = Collections.singletonList( DEFAULT_LOCALE );
- }
-
- return localesList;
- }
-
- /** {@inheritDoc} */
- public Locale codeToLocale( String localeCode )
- {
- if ( localeCode == null )
- {
- return null;
- }
-
- if ( "default".equalsIgnoreCase( localeCode ) )
- {
- return Locale.getDefault();
- }
-
- String language = "";
- String country = "";
- String variant = "";
-
- StringTokenizer tokenizer = new StringTokenizer( localeCode, "_" );
- final int maxTokens = 3;
- if ( tokenizer.countTokens() > maxTokens )
- {
- if ( getLogger().isWarnEnabled() )
- {
- getLogger().warn( "Invalid java.util.Locale format for '" + localeCode + "' entry - IGNORING" );
- }
- return null;
- }
-
- if ( tokenizer.hasMoreTokens() )
- {
- language = tokenizer.nextToken();
- if ( tokenizer.hasMoreTokens() )
- {
- country = tokenizer.nextToken();
- if ( tokenizer.hasMoreTokens() )
- {
- variant = tokenizer.nextToken();
- }
- }
- }
-
- return new Locale( language, country, variant );
- }
-
- // ----------------------------------------------------------------------
- // Protected methods
- // ----------------------------------------------------------------------
-
- /**
- * @param path could be null.
- * @return the path normalized, i.e. by eliminating "/../" and "/./" in the path.
- * @see FilenameUtils#normalize(String)
- */
- protected static String getNormalizedPath( String path )
- {
- String normalized = FilenameUtils.normalize( path );
- if ( normalized == null )
- {
- normalized = path;
- }
- return ( normalized == null ) ? null : normalized.replace( '\\', '/' );
- }
-
- // ----------------------------------------------------------------------
- // Private methods
- // ----------------------------------------------------------------------
-
- /**
- * @param project not null
- * @param localRepository not null
- * @param repositories not null
- * @param locale not null
- * @return the resolved site descriptor
- * @throws IOException if any
- * @throws ArtifactResolutionException if any
- * @throws ArtifactNotFoundException if any
- */
- private File resolveSiteDescriptor( MavenProject project, ArtifactRepository localRepository,
- List<ArtifactRepository> repositories, Locale locale )
- throws IOException, ArtifactResolutionException, ArtifactNotFoundException
- {
- File result;
-
- // TODO: this is a bit crude - proper type, or proper handling as metadata rather than an artifact in 2.1?
- Artifact artifact = artifactFactory.createArtifactWithClassifier( project.getGroupId(),
- project.getArtifactId(),
- project.getVersion(), "xml",
- "site_" + locale.getLanguage() );
-
- boolean found = false;
- try
- {
- artifactResolver.resolve( artifact, repositories, localRepository );
-
- result = artifact.getFile();
-
- // we use zero length files to avoid re-resolution (see below)
- if ( result.length() > 0 )
- {
- found = true;
- }
- else
- {
- getLogger().debug( "Skipped site descriptor for locale " + locale.getLanguage() );
- }
- }
- catch ( ArtifactNotFoundException e )
- {
- getLogger().debug( "Unable to locate site descriptor for locale " + locale.getLanguage() + ": " + e );
-
- // we can afford to write an empty descriptor here as we don't expect it to turn up later in the remote
- // repository, because the parent was already released (and snapshots are updated automatically if changed)
- result = new File( localRepository.getBasedir(), localRepository.pathOf( artifact ) );
- result.getParentFile().mkdirs();
- result.createNewFile();
- }
-
- if ( !found )
- {
- artifact = artifactFactory.createArtifactWithClassifier( project.getGroupId(), project.getArtifactId(),
- project.getVersion(), "xml", "site" );
- try
- {
- artifactResolver.resolve( artifact, repositories, localRepository );
- }
- catch ( ArtifactNotFoundException e )
- {
- // see above regarding this zero length file
- result = new File( localRepository.getBasedir(), localRepository.pathOf( artifact ) );
- result.getParentFile().mkdirs();
- result.createNewFile();
-
- throw e;
- }
-
- result = artifact.getFile();
-
- // we use zero length files to avoid re-resolution (see below)
- if ( result.length() == 0 )
- {
- getLogger().debug( "Skipped remote site descriptor check" );
- result = null;
- }
- }
-
- return result;
- }
-
- /**
- * @param project not null
- * @param reactorProjects not null
- * @param localRepository not null
- * @param repositories not null
- * @param siteDirectory not null
- * @param locale not null
- * @param origProps not null
- * @return the decoration model depending the locale
- * @throws SiteToolException if any
- */
- private DecorationModel getDecorationModel( MavenProject project, MavenProject parentProject,
- List<MavenProject> reactorProjects, ArtifactRepository localRepository,
- List<ArtifactRepository> repositories, String siteDirectory,
- Locale locale, Map<String, String> origProps )
- throws SiteToolException
- {
- Map<String, String> props = new HashMap<String, String>( origProps );
-
- File siteDescriptor;
- if ( project.getBasedir() == null )
- {
- // POM is in the repository, look there for site descriptor
- try
- {
- siteDescriptor = getSiteDescriptorFromRepository( project, localRepository, repositories, locale );
- }
- catch ( SiteToolException e )
- {
- throw new SiteToolException( "The site descriptor cannot be resolved from the repository: "
- + e.getMessage(), e );
- }
- }
- else
- {
- siteDescriptor = getSiteDescriptorFromBasedir( siteDirectory, project.getBasedir(), locale );
- }
-
- String siteDescriptorContent = null;
- long siteDescriptorLastModified = 0L;
- Reader siteDescriptorReader = null;
- try
- {
- if ( siteDescriptor != null && siteDescriptor.exists() )
- {
- getLogger().debug( "Reading site descriptor from " + siteDescriptor );
- siteDescriptorReader = ReaderFactory.newXmlReader( siteDescriptor );
- siteDescriptorContent = IOUtil.toString( siteDescriptorReader );
- siteDescriptorLastModified = siteDescriptor.lastModified();
- }
- }
- catch ( IOException e )
- {
- throw new SiteToolException( "The site descriptor cannot be read!", e );
- }
- finally
- {
- IOUtil.close( siteDescriptorReader );
- }
-
- DecorationModel decoration = null;
- if ( siteDescriptorContent != null )
- {
- siteDescriptorContent = getInterpolatedSiteDescriptorContent( props, project, siteDescriptorContent );
-
- decoration = readDecorationModel( siteDescriptorContent );
- decoration.setLastModified( siteDescriptorLastModified );
- }
-
- if ( parentProject != null && ( decoration == null || decoration.isMergeParent() ) )
- {
- getLogger().debug( "Loading parent project site descriptor..." );
-
- MavenProject parentParentProject = getParentProject( parentProject, reactorProjects, localRepository );
-
- DecorationModel parent =
- getDecorationModel( parentProject, parentParentProject, reactorProjects, localRepository, repositories,
- siteDirectory, locale, props );
-
- // MSHARED-116 requires an empty decoration model (instead of a null one)
- // MSHARED-145 requires us to do this only if there is a parent to merge it with
- if ( decoration == null && parent != null )
- {
- // we have no site descriptor: merge the parent into an empty one
- decoration = new DecorationModel();
- }
-
- String name = project.getName();
- if ( decoration != null && StringUtils.isNotEmpty( decoration.getName() ) )
- {
- name = decoration.getName();
- }
-
- // Merge the parent and child site descriptors
- String projectDistMgmnt = getDistMgmntSiteUrl( project );
- String parentDistMgmnt = getDistMgmntSiteUrl( parentProject );
- if ( getLogger().isDebugEnabled() )
- {
- getLogger().debug( "model inheritance distributionManagement.site.url child = " + projectDistMgmnt
- + ", parent = " + parentDistMgmnt );
- }
- assembler.assembleModelInheritance( name, decoration, parent, projectDistMgmnt,
- parentDistMgmnt == null ? projectDistMgmnt : parentDistMgmnt );
- }
-
- if ( decoration != null && decoration.getSkin() != null )
- {
- getLogger().debug( "Skin used: " + decoration.getSkin() );
- }
-
- return decoration;
- }
-
- /**
- * @param siteDescriptorContent not null
- * @return the decoration model object
- * @throws SiteToolException if any
- */
- private DecorationModel readDecorationModel( String siteDescriptorContent )
- throws SiteToolException
- {
- DecorationModel decoration;
- try
- {
- decoration = new DecorationXpp3Reader().read( new StringReader( siteDescriptorContent ) );
- }
- catch ( XmlPullParserException e )
- {
- throw new SiteToolException( "Error parsing site descriptor", e );
- }
- catch ( IOException e )
- {
- throw new SiteToolException( "Error reading site descriptor", e );
- }
- return decoration;
- }
-
- private static String buildRelativePath( final String toPath, final String fromPath, final char separatorChar )
- {
- // use tokenizer to traverse paths and for lazy checking
- StringTokenizer toTokeniser = new StringTokenizer( toPath, String.valueOf( separatorChar ) );
- StringTokenizer fromTokeniser = new StringTokenizer( fromPath, String.valueOf( separatorChar ) );
-
- int count = 0;
-
- // walk along the to path looking for divergence from the from path
- while ( toTokeniser.hasMoreTokens() && fromTokeniser.hasMoreTokens() )
- {
- if ( separatorChar == '\\' )
- {
- if ( !fromTokeniser.nextToken().equalsIgnoreCase( toTokeniser.nextToken() ) )
- {
- break;
- }
- }
- else
- {
- if ( !fromTokeniser.nextToken().equals( toTokeniser.nextToken() ) )
- {
- break;
- }
- }
-
- count++;
- }
-
- // reinitialize the tokenizers to count positions to retrieve the
- // gobbled token
-
- toTokeniser = new StringTokenizer( toPath, String.valueOf( separatorChar ) );
- fromTokeniser = new StringTokenizer( fromPath, String.valueOf( separatorChar ) );
-
- while ( count-- > 0 )
- {
- fromTokeniser.nextToken();
- toTokeniser.nextToken();
- }
-
- StringBuilder relativePath = new StringBuilder();
-
- // add back refs for the rest of from location.
- while ( fromTokeniser.hasMoreTokens() )
- {
- fromTokeniser.nextToken();
-
- relativePath.append( ".." );
-
- if ( fromTokeniser.hasMoreTokens() )
- {
- relativePath.append( separatorChar );
- }
- }
-
- if ( relativePath.length() != 0 && toTokeniser.hasMoreTokens() )
- {
- relativePath.append( separatorChar );
- }
-
- // add fwd fills for whatever's left of to.
- while ( toTokeniser.hasMoreTokens() )
- {
- relativePath.append( toTokeniser.nextToken() );
-
- if ( toTokeniser.hasMoreTokens() )
- {
- relativePath.append( separatorChar );
- }
- }
- return relativePath.toString();
- }
-
- /**
- * @param project not null
- * @param models not null
- * @param menu not null
- */
- private void populateModulesMenuItemsFromModels( MavenProject project, List<Model> models, Menu menu )
- {
- for ( Model model : models )
- {
- String reactorUrl = getDistMgmntSiteUrl( model );
- String name = ( model.getName() == null ) ? model.getArtifactId() : model.getName();
-
- appendMenuItem( project, menu, name, reactorUrl, model.getArtifactId() );
- }
- }
-
- /**
- * @param project not null
- * @param menu not null
- * @param name not null
- * @param href could be null
- * @param defaultHref not null
- */
- private void appendMenuItem( MavenProject project, Menu menu, String name, String href, String defaultHref )
- {
- String selectedHref = href;
-
- if ( selectedHref == null )
- {
- selectedHref = defaultHref;
- }
-
- MenuItem item = new MenuItem();
- item.setName( name );
-
- String baseUrl = getDistMgmntSiteUrl( project );
- if ( baseUrl != null )
- {
- selectedHref = getRelativePath( selectedHref, baseUrl );
- }
-
- if ( selectedHref.endsWith( "/" ) )
- {
- item.setHref( selectedHref + "index.html" );
- }
- else
- {
- item.setHref( selectedHref + "/index.html" );
- }
- menu.addItem( item );
- }
-
- /**
- * @param name not null
- * @param href not null
- * @param categoryReports not null
- * @param locale not null
- * @return the menu item object
- */
- private MenuItem createCategoryMenu( String name, String href, List<MavenReport> categoryReports, Locale locale )
- {
- MenuItem item = new MenuItem();
- item.setName( name );
- item.setCollapse( true );
- item.setHref( href );
-
- // MSHARED-172, allow reports to define their order in some other way?
- //Collections.sort( categoryReports, new ReportComparator( locale ) );
-
- for ( MavenReport report : categoryReports )
- {
- MenuItem subitem = new MenuItem();
- subitem.setName( report.getName( locale ) );
- subitem.setHref( report.getOutputName() + ".html" );
- item.getItems().add( subitem );
- }
-
- return item;
- }
-
- // ----------------------------------------------------------------------
- // static methods
- // ----------------------------------------------------------------------
-
- /**
- * Convenience method.
- *
- * @param list could be null
- * @return true if the list is <code>null</code> or empty
- */
- private static boolean isEmptyList( List<?> list )
- {
- return list == null || list.isEmpty();
- }
-
- /**
- * Return distributionManagement.site.url if defined, null otherwise.
- *
- * @param project not null
- * @return could be null
- */
- private static String getDistMgmntSiteUrl( MavenProject project )
- {
- return getDistMgmntSiteUrl( project.getDistributionManagement() );
- }
-
- /**
- * Return distributionManagement.site.url if defined, null otherwise.
- *
- * @param model not null
- * @return could be null
- */
- private static String getDistMgmntSiteUrl( Model model )
- {
- return getDistMgmntSiteUrl( model.getDistributionManagement() );
- }
-
- private static String getDistMgmntSiteUrl( DistributionManagement distMgmnt )
- {
- if ( distMgmnt != null && distMgmnt.getSite() != null && distMgmnt.getSite().getUrl() != null )
- {
- return urlEncode( distMgmnt.getSite().getUrl() );
- }
-
- return null;
- }
-
- private static String urlEncode( final String url )
- {
- if ( url == null )
- {
- return null;
- }
-
- try
- {
- return new File( url ).toURI().toURL().toExternalForm();
- }
- catch ( MalformedURLException ex )
- {
- return url; // this will then throw somewhere else
- }
- }
-
- private static void setDistMgmntSiteUrl( Model model, String url )
- {
- if ( model.getDistributionManagement() == null )
- {
- model.setDistributionManagement( new DistributionManagement() );
- }
-
- if ( model.getDistributionManagement().getSite() == null )
- {
- model.getDistributionManagement().setSite( new Site() );
- }
-
- model.getDistributionManagement().getSite().setUrl( url );
- }
-
- private void checkNotNull( String name, Object value )
- {
- if ( value == null )
- {
- throw new IllegalArgumentException( "The parameter '" + name + "' cannot be null." );
- }
- }
-}
diff --git a/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/MojoLogWrapper.java b/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/MojoLogWrapper.java
deleted file mode 100644
index c93ca3b..0000000
--- a/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/MojoLogWrapper.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package org.apache.maven.doxia.tools;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.doxia.logging.Log;
-
-/**
- * Wrap a Mojo logger into a Doxia logger.
- *
- * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
- * @version $Id$
- * @since 1.1
- * @see org.apache.maven.plugin.logging.Log
- */
-public class MojoLogWrapper
- implements Log
-{
- private final org.apache.maven.plugin.logging.Log mojoLog;
-
- /**
- * @param log a Mojo log
- */
- public MojoLogWrapper( org.apache.maven.plugin.logging.Log log )
- {
- this.mojoLog = log;
- }
-
- /** {@inheritDoc} */
- public void setLogLevel( int level )
- {
- // nop
- }
-
- /** {@inheritDoc} */
- public void debug( CharSequence content )
- {
- mojoLog.debug( toString( content ) );
- }
-
- /** {@inheritDoc} */
- public void debug( CharSequence content, Throwable error )
- {
- mojoLog.debug( toString( content ), error );
- }
-
- /** {@inheritDoc} */
- public void debug( Throwable error )
- {
- mojoLog.debug( "", error );
- }
-
- /** {@inheritDoc} */
- public void info( CharSequence content )
- {
- mojoLog.info( toString( content ) );
- }
-
- /** {@inheritDoc} */
- public void info( CharSequence content, Throwable error )
- {
- mojoLog.info( toString( content ), error );
- }
-
- /** {@inheritDoc} */
- public void info( Throwable error )
- {
- mojoLog.info( "", error );
- }
-
- /** {@inheritDoc} */
- public void warn( CharSequence content )
- {
- mojoLog.warn( toString( content ) );
- }
-
- /** {@inheritDoc} */
- public void warn( CharSequence content, Throwable error )
- {
- mojoLog.warn( toString( content ), error );
- }
-
- /** {@inheritDoc} */
- public void warn( Throwable error )
- {
- mojoLog.warn( "", error );
- }
-
- /** {@inheritDoc} */
- public void error( CharSequence content )
- {
- mojoLog.error( toString( content ) );
- }
-
- /** {@inheritDoc} */
- public void error( CharSequence content, Throwable error )
- {
- mojoLog.error( toString( content ), error );
- }
-
- /** {@inheritDoc} */
- public void error( Throwable error )
- {
- mojoLog.error( "", error );
- }
-
- /** {@inheritDoc} */
- public boolean isDebugEnabled()
- {
- return mojoLog.isDebugEnabled();
- }
-
- /** {@inheritDoc} */
- public boolean isInfoEnabled()
- {
- return mojoLog.isInfoEnabled();
- }
-
- /** {@inheritDoc} */
- public boolean isWarnEnabled()
- {
- return mojoLog.isWarnEnabled();
- }
-
- /** {@inheritDoc} */
- public boolean isErrorEnabled()
- {
- return mojoLog.isErrorEnabled();
- }
-
- // ----------------------------------------------------------------------
- // Private methods
- // ----------------------------------------------------------------------
-
- private String toString( CharSequence content )
- {
- if ( content == null )
- {
- return "";
- }
-
- return content.toString();
- }
-}
diff --git a/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/ReportComparator.java b/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/ReportComparator.java
deleted file mode 100644
index 92765ea..0000000
--- a/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/ReportComparator.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.apache.maven.doxia.tools;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.text.Collator;
-import java.util.Comparator;
-import java.util.Locale;
-
-import org.apache.maven.reporting.MavenReport;
-
-/**
- * Sorts reports.
- *
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @version $Id$
- * @todo move to reporting API?
- * @todo allow reports to define their order in some other way?
- */
-public class ReportComparator
- implements Comparator<MavenReport>
-{
- /** the local */
- private final Locale locale;
-
- /**
- * Default constructor.
- *
- * @param locale not null
- */
- public ReportComparator( Locale locale )
- {
- if ( locale == null )
- {
- throw new IllegalArgumentException( "locale should be defined" );
- }
- this.locale = locale;
- }
-
- /** {@inheritDoc} */
- public int compare( MavenReport r1, MavenReport r2 )
- {
- Collator collator = Collator.getInstance( locale );
- return collator.compare( r1.getName( locale ), r2.getName( locale ) );
- }
-}
diff --git a/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/SiteTool.java b/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/SiteTool.java
deleted file mode 100644
index fdcd12a..0000000
--- a/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/SiteTool.java
+++ /dev/null
@@ -1,293 +0,0 @@
-package org.apache.maven.doxia.tools;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.doxia.site.decoration.DecorationModel;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.reporting.MavenReport;
-
-/**
- * Tool to play with <a href="http://maven.apache.org/doxia/">Doxia</a> objects
- * like <code>DecorationModel</code>.
- *
- * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
- * @version $Id$
- */
-public interface SiteTool
-{
- /** Plexus Role */
- String ROLE = SiteTool.class.getName();
-
- /**
- * The locale by default for all default bundles
- * @see Locale#ENGLISH
- */
- Locale DEFAULT_LOCALE = Locale.ENGLISH;
-
- /**
- * Get a skin artifact from one of the repositories.
- *
- * @param localRepository the Maven local repository, not null.
- * @param remoteArtifactRepositories the Maven remote repositories, not null.
- * @param decoration the Doxia site descriptor model, not null.
- * @return the <code>Skin</code> artifact defined in a <code>DecorationModel</code> from a given project and a
- * local repository
- * @throws SiteToolException if any
- */
- Artifact getSkinArtifactFromRepository( ArtifactRepository localRepository,
- List<ArtifactRepository> remoteArtifactRepositories,
- DecorationModel decoration )
- throws SiteToolException;
-
- /**
- * Get the default skin artifact for a project from one of the repositories.
- *
- * @param localRepository the Maven local repository, not null.
- * @param remoteArtifactRepositories the Maven remote repositories, not null.
- * @return the default <code>Skin</code> artifact from a given project and a local repository
- * @throws SiteToolException if any
- * @see org.apache.maven.doxia.site.decoration.Skin#getDefaultSkin()
- * @see #getSkinArtifactFromRepository(ArtifactRepository, List, DecorationModel)
- */
- Artifact getDefaultSkinArtifact( ArtifactRepository localRepository,
- List<ArtifactRepository> remoteArtifactRepositories )
- throws SiteToolException;
-
- /**
- * Calculate the relative path between two URLs or between two files.
- *
- * For example:
- * <dl>
- * <dt>to = "http://maven.apache.org" and from = "http://maven.apache.org"</dt>
- * <dd>return ""</dd>
- * <dt>to = "http://maven.apache.org" and from = "http://maven.apache.org/plugins/maven-site-plugin/"</dt>
- * <dd>return "../.."</dd>
- * <dt>to = "http://maven.apache.org/plugins/maven-site-plugin/" and from = "http://maven.apache.org"</dt>
- * <dd>return "plugins/maven-site-plugin"</dd>
- * <dt>to = "/myproject/myproject-module1" and from = "/myproject/myproject"</dt>
- * <dd>return "../myproject-module1"</dd>
- * </dl>
- * <b>Note</b>: The file separator depends on the system.
- *
- * @param to the <code>to</code> url of file as string
- * @param from the <code>from</code> url of file as string
- * @return a relative path from <code>from</code> to <code>to</code>.
- */
- String getRelativePath( String to, String from );
-
- /**
- * Get a site descriptor from the project's base directory.
- *
- * @param siteDirectory The path to the directory containing the <code>site.xml</code> file, relative to the
- * project base directory. If null, using by default "src/site".
- * @param basedir not null.
- * @param locale the locale wanted for the site descriptor. If not null, searching for
- * <code>site_<i>localeLanguage</i>.xml</code>, otherwise searching for <code>site.xml</code>.
- * @return the site descriptor relative file, i.e. <code>src/site/site.xml</code>, depending on parameter values.
- */
- File getSiteDescriptorFromBasedir( String siteDirectory, File basedir, Locale locale );
-
- /**
- * Get a site descriptor from one of the repositories.
- *
- * @param project the Maven project, not null.
- * @param localRepository the Maven local repository, not null.
- * @param repositories the Maven remote repositories, not null.
- * @param locale the locale wanted for the site descriptor. If not null, searching for
- * <code>site_<i>localeLanguage</i>.xml</code>, otherwise searching for <code>site.xml</code>.
- * @return the site descriptor into the local repository after download of it from repositories or null if not
- * found in repositories.
- * @throws SiteToolException if any
- */
- File getSiteDescriptorFromRepository( MavenProject project, ArtifactRepository localRepository,
- List<ArtifactRepository> repositories, Locale locale )
- throws SiteToolException;
-
- /**
- * Get a decoration model for a project.
- *
- * @param project the Maven project, not null.
- * @param reactorProjects the Maven reactor projects, not null.
- * @param localRepository the Maven local repository, not null.
- * @param repositories the Maven remote repositories, not null.
- * @param siteDirectory The path to the directory containing the <code>site.xml</code> file, relative to the
- * project base directory. If null, using by default "src/site".
- * @param locale the locale used for the i18n in DecorationModel. If null, using the default locale in the jvm.
- * @return the <code>DecorationModel</code> object corresponding to the <code>site.xml</code> file with some
- * interpolations.
- * @throws SiteToolException if any
- */
- DecorationModel getDecorationModel( MavenProject project, List<MavenProject> reactorProjects,
- ArtifactRepository localRepository, List<ArtifactRepository> repositories,
- String siteDirectory, Locale locale )
- throws SiteToolException;
-
- /**
- * Populate the reports menu part of the decoration model.
- *
- * @param decorationModel the Doxia DecorationModel, not null.
- * @param locale the locale used for the i18n in DecorationModel. If null, using the default locale in the jvm.
- * @param categories a map to put on the decoration model, not null.
- */
- void populateReportsMenu( DecorationModel decorationModel, Locale locale,
- Map<String, List<MavenReport>> categories );
-
- /**
- * Interpolating several expressions in the site descriptor content. Actually, the expressions can be in
- * the project, the environment variables and the specific properties like <code>encoding</code>.
- * <p/>
- * For instance:
- * <dl>
- * <dt>${project.name}</dt>
- * <dd>The value from the POM of:
- * <p>
- * <project><br>
- * <name>myProjectName</name><br>
- * </project>
- * </p></dd>
- * <dt>${my.value}</dt>
- * <dd>The value from the POM of:
- * <p>
- * <properties><br>
- * <my.value>hello</my.value><br>
- * </properties>
- * </p></dd>
- * <dt>${JAVA_HOME}</dt>
- * <dd>The value of JAVA_HOME in the environment variables</dd>
- * </dl>
- *
- * @param props a map used for interpolation, not null.
- * @param aProject a Maven project, not null.
- * @param inputEncoding the input encoding of the site descriptor, not null.
- * @param outputEncoding the output encoding wanted, not null.
- * @param siteDescriptorContent the site descriptor file, not null.
- * @return the site descriptor content based on the <code>site.xml</code> file with interpolated strings.
- * @throws SiteToolException if errors happened during the interpolation.
- */
- String getInterpolatedSiteDescriptorContent( Map<String, String> props, MavenProject aProject,
- String siteDescriptorContent )
- throws SiteToolException;
-
- /**
- * Returns the parent POM with interpolated URLs. Attempts to source this value from the
- * <code>reactorProjects</code> parameters if available (reactor env model attributes
- * are interpolated), or if the reactor is unavailable (-N) resorts to the
- * <code>project.getParent().getUrl()</code> value which will NOT have been interpolated.
- * <p/>
- * TODO: once bug is fixed in Maven proper, remove this.
- *
- * @param aProject a Maven project, not null.
- * @param reactorProjects the Maven reactor projects, not null.
- * @param localRepository the Maven local repository, not null.
- * @return the parent project with interpolated URLs.
- */
- MavenProject getParentProject( MavenProject aProject, List<MavenProject> reactorProjects,
- ArtifactRepository localRepository );
-
- /**
- * Populate the parent menu part of the decoration model.
- *
- * @param decorationModel the Doxia DecorationModel, not null.
- * @param locale the locale used for the i18n in DecorationModel. If null, using the default locale in the jvm.
- * @param project a Maven project, not null.
- * @param parentProject a Maven parent project, not null.
- * @param keepInheritedRefs used for inherited references.
- */
- void populateParentMenu( DecorationModel decorationModel, Locale locale, MavenProject project,
- MavenProject parentProject, boolean keepInheritedRefs );
-
- /**
- * Populate the parent menu part of the decoration model.
- *
- * @param decorationModel the Doxia DecorationModel, not null.
- * @param locale the locale used for the i18n in DecorationModel. If null, using the default locale in the jvm.
- * @param project a Maven project, not null.
- * @param parentProject a Maven parent project, not null.
- * @param keepInheritedRefs used for inherited references.
- * @deprecated Please use
- * {@link #populateParentMenu(DecorationModel, Locale, MavenProject, MavenProject, boolean)} instead
- */
- void populateProjectParentMenu( DecorationModel decorationModel, Locale locale, MavenProject project,
- MavenProject parentProject, boolean keepInheritedRefs );
-
- /**
- * Populate the modules menu part of the decoration model.
- *
- * @param project a Maven project, not null.
- * @param reactorProjects the Maven reactor projects, not null.
- * @param localRepository the Maven local repository, not null.
- * @param decorationModel the Doxia site descriptor model, not null.
- * @param locale the locale used for the i18n in DecorationModel. If null, using the default locale in the jvm.
- * @param keepInheritedRefs used for inherited references.
- * @throws SiteToolException if any
- * @deprecated Please use
- * {@link #populateModulesMenu(MavenProject, List, ArtifactRepository, DecorationModel, Locale, boolean)}
- * instead
- */
- void populateModules( MavenProject project, List<MavenProject> reactorProjects, ArtifactRepository localRepository,
- DecorationModel decorationModel, Locale locale, boolean keepInheritedRefs )
- throws SiteToolException;
-
- /**
- * Populate the modules menu part of the decoration model.
- *
- * @param project a Maven project, not null.
- * @param reactorProjects the Maven reactor projects, not null.
- * @param localRepository the Maven local repository, not null.
- * @param decorationModel the Doxia site descriptor model, not null.
- * @param locale the locale used for the i18n in DecorationModel. If null, using the default locale in the jvm.
- * @param keepInheritedRefs used for inherited references.
- * @throws SiteToolException if any
- */
- void populateModulesMenu( MavenProject project, List<MavenProject> reactorProjects,
- ArtifactRepository localRepository, DecorationModel decorationModel, Locale locale,
- boolean keepInheritedRefs )
- throws SiteToolException;
-
- /**
- * Init the <code>localesList</code> variable.
- * <p>If the <code>locales</code> variable is available, the first valid token will be the
- * <code>defaultLocale</code> for this instance of the Java Virtual Machine.</p>
- *
- * @param locales A comma separated list of locales supported by Maven. The first valid token will be the
- * default Locale for this instance of the Java Virtual Machine.
- * @return a list of <code>Locale</code>
- */
- List<Locale> getAvailableLocales( String locales );
-
- /**
- * Converts a locale code like "en", "en_US" or "en_US_win" to a <code>java.util.Locale</code>
- * object.
- * <p>If localeCode = <code>default</code>, return the current value of the default locale for this instance
- * of the Java Virtual Machine.</p>
- *
- * @param localeCode the locale code string.
- * @return a java.util.Locale object instanced or null if errors occurred
- * @see <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Locale.html">java.util.Locale#getDefault()</a>
- */
- Locale codeToLocale( String localeCode );
-}
diff --git a/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/SiteToolException.java b/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/SiteToolException.java
deleted file mode 100644
index 0c075ac..0000000
--- a/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/SiteToolException.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.apache.maven.doxia.tools;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * An exception occurring during the execution of this tool.
- *
- * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
- * @version $Id$
- */
-public class SiteToolException
- extends Exception
-{
- /** serialVersionUID */
- static final long serialVersionUID = 2331441332996055959L;
-
- /**
- * Construct a new <code>SiteToolException</code> exception wrapping an underlying <code>Exception</code>
- * and providing a <code>message</code>.
- *
- * @param message could be null
- * @param cause could be null
- */
- public SiteToolException( String message, Exception cause )
- {
- super( message, cause );
- }
-
- /**
- * Construct a new <code>SiteToolException</code> exception wrapping an underlying <code>Throwable</code>
- * and providing a <code>message</code>.
- *
- * @param message could be null
- * @param cause could be null
- */
- public SiteToolException( String message, Throwable cause )
- {
- super( message, cause );
- }
-
- /**
- * Construct a new <code>SiteToolException</code> exception providing a <code>message</code>.
- *
- * @param message could be null
- */
- public SiteToolException( String message )
- {
- super( message );
- }
-}
diff --git a/doxia-integration-tools/src/main/resources/default-site.xml b/doxia-integration-tools/src/main/resources/default-site.xml
deleted file mode 100644
index 5ba93bf..0000000
--- a/doxia-integration-tools/src/main/resources/default-site.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project name="${project.name}">
- <bannerLeft>
- <name>${project.name}</name>
- </bannerLeft>
- <body>
- <links>
- <item name="${project.name}" href="${project.url}"/>
- </links>
- <menu ref="parent" />
- <menu ref="modules" />
- <menu ref="reports" />
- </body>
-</project>
diff --git a/doxia-integration-tools/src/main/resources/site-tool.properties b/doxia-integration-tools/src/main/resources/site-tool.properties
deleted file mode 100644
index a3062d8..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = Parent Project
-decorationModel.menu.projectdocumentation = Project Documentation
-decorationModel.menu.projectinformation = Project Information
-decorationModel.menu.projectmodules = Modules
-decorationModel.menu.projectreports = Project Reports
\ No newline at end of file
diff --git a/doxia-integration-tools/src/main/resources/site-tool_ca.properties b/doxia-integration-tools/src/main/resources/site-tool_ca.properties
deleted file mode 100644
index 8e516e2..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_ca.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = Projecte pare
-decorationModel.menu.projectdocumentation = Documentaci\u00f3 del projecte
-decorationModel.menu.projectinformation = Informaci\u00f3 del projecte
-decorationModel.menu.projectmodules = M\u00f2duls
-decorationModel.menu.projectreports = Informes del projecte
diff --git a/doxia-integration-tools/src/main/resources/site-tool_cs.properties b/doxia-integration-tools/src/main/resources/site-tool_cs.properties
deleted file mode 100644
index 70e2341..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_cs.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = Nad\u0159azen\u00fd projekt
-decorationModel.menu.projectdocumentation = Dokumentace projektu
-decorationModel.menu.projectinformation = Informace o projektu
-decorationModel.menu.projectmodules = Moduly
-decorationModel.menu.projectreports = Souhrny projektu
diff --git a/doxia-integration-tools/src/main/resources/site-tool_da.properties b/doxia-integration-tools/src/main/resources/site-tool_da.properties
deleted file mode 100644
index 0f8d339..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_da.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = Overordnet Projekt
-decorationModel.menu.projectdocumentation = Projekt Dokumentation
-decorationModel.menu.projectinformation = Projekt Information
-decorationModel.menu.projectmodules = Moduler
-decorationModel.menu.projectreports = Projekt Rapporter
\ No newline at end of file
diff --git a/doxia-integration-tools/src/main/resources/site-tool_de.properties b/doxia-integration-tools/src/main/resources/site-tool_de.properties
deleted file mode 100644
index 9302498..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_de.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = \u00fcbergeordnetes Projekt
-decorationModel.menu.projectdocumentation = Projektdokumentation
-decorationModel.menu.projectinformation = Projektinformationen
-decorationModel.menu.projectmodules = Module
-decorationModel.menu.projectreports = Projektberichte
diff --git a/doxia-integration-tools/src/main/resources/site-tool_en.properties b/doxia-integration-tools/src/main/resources/site-tool_en.properties
deleted file mode 100644
index 0c479bc..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_en.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-# NOTE:
-# This bundle is intentionally empty because English strings are provided by the base bundle via the parent chain. It
-# must be provided nevertheless such that a request for locale "en" will not errorneously pick up the bundle for the
-# JVM's default locale (which need not be "en"). See the method javadoc about
-# ResourceBundle.getBundle(String, Locale, ClassLoader)
-# for a full description of the lookup strategy.
diff --git a/doxia-integration-tools/src/main/resources/site-tool_es.properties b/doxia-integration-tools/src/main/resources/site-tool_es.properties
deleted file mode 100644
index 563f6ae..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_es.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = Proyecto padre
-decorationModel.menu.projectdocumentation = Documentaci\u00f3n del proyecto
-decorationModel.menu.projectinformation = Informaci\u00f3n del proyecto
-decorationModel.menu.projectmodules = M\u00f3dulos
-decorationModel.menu.projectreports = Informes del proyecto
diff --git a/doxia-integration-tools/src/main/resources/site-tool_fr.properties b/doxia-integration-tools/src/main/resources/site-tool_fr.properties
deleted file mode 100644
index 86c374f..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_fr.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = Projet parent
-decorationModel.menu.projectdocumentation = Documentation sur le projet
-decorationModel.menu.projectinformation = Info Projet
-decorationModel.menu.projectmodules = Modules
-decorationModel.menu.projectreports = Rapports Projet
diff --git a/doxia-integration-tools/src/main/resources/site-tool_gl.properties b/doxia-integration-tools/src/main/resources/site-tool_gl.properties
deleted file mode 100644
index 7e40bad..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_gl.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = Proxecto pai
-decorationModel.menu.projectdocumentation = Documentaci\u00f3n do proxecto
-decorationModel.menu.projectinformation = Informaci\u00f3n do proxecto
-decorationModel.menu.projectmodules = M\u00f3dulos
-decorationModel.menu.projectreports = Informes do proxecto
diff --git a/doxia-integration-tools/src/main/resources/site-tool_hu.properties b/doxia-integration-tools/src/main/resources/site-tool_hu.properties
deleted file mode 100644
index 7320175..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_hu.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = Sz\u00fcl\u0151 projekt
-decorationModel.menu.projectdocumentation = Projekt dokument\u00e1ci\u00f3
-decorationModel.menu.projectinformation = Projekt inform\u00e1ci\u00f3
-decorationModel.menu.projectmodules = Modulok
-decorationModel.menu.projectreports = Projekt riportok
diff --git a/doxia-integration-tools/src/main/resources/site-tool_it.properties b/doxia-integration-tools/src/main/resources/site-tool_it.properties
deleted file mode 100644
index 23e4534..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_it.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = Progetto Padre
-decorationModel.menu.projectdocumentation = Documentazione del Progetto
-decorationModel.menu.projectinformation = Informazioni sul Progetto
-decorationModel.menu.projectmodules = Moduli
-decorationModel.menu.projectreports = Rapporti del Progetto
diff --git a/doxia-integration-tools/src/main/resources/site-tool_ja.properties b/doxia-integration-tools/src/main/resources/site-tool_ja.properties
deleted file mode 100644
index 89607d0..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_ja.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = \u89aa\u30d7\u30ed\u30b8\u30a7\u30af\u30c8
-decorationModel.menu.projectdocumentation = \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u6587\u66f8
-decorationModel.menu.projectinformation = \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u60c5\u5831
-decorationModel.menu.projectmodules = \u30e2\u30b8\u30e5\u30fc\u30eb
-decorationModel.menu.projectreports = \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30ec\u30dd\u30fc\u30c8
diff --git a/doxia-integration-tools/src/main/resources/site-tool_ko.properties b/doxia-integration-tools/src/main/resources/site-tool_ko.properties
deleted file mode 100644
index 472686a..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_ko.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = \ubd80\ubaa8 \ud504\ub85c\uc81d\ud2b8
-decorationModel.menu.projectdocumentation = \ud504\ub85c\uc81d\ud2b8 \ubb38\uc11c\ud654
-decorationModel.menu.projectinformation = \ud504\ub85c\uc81d\ud2b8 \uc815\ubcf4
-decorationModel.menu.projectmodules = \ubaa8\ub4c8
-decorationModel.menu.projectreports = \ud504\ub85c\uc81d\ud2b8 \ubcf4\uace0\uc11c
diff --git a/doxia-integration-tools/src/main/resources/site-tool_lt.properties b/doxia-integration-tools/src/main/resources/site-tool_lt.properties
deleted file mode 100644
index 9402a37..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_lt.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = T\u0117vinis projektas
-decorationModel.menu.projectdocumentation = Projekt\u0173 dokumentacija
-decorationModel.menu.projectinformation = Projekto informacija
-decorationModel.menu.projectmodules = Moduliai
-decorationModel.menu.projectreports = Projekto ataskaitos
diff --git a/doxia-integration-tools/src/main/resources/site-tool_nl.properties b/doxia-integration-tools/src/main/resources/site-tool_nl.properties
deleted file mode 100644
index 503545a..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_nl.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = Bevattend project
-decorationModel.menu.projectdocumentation = Project documentatie
-decorationModel.menu.projectinformation = Project informatie
-decorationModel.menu.projectmodules = Modulen
-decorationModel.menu.projectreports = Project rapporten
diff --git a/doxia-integration-tools/src/main/resources/site-tool_no.properties b/doxia-integration-tools/src/main/resources/site-tool_no.properties
deleted file mode 100644
index 7504f3f..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_no.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = Hovedprosjekt
-decorationModel.menu.projectdocumentation = Prosjekt dokumentasjon
-decorationModel.menu.projectinformation = Prosjekt informasjon
-decorationModel.menu.projectmodules = Moduler
-decorationModel.menu.projectreports = Prosjekt rapporter
diff --git a/doxia-integration-tools/src/main/resources/site-tool_pl.properties b/doxia-integration-tools/src/main/resources/site-tool_pl.properties
deleted file mode 100644
index 1d0c490..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_pl.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = Projekt nadrz\u0119dny
-decorationModel.menu.projectdocumentation = Dokumentacja projektu
-decorationModel.menu.projectinformation = Informacja o projekcie
-decorationModel.menu.projectmodules = Modu\u0142y
-decorationModel.menu.projectreports = Raporty projektu
diff --git a/doxia-integration-tools/src/main/resources/site-tool_pt.properties b/doxia-integration-tools/src/main/resources/site-tool_pt.properties
deleted file mode 100644
index 29b2dea..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_pt.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = Projecto Pai
-decorationModel.menu.projectdocumentation = Documenta\u00e7\u00e3o do Projeto
-decorationModel.menu.projectinformation = Informa\u00e7\u00e3o do Projeto
-decorationModel.menu.projectmodules = M\u00f3dulos
-decorationModel.menu.projectreports = Relat\u00f3rios do Projeto
diff --git a/doxia-integration-tools/src/main/resources/site-tool_pt_BR.properties b/doxia-integration-tools/src/main/resources/site-tool_pt_BR.properties
deleted file mode 100644
index 74785c6..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_pt_BR.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = Projeto Pai
-decorationModel.menu.projectdocumentation = Documenta\u00e7\u00e3o do Projeto
-decorationModel.menu.projectinformation = Informa\u00e7\u00f5es sobre o Projeto
-decorationModel.menu.projectmodules = M\u00f3dulo
-decorationModel.menu.projectreports = Relat\u00f3rios do Projeto
diff --git a/doxia-integration-tools/src/main/resources/site-tool_ru.properties b/doxia-integration-tools/src/main/resources/site-tool_ru.properties
deleted file mode 100644
index 60506eb..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_ru.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u041f\u0440\u043e\u0435\u043a\u0442
-decorationModel.menu.projectdocumentation = \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u041f\u0440\u043e\u0435\u043a\u0442\u0430
-decorationModel.menu.projectinformation = \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u041f\u0440\u043e\u0435\u043a\u0442\u0435
-decorationModel.menu.projectmodules = \u041c\u043e\u0434\u0443\u043b\u0438
-decorationModel.menu.projectreports = \u041e\u0442\u0447\u0435\u0442\u044b \u041f\u0440\u043e\u0435\u043a\u0442\u0430
\ No newline at end of file
diff --git a/doxia-integration-tools/src/main/resources/site-tool_sk.properties b/doxia-integration-tools/src/main/resources/site-tool_sk.properties
deleted file mode 100644
index e21927d..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_sk.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = Nadraden\u00fd projekt
-decorationModel.menu.projectdocumentation = Projektov\u00e1 dokument\u00e1cia
-decorationModel.menu.projectinformation = Inform\u00e1cie o projekte
-decorationModel.menu.projectmodules = Moduly
-decorationModel.menu.projectreports = Projektov\u00e9 zostavy
diff --git a/doxia-integration-tools/src/main/resources/site-tool_sv.properties b/doxia-integration-tools/src/main/resources/site-tool_sv.properties
deleted file mode 100644
index 4647faa..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_sv.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = F\u00f6r\u00e4ldraprojekt
-decorationModel.menu.projectdocumentation = Projektdokumentation
-decorationModel.menu.projectinformation = Projektinformation
-decorationModel.menu.projectmodules = Moduler
-decorationModel.menu.projectreports = Projektrapporter
\ No newline at end of file
diff --git a/doxia-integration-tools/src/main/resources/site-tool_tr.properties b/doxia-integration-tools/src/main/resources/site-tool_tr.properties
deleted file mode 100644
index 2b5a3f2..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_tr.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = Ana Proje
-decorationModel.menu.projectdocumentation = Proje Dok\u00fcmantasyonu
-decorationModel.menu.projectinformation = Proje Bilgileri
-decorationModel.menu.projectmodules = Mod\u00fcller
-decorationModel.menu.projectreports = Proje Raporlar\u00fd
diff --git a/doxia-integration-tools/src/main/resources/site-tool_zh_CN.properties b/doxia-integration-tools/src/main/resources/site-tool_zh_CN.properties
deleted file mode 100644
index 42794f8..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_zh_CN.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = \u7236\u9879\u76ee
-decorationModel.menu.projectdocumentation = \u9879\u76ee\u6587\u6863
-decorationModel.menu.projectinformation = \u9879\u76ee\u4fe1\u606f
-decorationModel.menu.projectmodules = \u6a21\u5757
-decorationModel.menu.projectreports = \u9879\u76ee\u62a5\u8868
diff --git a/doxia-integration-tools/src/main/resources/site-tool_zh_TW.properties b/doxia-integration-tools/src/main/resources/site-tool_zh_TW.properties
deleted file mode 100644
index f6ebd18..0000000
--- a/doxia-integration-tools/src/main/resources/site-tool_zh_TW.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-decorationModel.menu.parentproject = \u7236\u5c08\u6848 (Parent Project)
-decorationModel.menu.projectdocumentation = \u5c08\u6848\u6587\u4ef6 (Project Documentation)
-decorationModel.menu.projectinformation = \u5c08\u6848\u8cc7\u8a0a (Project Information)
-decorationModel.menu.projectmodules = \u6a21\u7d44 (Modules)
-decorationModel.menu.projectreports = \u5c08\u6848\u5831\u8868 (Project Reports)
diff --git a/doxia-integration-tools/src/site/apt/index.apt b/doxia-integration-tools/src/site/apt/index.apt
deleted file mode 100644
index 2b7a6a4..0000000
--- a/doxia-integration-tools/src/site/apt/index.apt
+++ /dev/null
@@ -1,40 +0,0 @@
- ------
- Introduction
- ------
- Dennis Lundberg
- ------
- 2008-04-27
- ------
-
- ~~ Licensed to the Apache Software Foundation (ASF) under one
- ~~ or more contributor license agreements. See the NOTICE file
- ~~ distributed with this work for additional information
- ~~ regarding copyright ownership. The ASF licenses this file
- ~~ to you under the Apache License, Version 2.0 (the
- ~~ "License"); you may not use this file except in compliance
- ~~ with the License. You may obtain a copy of the License at
- ~~
- ~~ http://www.apache.org/licenses/LICENSE-2.0
- ~~
- ~~ Unless required by applicable law or agreed to in writing,
- ~~ software distributed under the License is distributed on an
- ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ~~ KIND, either express or implied. See the License for the
- ~~ specific language governing permissions and limitations
- ~~ under the License.
-
- ~~ NOTE: For help with the syntax of this file, see:
- ~~ http://maven.apache.org/doxia/references/apt-format.html
-
-
-Maven Doxia Integration Tools
-
- This shared component has some utilities that are useful when integrating Doxia in Maven,
- mainly for site generation and report creation.
-
- The main entry point is the
- {{{./apidocs/org/apache/maven/doxia/tools/SiteTool.html}SiteTool}} Plexus component.
-
-* Usage
-
- Instructions on how to use the integration of Doxia in Maven can be found {{{./usage.html}here}}.
diff --git a/doxia-integration-tools/src/site/apt/usage.apt b/doxia-integration-tools/src/site/apt/usage.apt
deleted file mode 100644
index 1c22fef..0000000
--- a/doxia-integration-tools/src/site/apt/usage.apt
+++ /dev/null
@@ -1,69 +0,0 @@
- ------
- Usage
- ------
- Dennis Lundberg
- Vincent Siveton
- ------
- 2008-04-27
- ------
-
- ~~ Licensed to the Apache Software Foundation (ASF) under one
- ~~ or more contributor license agreements. See the NOTICE file
- ~~ distributed with this work for additional information
- ~~ regarding copyright ownership. The ASF licenses this file
- ~~ to you under the Apache License, Version 2.0 (the
- ~~ "License"); you may not use this file except in compliance
- ~~ with the License. You may obtain a copy of the License at
- ~~
- ~~ http://www.apache.org/licenses/LICENSE-2.0
- ~~
- ~~ Unless required by applicable law or agreed to in writing,
- ~~ software distributed under the License is distributed on an
- ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ~~ KIND, either express or implied. See the License for the
- ~~ specific language governing permissions and limitations
- ~~ under the License.
-
- ~~ NOTE: For help with the syntax of this file, see:
- ~~ http://maven.apache.org/doxia/references/apt-format.html
-
-Using the SiteTool in a Mojo
-
-+-----
-...
-import org.apache.maven.doxia.tools.SiteTool;
-...
-
-/**
- * Your own mojo.
- */
-public class YourOwnMojo extends AbstractMojo
-{
- ...
-
- /**
- * SiteTool.
- *
- * @component
- */
- protected SiteTool siteTool;
-
- ...
-
- public someMethod()
- {
- List localesList = siteTool.getAvailableLocales( locales );
- String relativePath = siteTool.getRelativePath( "C:/foo/child",
- "C:/foo/master" );
- ...
- }
-
- ...
-}
-+-----
-
-* References
-
- [[1]] {{{./apidocs/org/apache/maven/doxia/tools/SiteTool.html}SiteTool API}}
-
- []
\ No newline at end of file
diff --git a/doxia-integration-tools/src/site/resources/download.cgi b/doxia-integration-tools/src/site/resources/download.cgi
deleted file mode 100644
index 1b178d2..0000000
--- a/doxia-integration-tools/src/site/resources/download.cgi
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Just call the standard mirrors.cgi script. It will use download.html
-# as the input template.
-exec /www/www.apache.org/dyn/mirrors/mirrors.cgi $*
\ No newline at end of file
diff --git a/doxia-integration-tools/src/site/site.xml b/doxia-integration-tools/src/site/site.xml
deleted file mode 100644
index 1fce480..0000000
--- a/doxia-integration-tools/src/site/site.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xmlns="http://maven.apache.org/DECORATION/1.3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/DECORATION/1.3.0 http://maven.apache.org/xsd/decoration-1.3.0.xsd">
- <body>
- <menu name="Overview">
- <item name="Introduction" href="index.html" />
- <item name="Usage" href="usage.html" />
- <item name="JavaDocs" href="apidocs/index.html"/>
- <item name="Source Xref" href="xref/index.html"/>
- <!--item name="FAQ" href="faq.html"/-->
- <!-- According to http://jira.codehaus.org/browse/MNGSITE-152 -->
- <item name="License" href="http://www.apache.org/licenses/"/>
- <item name="Download" href="download.html"/>
- </menu>
-
- <menu ref="reports" />
- </body>
-</project>
diff --git a/doxia-integration-tools/src/site/xdoc/download.xml.vm b/doxia-integration-tools/src/site/xdoc/download.xml.vm
deleted file mode 100644
index 11c2577..0000000
--- a/doxia-integration-tools/src/site/xdoc/download.xml.vm
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<document>
- <properties>
- <title>Download ${project.name} Source</title>
- </properties>
- <body>
- <section name="Download ${project.name} ${project.version} Source">
-
- <p>${project.name} ${project.version} is distributed in source format. Use a source archive if you intend to build
- ${project.name} yourself. Otherwise, simply use the ready-made binary artifacts from central repository.</p>
-
- <p>You will be prompted for a mirror - if the file is not found on yours, please be patient, as it may take 24
- hours to reach all mirrors.<p/>
-
- <p>In order to guard against corrupted downloads/installations, it is highly recommended to
- <a href="http://www.apache.org/dev/release-signing#verifying-signature">verify the signature</a>
- of the release bundles against the public <a href="http://www.apache.org/dist/maven/KEYS">KEYS</a> used by the Apache Maven
- developers.</p>
-
- <p>${project.name} is distributed under the <a href="http://www.apache.org/licenses/">Apache License, version 2.0</a>.</p>
-
- <p></p>We <b>strongly</b> encourage our users to configure a Maven repository mirror closer to their location, please read <a href="./guides/mini/guide-mirror-settings.html">How to Use Mirrors for Repositories</a>.</p>
-
- <a name="mirror"/>
- <subsection name="Mirror">
-
- <p>
- [if-any logo]
- <a href="[link]">
- <img align="right" src="[logo]" border="0"
- alt="logo"/>
- </a>
- [end]
- The currently selected mirror is
- <b>[preferred]</b>.
- If you encounter a problem with this mirror,
- please select another mirror.
- If all mirrors are failing, there are
- <i>backup</i>
- mirrors
- (at the end of the mirrors list) that should be available.
- </p>
-
- <form action="[location]" method="get" id="SelectMirror">
- Other mirrors:
- <select name="Preferred">
- [if-any http]
- [for http]
- <option value="[http]">[http]</option>
- [end]
- [end]
- [if-any ftp]
- [for ftp]
- <option value="[ftp]">[ftp]</option>
- [end]
- [end]
- [if-any backup]
- [for backup]
- <option value="[backup]">[backup] (backup)</option>
- [end]
- [end]
- </select>
- <input type="submit" value="Change"/>
- </form>
-
- <p>
- You may also consult the
- <a href="http://www.apache.org/mirrors/">complete list of
- mirrors.</a>
- </p>
-
- </subsection>
-
- <subsection name="${project.name} ${project.version}">
-
- <p>This is the current stable version of ${project.name}.</p>
-
- <table>
- <thead>
- <tr>
- <th></th>
- <th>Link</th>
- <th>Checksum</th>
- <th>Signature</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>${project.name} ${project.version} (Source zip)</td>
- <td><a href="[preferred]maven/doxia/${project.artifactId}-${project.version}-source-release.zip">maven/doxia/${project.artifactId}-${project.version}-source-release.zip</a></td>
- <td><a href="http://www.apache.org/dist/maven/doxia/${project.artifactId}-${project.version}-source-release.zip.md5">maven/doxia/${project.artifactId}-${project.version}-source-release.zip.md5</a></td>
- <td><a href="http://www.apache.org/dist/maven/doxia/${project.artifactId}-${project.version}-source-release.zip.asc">maven/doxia/${project.artifactId}-${project.version}-source-release.zip.asc</a></td>
- </tr>
- </tbody>
- </table>
- </subsection>
-
- <subsection name="Previous Versions">
-
- <p>Older non-recommended releases can be found on our <a href="http://archive.apache.org/dist/maven/doxia/">archive site</a>.</p>
-
- </subsection>
- </section>
- </body>
-</document>
-
diff --git a/doxia-integration-tools/src/test/java/org/apache/maven/doxia/tools/DefaultSiteToolTest.java b/doxia-integration-tools/src/test/java/org/apache/maven/doxia/tools/DefaultSiteToolTest.java
deleted file mode 100644
index 0c3d11d..0000000
--- a/doxia-integration-tools/src/test/java/org/apache/maven/doxia/tools/DefaultSiteToolTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.apache.maven.doxia.tools;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import junit.framework.TestCase;
-
-/**
- * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
- * @version $Id$
- */
-public class DefaultSiteToolTest
- extends TestCase
-{
- /**
- * test getNormalizedPath().
- */
- public void testGetNormalizedPath()
- {
- assertEquals( null, DefaultSiteTool.getNormalizedPath( null ) );
- assertEquals( "", DefaultSiteTool.getNormalizedPath( "" ) );
- assertEquals( "", DefaultSiteTool.getNormalizedPath( "." ) );
- assertEquals( "", DefaultSiteTool.getNormalizedPath( "./" ) );
- assertEquals( "foo", DefaultSiteTool.getNormalizedPath( "foo" ) );
- assertEquals( "foo/bar", DefaultSiteTool.getNormalizedPath( "foo/bar" ) );
- assertEquals( "foo/bar", DefaultSiteTool.getNormalizedPath( "foo\\bar" ) );
- assertEquals( "foo/bar", DefaultSiteTool.getNormalizedPath( "foo/./bar" ) );
- assertEquals( "foo/bar", DefaultSiteTool.getNormalizedPath( "foo//bar" ) );
- assertEquals( "", DefaultSiteTool.getNormalizedPath( "foo/../" ) );
- assertEquals( "", DefaultSiteTool.getNormalizedPath( "foo/.." ) );
- assertEquals( "bar", DefaultSiteTool.getNormalizedPath( "foo/../bar" ) );
- assertEquals( "foo", DefaultSiteTool.getNormalizedPath( "./foo" ) );
- assertEquals( "../foo", DefaultSiteTool.getNormalizedPath( "../foo" ) );
- assertEquals( "../../foo", DefaultSiteTool.getNormalizedPath( "../../foo" ) );
- assertEquals( "index.html", DefaultSiteTool.getNormalizedPath( "./foo/../index.html" ) );
-
- // note: space is preserved and double slash is removed!
- assertEquals( "file:/Documents and Settings/", DefaultSiteTool.getNormalizedPath( "file://Documents and Settings/" ) );
- }
-}
diff --git a/doxia-integration-tools/src/test/java/org/apache/maven/doxia/tools/SiteToolTest.java b/doxia-integration-tools/src/test/java/org/apache/maven/doxia/tools/SiteToolTest.java
deleted file mode 100644
index 57de285..0000000
--- a/doxia-integration-tools/src/test/java/org/apache/maven/doxia/tools/SiteToolTest.java
+++ /dev/null
@@ -1,293 +0,0 @@
-package org.apache.maven.doxia.tools;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.doxia.site.decoration.DecorationModel;
-import org.apache.maven.doxia.site.decoration.Skin;
-import org.apache.maven.doxia.tools.stubs.SiteToolMavenProjectStub;
-import org.apache.maven.project.MavenProject;
-
-import org.codehaus.plexus.PlexusTestCase;
-
-/**
- * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
- * @version $Id$
- */
-public class SiteToolTest
- extends PlexusTestCase
-{
- /**
- * @return the repo.
- *
- * @throws Exception
- */
- protected ArtifactRepository getLocalRepo()
- throws Exception
- {
- String updatePolicyFlag = ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS;
- String checksumPolicyFlag = ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN;
- ArtifactRepositoryPolicy snapshotsPolicy = new ArtifactRepositoryPolicy( true, updatePolicyFlag,
- checksumPolicyFlag );
- ArtifactRepositoryPolicy releasesPolicy = new ArtifactRepositoryPolicy( true, updatePolicyFlag,
- checksumPolicyFlag );
- ArtifactRepositoryFactory artifactRepositoryFactory = (ArtifactRepositoryFactory) lookup( ArtifactRepositoryFactory.ROLE );
- ArtifactRepositoryLayout defaultArtifactRepositoryLayout = (ArtifactRepositoryLayout) lookup(
- ArtifactRepositoryLayout.ROLE,
- "default" );
- return artifactRepositoryFactory.createArtifactRepository( "local", getTestFile( "target/local-repo" ).toURI().toURL()
- .toString(), defaultArtifactRepositoryLayout, snapshotsPolicy, releasesPolicy );
- }
-
- /**
- * @return the local repo directory.
- *
- * @throws Exception
- */
- protected File getLocalRepoDir()
- throws Exception
- {
- return new File( getLocalRepo().getBasedir() );
- }
-
- /**
- * @throws Exception
- */
- public void testGetDefaultSkinArtifact()
- throws Exception
- {
- SiteTool tool = (SiteTool) lookup( SiteTool.ROLE );
- assertNotNull( tool );
-
- SiteToolMavenProjectStub project = new SiteToolMavenProjectStub( "site-tool-test" );
- assertNotNull( tool.getDefaultSkinArtifact( getLocalRepo(), project.getRemoteArtifactRepositories() ) );
- }
-
- /**
- * @throws Exception
- */
- public void testGetSkinArtifactFromRepository()
- throws Exception
- {
- SiteTool tool = (SiteTool) lookup( SiteTool.ROLE );
- assertNotNull( tool );
-
- SiteToolMavenProjectStub project = new SiteToolMavenProjectStub( "site-tool-test" );
- DecorationModel decorationModel = new DecorationModel();
- Skin skin = new Skin();
- skin.setGroupId( "org.apache.maven.skins" );
- skin.setArtifactId( "maven-stylus-skin" );
- decorationModel.setSkin( skin );
- assertNotNull( tool.getSkinArtifactFromRepository( getLocalRepo(), project.getRemoteArtifactRepositories(),
- decorationModel ) );
- }
-
- /**
- * @throws Exception
- */
- public void testGetRelativePath()
- throws Exception
- {
- SiteTool tool = (SiteTool) lookup( SiteTool.ROLE );
- assertNotNull( tool );
-
- String to = "http://maven.apache.org";
- String from = "http://maven.apache.org";
- assertEquals( tool.getRelativePath( to, from ), "" );
-
- to = "http://maven.apache.org";
- from = "http://maven.apache.org/";
- assertEquals( tool.getRelativePath( to, from ), "" );
-
- to = "http://maven.apache.org/";
- from = "http://maven.apache.org";
- assertEquals( tool.getRelativePath( to, from ), "" );
-
- to = "http://maven.apache.org/";
- from = "http://maven.apache.org/";
- assertEquals( tool.getRelativePath( to, from ), "" );
-
- to = "http://maven.apache.org/";
- from = "http://maven.apache.org/plugins/maven-site-plugin";
- assertEquals( tool.getRelativePath( to, from ), ".." + File.separator + ".." );
- to = "http://maven.apache.org";
- from = "http://maven.apache.org/plugins/maven-site-plugin/";
- assertEquals( tool.getRelativePath( to, from ), ".." + File.separator + ".." );
- to = "http://maven.apache.org/";
- from = "http://maven.apache.org/plugins/maven-site-plugin/";
- assertEquals( tool.getRelativePath( to, from ), ".." + File.separator + ".." );
- to = "http://maven.apache.org";
- from = "http://maven.apache.org/plugins/maven-site-plugin";
- assertEquals( tool.getRelativePath( to, from ), ".." + File.separator + ".." );
-
- to = "http://maven.apache.org/downloads.html";
- from = "http://maven.apache.org/index.html";
- // FIXME! assertEquals( "downloads.html", tool.getRelativePath( to, from ) );
-
- // MSITE-600, MSHARED-203
- to = "file:///tmp/bloop";
- from = "scp://localhost:/tmp/blop";
- // FIXME! assertEquals( tool.getRelativePath( to, from ), to );
-
- // note: 'tmp' is the host here which is probably not the intention, but at least the result is correct
- to = "file://tmp/bloop";
- from = "scp://localhost:/tmp/blop";
- assertEquals( tool.getRelativePath( to, from ), to );
-
- to = "http://maven.apache.org/plugins/maven-site-plugin/";
- from = "http://maven.apache.org";
- assertEquals( tool.getRelativePath( to, from ), "plugins" + File.separator + "maven-site-plugin" );
- to = "http://maven.apache.org/plugins/maven-site-plugin/";
- from = "http://maven.apache.org/";
- assertEquals( tool.getRelativePath( to, from ), "plugins" + File.separator + "maven-site-plugin" );
- to = "http://maven.apache.org/plugins/maven-site-plugin";
- from = "http://maven.apache.org";
- assertEquals( tool.getRelativePath( to, from ), "plugins" + File.separator + "maven-site-plugin" );
- to = "http://maven.apache.org/plugins/maven-site-plugin";
- from = "http://maven.apache.org/";
- assertEquals( tool.getRelativePath( to, from ), "plugins" + File.separator + "maven-site-plugin" );
-
- // Tests between files as described in MIDEA-102
- to = "C:/dev/voca/gateway/parser/gateway-parser.iml";
- from = "C:/dev/voca/gateway/";
- assertEquals( "Child file using Windows drive letter",
- "parser" + File.separator + "gateway-parser.iml", tool.getRelativePath( to, from ) );
- to = "C:/foo/child";
- from = "C:/foo/master";
- assertEquals( "Sibling directory using Windows drive letter",
- ".." + File.separator + "child", tool.getRelativePath( to, from ) );
- to = "/myproject/myproject-module1";
- from = "/myproject/myproject";
- assertEquals( "Sibling directory with similar name",
- ".." + File.separator + "myproject-module1", tool.getRelativePath( to, from ) );
-
- // Normalized paths as described in MSITE-284
- assertEquals( ".." + File.separator + "project-module-1" + File.separator + "src" + File.separator + "site",
- tool.getRelativePath( "Z:\\dir\\project\\project-module-1\\src\\site",
- "Z:\\dir\\project\\project-module-1\\..\\project-parent" ) );
- assertEquals( ".." + File.separator + ".." + File.separator + ".." + File.separator + "project-parent",
- tool.getRelativePath( "Z:\\dir\\project\\project-module-1\\..\\project-parent",
- "Z:\\dir\\project\\project-module-1\\src\\site" ) );
-
- assertEquals( ".." + File.separator + "foo", tool.getRelativePath( "../../foo/foo", "../../foo/bar" ) );
- }
-
- /**
- * @throws Exception
- */
- public void testGetSiteDescriptorFromBasedir()
- throws Exception
- {
- SiteTool tool = (SiteTool) lookup( SiteTool.ROLE );
- assertNotNull( tool );
-
- SiteToolMavenProjectStub project = new SiteToolMavenProjectStub( "site-tool-test" );
- assertEquals( tool.getSiteDescriptorFromBasedir( null, project.getBasedir(), null ).toString(),
- project.getBasedir() + File.separator + "src" + File.separator + "site" + File.separator + "site.xml" );
- assertEquals( tool.getSiteDescriptorFromBasedir( null, project.getBasedir(), Locale.ENGLISH ).toString(),
- project.getBasedir() + File.separator + "src" + File.separator + "site" + File.separator + "site.xml" );
- String siteDir = "src/blabla";
- assertEquals( tool.getSiteDescriptorFromBasedir( siteDir, project.getBasedir(), null ).toString(),
- project.getBasedir() + File.separator + "src" + File.separator + "blabla" + File.separator + "site.xml" );
- }
-
- /**
- * @throws Exception
- */
- public void testGetSiteDescriptorFromRepository()
- throws Exception
- {
- SiteTool tool = (SiteTool) lookup( SiteTool.ROLE );
- assertNotNull( tool );
-
- SiteToolMavenProjectStub project = new SiteToolMavenProjectStub( "site-tool-test" );
- project.setGroupId( "org.apache.maven" );
- project.setArtifactId( "maven-site" );
- project.setVersion( "1.0" );
- String result = getLocalRepoDir() + File.separator + "org" + File.separator + "apache" + File.separator
- + "maven" + File.separator + "maven-site" + File.separator + "1.0" + File.separator
- + "maven-site-1.0-site.xml";
-
- assertEquals( tool.getSiteDescriptorFromRepository( project, getLocalRepo(),
- project.getRemoteArtifactRepositories(), Locale.ENGLISH )
- .toString(), result );
- }
-
- /**
- * @throws Exception
- */
- public void testGetDecorationModel()
- throws Exception
- {
- SiteTool tool = (SiteTool) lookup( SiteTool.ROLE );
- assertNotNull( tool );
-
- SiteToolMavenProjectStub project = new SiteToolMavenProjectStub( "site-tool-test" );
- project.setGroupId( "org.apache.maven" );
- project.setArtifactId( "maven-site" );
- project.setVersion( "1.0" );
- String siteDirectory = "src/site";
- List<MavenProject> reactorProjects = new ArrayList<MavenProject>();
-
- project.setBasedir( null ); // get it from repo
-
- DecorationModel model =
- tool.getDecorationModel( project, reactorProjects, getLocalRepo(), project.getRemoteArtifactRepositories(),
- siteDirectory, Locale.getDefault() );
- assertNotNull( model );
- assertNotNull( model.getBannerLeft() );
- assertEquals( "Maven", model.getBannerLeft().getName() );
- assertEquals( "images/apache-maven-project-2.png", model.getBannerLeft().getSrc() );
- assertEquals( "http://maven.apache.org/", model.getBannerLeft().getHref() );
- assertNotNull( model.getBannerRight() );
- assertNull( model.getBannerRight().getName() );
- assertEquals( "images/maven-logo-2.gif", model.getBannerRight().getSrc() );
- assertNull( model.getBannerRight().getHref() );
- }
-
- /**
- * @throws Exception
- */
- public void testGetDefaultDecorationModel()
- throws Exception
- {
- SiteTool tool = (SiteTool) lookup( SiteTool.ROLE );
- assertNotNull( tool );
-
- SiteToolMavenProjectStub project = new SiteToolMavenProjectStub( "no-site-test" );
- String siteDirectory = "src/site";
- List<MavenProject> reactorProjects = new ArrayList<MavenProject>();
-
- DecorationModel model =
- tool.getDecorationModel( project, reactorProjects, getLocalRepo(), project.getRemoteArtifactRepositories(),
- siteDirectory, Locale.getDefault() );
- assertNotNull( model );
- }
-
-}
diff --git a/doxia-integration-tools/src/test/java/org/apache/maven/doxia/tools/stubs/SiteToolMavenProjectStub.java b/doxia-integration-tools/src/test/java/org/apache/maven/doxia/tools/stubs/SiteToolMavenProjectStub.java
deleted file mode 100644
index 1264028..0000000
--- a/doxia-integration-tools/src/test/java/org/apache/maven/doxia/tools/stubs/SiteToolMavenProjectStub.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package org.apache.maven.doxia.tools.stubs;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.FileReader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.DefaultArtifactRepository;
-import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
-import org.apache.maven.model.Build;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
-
-/**
- * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
- * @version $Id$
- */
-public class SiteToolMavenProjectStub
- extends MavenProjectStub
-{
- private Build build;
-
- private File basedir;
-
- public SiteToolMavenProjectStub( String projectName )
- {
- basedir = new File( super.getBasedir() + "/src/test/resources/unit/" + projectName );
-
- MavenXpp3Reader pomReader = new MavenXpp3Reader();
- Model model = null;
-
- try
- {
- model = pomReader.read( new FileReader( new File( getBasedir(), "pom.xml" ) ) );
- setModel( model );
- }
- catch ( Exception e )
- {
- throw new RuntimeException( e );
- }
-
- setGroupId( model.getGroupId() );
- setArtifactId( model.getArtifactId() );
- setVersion( model.getVersion() );
- setName( model.getName() );
- setUrl( model.getUrl() );
- setPackaging( model.getPackaging() );
-
- build = new Build();
- build.setFinalName( model.getArtifactId() );
- build.setDirectory( super.getBasedir() + "/target/test/unit/" + projectName + "/target" );
- build.setSourceDirectory( getBasedir() + "/src/main/java" );
- build.setOutputDirectory( build.getDirectory() + "/classes" );
- build.setTestSourceDirectory( getBasedir() + "/src/test/java" );
- build.setTestOutputDirectory( build.getDirectory() + "/test-classes" );
-
- List<String> compileSourceRoots = new ArrayList<String>();
- compileSourceRoots.add( getBasedir() + "/src/main/java" );
- setCompileSourceRoots( compileSourceRoots );
-
- List<String> testCompileSourceRoots = new ArrayList<String>();
- testCompileSourceRoots.add( getBasedir() + "/src/test/java" );
- setTestCompileSourceRoots( testCompileSourceRoots );
- }
-
- /** {@inheritDoc} */
- public Build getBuild()
- {
- return build;
- }
-
- /** {@inheritDoc} */
- public void setBuild( Build build )
- {
- this.build = build;
- }
-
- /** {@inheritDoc} */
- public File getBasedir()
- {
- return basedir;
- }
-
- public void setBasedir( File basedir )
- {
- this.basedir = basedir;
- }
-
- /** {@inheritDoc} */
- public List<ArtifactRepository> getRemoteArtifactRepositories()
- {
- ArtifactRepository repository = new DefaultArtifactRepository( "central", "http://repo1.maven.org/maven2",
- new DefaultRepositoryLayout() );
-
- return Collections.singletonList( repository );
- }
-}
diff --git a/doxia-integration-tools/src/test/resources/unit/no-site-test/pom.xml b/doxia-integration-tools/src/test/resources/unit/no-site-test/pom.xml
deleted file mode 100644
index 6d048ee..0000000
--- a/doxia-integration-tools/src/test/resources/unit/no-site-test/pom.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>org.apache.maven.shared</groupId>
- <artifactId>no-site-test</artifactId>
- <version>1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <name>dummy</name>
-
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.2</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>
diff --git a/doxia-integration-tools/src/test/resources/unit/site-tool-test/pom.xml b/doxia-integration-tools/src/test/resources/unit/site-tool-test/pom.xml
deleted file mode 100644
index fb40c17..0000000
--- a/doxia-integration-tools/src/test/resources/unit/site-tool-test/pom.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>org.apache.maven.shared</groupId>
- <artifactId>site-tool-test</artifactId>
- <version>1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <name>dummy</name>
-
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>
diff --git a/doxia-integration-tools/src/test/resources/unit/site-tool-test/src/site/site.xml b/doxia-integration-tools/src/test/resources/unit/site-tool-test/src/site/site.xml
deleted file mode 100644
index 41db45e..0000000
--- a/doxia-integration-tools/src/test/resources/unit/site-tool-test/src/site/site.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project name="Maven Dummy Site">
- <bannerLeft>
- <name>Maven Site</name>
- <src>http://maven.apache.org/images/apache-maven-project.png</src>
- <href>http://maven.apache.org/</href>
- </bannerLeft>
- <bannerRight>
- <src>http://maven.apache.org/images/maven-small.gif</src>
- </bannerRight>
- <skin>
- <groupId>org.apache.maven.skins</groupId>
- <artifactId>maven-stylus-skin</artifactId>
- </skin>
- <body>
- <links>
- <item name="Maven 2" href="http://maven.apache.org/maven2/"/>
- </links>
-
- <menu name="Overview">
- <item name="Test" href="/test.html"/>
- </menu>
- ${reports}
- </body>
-</project>
diff --git a/pom.xml b/pom.xml
index 5c0ea40..2f3d17d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,7 +40,6 @@
<module>doxia-book-maven-plugin</module>
<module>doxia-book-renderer</module>
<module>doxia-converter</module>
- <module>doxia-integration-tools</module>
<module>doxia-linkcheck</module>
</modules>
</project>