Package org.apache.maven.doxia.tools
Class DefaultSiteTool
java.lang.Object
org.apache.maven.doxia.tools.DefaultSiteTool
- All Implemented Interfaces:
SiteTool
Default implementation of the site tool.
- Author:
- Vincent Siveton
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected SiteModelInheritanceAssemblerThe component for assembling inheritance.protected org.codehaus.plexus.i18n.I18NInternationalization.protected org.eclipse.aether.RepositorySystemThe component that is used to resolve additional required artifacts.Fields inherited from interface org.apache.maven.doxia.tools.SiteTool
DEFAULT_LOCALE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetInterpolatedSiteDescriptorContent(Map<String, String> props, org.apache.maven.project.MavenProject aProject, String siteDescriptorContent) Deprecated.protected static StringgetNormalizedPath(String path) getRelativePath(String to, String from) Deprecated.getSiteDescriptor(File siteDirectory, Locale locale) Get a site descriptor from the project's site directory.getSiteLocales(String locales) Extracts from a comma-separated list the locales that are available insite-toolresource bundle.getSiteModel(File siteDirectory, Locale locale, org.apache.maven.execution.MavenExecutionRequest request, org.apache.maven.project.MavenProject project, List<org.apache.maven.project.MavenProject> reactorProjects, org.eclipse.aether.RepositorySystemSession repoSession, List<org.eclipse.aether.repository.RemoteRepository> remoteProjectRepositories) Get a site model for a project.getSiteModel(File siteDirectory, Locale locale, org.apache.maven.project.MavenProject project, List<org.apache.maven.project.MavenProject> reactorProjects, org.eclipse.aether.RepositorySystemSession repoSession, List<org.eclipse.aether.repository.RemoteRepository> remoteProjectRepositories) Deprecated.org.apache.maven.artifact.ArtifactgetSkinArtifactFromRepository(org.eclipse.aether.RepositorySystemSession repoSession, List<org.eclipse.aether.repository.RemoteRepository> remoteProjectRepositories, Skin skin) Get a skin artifact from one of the repositories.voidpopulateReportsMenu(SiteModel siteModel, Locale locale, Map<String, List<org.apache.maven.reporting.MavenReport>> categories) Populate the pre-definedreportsmenu of the site model, if used through<menu ref="reports"/>.
-
Field Details
-
repositorySystem
@Inject protected org.eclipse.aether.RepositorySystem repositorySystemThe component that is used to resolve additional required artifacts. -
i18n
@Inject protected org.codehaus.plexus.i18n.I18N i18nInternationalization. -
assembler
The component for assembling inheritance.
-
-
Constructor Details
-
DefaultSiteTool
public DefaultSiteTool()
-
-
Method Details
-
getSkinArtifactFromRepository
public org.apache.maven.artifact.Artifact getSkinArtifactFromRepository(org.eclipse.aether.RepositorySystemSession repoSession, List<org.eclipse.aether.repository.RemoteRepository> remoteProjectRepositories, Skin skin) throws SiteToolException Get a skin artifact from one of the repositories.- Specified by:
getSkinArtifactFromRepositoryin interfaceSiteTool- Parameters:
repoSession- the repository system session, not null.remoteProjectRepositories- the Maven remote project repositories, not null.skin- the Skin model, not null.- Returns:
- the
Skinartifact defined in aSiteModelfrom a given project - Throws:
SiteToolException- if any
-
getRelativePath
Deprecated.This method is not implemented according to the URI specification and has many weird corner cases where it doesn't do the right thing. Please consider using a better implemented method from a different library such as org.apache.http.client.utils.URIUtils#resolve.- Specified by:
getRelativePathin interfaceSiteTool- Parameters:
to- thetourl of file as stringfrom- thefromurl of file as string- Returns:
- a relative path from
fromtoto.
-
getSiteDescriptor
Get a site descriptor from the project's site directory.- Specified by:
getSiteDescriptorin interfaceSiteTool- Parameters:
siteDirectory- the site directory, not nulllocale- the locale wanted for the site descriptor, not null. Most specific to least specific lookup fromsite_language_country_variant.xml,site_language_country.xml,site_language.xml}, tosite.xmlas last resort forLocale.ROOT, if provided locale defines a variant and/or a country and/or a language.- Returns:
- the most specific site descriptor file for the given locale
-
getSiteModel
@Deprecated public SiteModel getSiteModel(File siteDirectory, Locale locale, org.apache.maven.project.MavenProject project, List<org.apache.maven.project.MavenProject> reactorProjects, org.eclipse.aether.RepositorySystemSession repoSession, List<org.eclipse.aether.repository.RemoteRepository> remoteProjectRepositories) throws SiteToolException Deprecated.Description copied from interface:SiteToolGet a site model for a project.- Specified by:
getSiteModelin interfaceSiteTool- Parameters:
siteDirectory- the site directory, may be null if project from repositorylocale- the locale used for the i18n in SiteModel, not null. SeeSiteTool.getSiteDescriptor(File, Locale)for details.project- the Maven project, not null.reactorProjects- the Maven reactor projects, not null.repoSession- the repository system session, not null.remoteProjectRepositories- the Maven remote project repositories, not null.- Returns:
- the
SiteModelobject corresponding to thesite.xmlfile with some interpolations. - Throws:
SiteToolException- if any
-
getSiteModel
public SiteModel getSiteModel(File siteDirectory, Locale locale, org.apache.maven.execution.MavenExecutionRequest request, org.apache.maven.project.MavenProject project, List<org.apache.maven.project.MavenProject> reactorProjects, org.eclipse.aether.RepositorySystemSession repoSession, List<org.eclipse.aether.repository.RemoteRepository> remoteProjectRepositories) throws SiteToolException Description copied from interface:SiteToolGet a site model for a project.- Specified by:
getSiteModelin interfaceSiteTool- Parameters:
siteDirectory- the site directory, may be null if project from repositorylocale- the locale used for the i18n in SiteModel, not null. SeeSiteTool.getSiteDescriptor(File, Locale)for details.request- the Maven execution request, not null. This is needed to get the user properties and the system properties for interpolation.project- the Maven project, not null.reactorProjects- the Maven reactor projects, not null.repoSession- the repository system session, not null.remoteProjectRepositories- the Maven remote project repositories, not null.- Returns:
- the
SiteModelobject corresponding to thesite.xmlfile with some interpolations. - Throws:
SiteToolException- if any
-
getInterpolatedSiteDescriptorContent
@Deprecated public String getInterpolatedSiteDescriptorContent(Map<String, String> props, org.apache.maven.project.MavenProject aProject, String siteDescriptorContent) throws SiteToolExceptionDeprecated.Description copied from interface:SiteToolInterpolating several expressions in the site descriptor content. Actually, the expressions can be in the project, the environment variables and the specific properties likeencoding.For instance:
- ${project.name}
- The value from the POM of:
<project>
<name>myProjectName</name>
</project> - ${my.value}
- The value from the POM of:
<properties>
<my.value>hello</my.value>
</properties> - ${JAVA_HOME}
- The value of JAVA_HOME in the environment variables
- Specified by:
getInterpolatedSiteDescriptorContentin interfaceSiteTool- Parameters:
props- a map used for interpolation, not null.aProject- a Maven project, not null.siteDescriptorContent- the site descriptor file, not null.- Returns:
- the interpolated site descriptor content.
- Throws:
SiteToolException- if errors happened during the interpolation.
-
populateReportsMenu
public void populateReportsMenu(SiteModel siteModel, Locale locale, Map<String, List<org.apache.maven.reporting.MavenReport>> categories) Populate the pre-definedreportsmenu of the site model, if used through<menu ref="reports"/>. Notice this menu reference is translated into 2 separate menus: "Project Information" and "Project Reports".- Specified by:
populateReportsMenuin interfaceSiteTool- Parameters:
siteModel- the Doxia Sitetools SiteModel, not null.locale- the locale used for the i18n in SiteModel, not null. SeeSiteTool.getSiteDescriptor(File, Locale)for details.categories- reports per category to put in "Reports" or "Information" menus, not null.- See Also:
-
getSiteLocales
Extracts from a comma-separated list the locales that are available insite-toolresource bundle.- Specified by:
getSiteLocalesin interfaceSiteTool- Parameters:
locales- A comma separated list of locales- Returns:
- a list of
Locales.
-
getNormalizedPath
- Parameters:
path- could be null.- Returns:
- the path normalized, i.e. by eliminating "/../" and "/./" in the path.
- See Also:
-