Package org.apache.maven.doxia.tools
Interface SiteTool
-
- All Known Implementing Classes:
DefaultSiteTool
public interface SiteTool
Tool to play with Doxia objects likeDecorationModel
.- Version:
- $Id: SiteTool.java 1098159 2011-04-30 21:07:49Z dennisl $
- Author:
- Vincent Siveton
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.Locale
DEFAULT_LOCALE
The locale by default for all default bundlesstatic java.lang.String
ROLE
Plexus Role
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description java.util.Locale
codeToLocale(java.lang.String localeCode)
Converts a locale code like "en", "en_US" or "en_US_win" to ajava.util.Locale
object.java.util.List<java.util.Locale>
getAvailableLocales(java.lang.String locales)
Init thelocalesList
variable.org.apache.maven.doxia.site.decoration.DecorationModel
getDecorationModel(org.apache.maven.project.MavenProject project, java.util.List<org.apache.maven.project.MavenProject> reactorProjects, org.apache.maven.artifact.repository.ArtifactRepository localRepository, java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> repositories, java.lang.String siteDirectory, java.util.Locale locale, java.lang.String inputEncoding, java.lang.String outputEncoding)
Get a decoration model for a project.org.apache.maven.artifact.Artifact
getDefaultSkinArtifact(org.apache.maven.artifact.repository.ArtifactRepository localRepository, java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> remoteArtifactRepositories)
Get the default skin artifact for a project from one of the repositories.java.lang.String
getInterpolatedSiteDescriptorContent(java.util.Map<java.lang.String,java.lang.String> props, org.apache.maven.project.MavenProject aProject, java.lang.String siteDescriptorContent, java.lang.String inputEncoding, java.lang.String outputEncoding)
Interpolating several expressions in the site descriptor content.org.apache.maven.project.MavenProject
getParentProject(org.apache.maven.project.MavenProject aProject, java.util.List<org.apache.maven.project.MavenProject> reactorProjects, org.apache.maven.artifact.repository.ArtifactRepository localRepository)
Returns the parent POM with interpolated URLs.java.lang.String
getRelativePath(java.lang.String to, java.lang.String from)
Calculate the relative path between two URLs or between two files.java.io.File
getSiteDescriptorFromBasedir(java.lang.String siteDirectory, java.io.File basedir, java.util.Locale locale)
Get a site descriptor from the project's base directory.java.io.File
getSiteDescriptorFromRepository(org.apache.maven.project.MavenProject project, org.apache.maven.artifact.repository.ArtifactRepository localRepository, java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> repositories, java.util.Locale locale)
Get a site descriptor from one of the repositories.org.apache.maven.artifact.Artifact
getSkinArtifactFromRepository(org.apache.maven.artifact.repository.ArtifactRepository localRepository, java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> remoteArtifactRepositories, org.apache.maven.doxia.site.decoration.DecorationModel decoration)
Get a skin artifact from one of the repositories.void
populateModules(org.apache.maven.project.MavenProject project, java.util.List<org.apache.maven.project.MavenProject> reactorProjects, org.apache.maven.artifact.repository.ArtifactRepository localRepository, org.apache.maven.doxia.site.decoration.DecorationModel decorationModel, java.util.Locale locale, boolean keepInheritedRefs)
Deprecated.void
populateModulesMenu(org.apache.maven.project.MavenProject project, java.util.List<org.apache.maven.project.MavenProject> reactorProjects, org.apache.maven.artifact.repository.ArtifactRepository localRepository, org.apache.maven.doxia.site.decoration.DecorationModel decorationModel, java.util.Locale locale, boolean keepInheritedRefs)
Populate the modules menu part of the decoration model.void
populateParentMenu(org.apache.maven.doxia.site.decoration.DecorationModel decorationModel, java.util.Locale locale, org.apache.maven.project.MavenProject project, org.apache.maven.project.MavenProject parentProject, boolean keepInheritedRefs)
Populate the parent menu part of the decoration model.void
populateProjectParentMenu(org.apache.maven.doxia.site.decoration.DecorationModel decorationModel, java.util.Locale locale, org.apache.maven.project.MavenProject project, org.apache.maven.project.MavenProject parentProject, boolean keepInheritedRefs)
Deprecated.void
populateReportsMenu(org.apache.maven.doxia.site.decoration.DecorationModel decorationModel, java.util.Locale locale, java.util.Map<java.lang.String,java.util.List<org.apache.maven.reporting.MavenReport>> categories)
Populate the reports menu part of the decoration model.
-
-
-
Method Detail
-
getSkinArtifactFromRepository
org.apache.maven.artifact.Artifact getSkinArtifactFromRepository(org.apache.maven.artifact.repository.ArtifactRepository localRepository, java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> remoteArtifactRepositories, org.apache.maven.doxia.site.decoration.DecorationModel decoration) throws SiteToolException
Get a skin artifact from one of the repositories.- Parameters:
localRepository
- the Maven local repository, not null.remoteArtifactRepositories
- the Maven remote repositories, not null.decoration
- the Doxia site descriptor model, not null.- Returns:
- the
Skin
artifact defined in aDecorationModel
from a given project and a local repository - Throws:
SiteToolException
- if any
-
getDefaultSkinArtifact
org.apache.maven.artifact.Artifact getDefaultSkinArtifact(org.apache.maven.artifact.repository.ArtifactRepository localRepository, java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> remoteArtifactRepositories) throws SiteToolException
Get the default skin artifact for a project from one of the repositories.- Parameters:
localRepository
- the Maven local repository, not null.remoteArtifactRepositories
- the Maven remote repositories, not null.- Returns:
- the default
Skin
artifact from a given project and a local repository - Throws:
SiteToolException
- if any- See Also:
Skin.getDefaultSkin()
,getSkinArtifactFromRepository(ArtifactRepository, List, DecorationModel)
-
getRelativePath
java.lang.String getRelativePath(java.lang.String to, java.lang.String from)
Calculate the relative path between two URLs or between two files. For example:- to = "http://maven.apache.org" and from = "http://maven.apache.org"
- return ""
- to = "http://maven.apache.org" and from = "http://maven.apache.org/plugins/maven-site-plugin/"
- return "../.."
- to = "http://maven.apache.org/plugins/maven-site-plugin/" and from = "http://maven.apache.org"
- return "plugins/maven-site-plugin"
- to = "/myproject/myproject-module1" and from = "/myproject/myproject"
- return "../myproject-module1"
- Parameters:
to
- theto
url of file as stringfrom
- thefrom
url of file as string- Returns:
- a relative path from
from
toto
.
-
getSiteDescriptorFromBasedir
java.io.File getSiteDescriptorFromBasedir(java.lang.String siteDirectory, java.io.File basedir, java.util.Locale locale)
Get a site descriptor from the project's base directory.- Parameters:
siteDirectory
- The path to the directory containing thesite.xml
file, relative to the project base directory. If null, using by default "src/site".basedir
- not null.locale
- the locale wanted for the site descriptor. If not null, searching forsite_localeLanguage.xml
, otherwise searching forsite.xml
.- Returns:
- the site descriptor relative file, i.e.
src/site/site.xml
, depending on parameter values.
-
getSiteDescriptorFromRepository
java.io.File getSiteDescriptorFromRepository(org.apache.maven.project.MavenProject project, org.apache.maven.artifact.repository.ArtifactRepository localRepository, java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> repositories, java.util.Locale locale) throws SiteToolException
Get a site descriptor from one of the repositories.- Parameters:
project
- the Maven project, not null.localRepository
- the Maven local repository, not null.repositories
- the Maven remote repositories, not null.locale
- the locale wanted for the site descriptor. If not null, searching forsite_localeLanguage.xml
, otherwise searching forsite.xml
.- Returns:
- the site descriptor into the local repository after download of it from repositories or null if not found in repositories.
- Throws:
SiteToolException
- if any
-
getDecorationModel
org.apache.maven.doxia.site.decoration.DecorationModel getDecorationModel(org.apache.maven.project.MavenProject project, java.util.List<org.apache.maven.project.MavenProject> reactorProjects, org.apache.maven.artifact.repository.ArtifactRepository localRepository, java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> repositories, java.lang.String siteDirectory, java.util.Locale locale, java.lang.String inputEncoding, java.lang.String outputEncoding) throws SiteToolException
Get a decoration model for a project.- Parameters:
project
- the Maven project, not null.reactorProjects
- the Maven reactor projects, not null.localRepository
- the Maven local repository, not null.repositories
- the Maven remote repositories, not null.siteDirectory
- The path to the directory containing thesite.xml
file, relative to the project base directory. If null, using by default "src/site".locale
- the locale used for the i18n in DecorationModel. If null, using the default locale in the jvm.inputEncoding
- the input encoding of the site descriptor, not null.outputEncoding
- the output encoding wanted, not null.- Returns:
- the
DecorationModel
object corresponding to thesite.xml
file with some interpolations. - Throws:
SiteToolException
- if any
-
populateReportsMenu
void populateReportsMenu(org.apache.maven.doxia.site.decoration.DecorationModel decorationModel, java.util.Locale locale, java.util.Map<java.lang.String,java.util.List<org.apache.maven.reporting.MavenReport>> categories)
Populate the reports menu part of the decoration model.- Parameters:
decorationModel
- the Doxia DecorationModel, not null.locale
- the locale used for the i18n in DecorationModel. If null, using the default locale in the jvm.categories
- a map to put on the decoration model, not null.
-
getInterpolatedSiteDescriptorContent
java.lang.String getInterpolatedSiteDescriptorContent(java.util.Map<java.lang.String,java.lang.String> props, org.apache.maven.project.MavenProject aProject, java.lang.String siteDescriptorContent, java.lang.String inputEncoding, java.lang.String outputEncoding) throws SiteToolException
Interpolating 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
- Parameters:
props
- a map used for interpolation, not null.aProject
- a Maven project, not null.inputEncoding
- the input encoding of the site descriptor, not null.outputEncoding
- the output encoding wanted, not null.siteDescriptorContent
- the site descriptor file, not null.- Returns:
- the site descriptor content based on the
site.xml
file with interpolated strings. - Throws:
SiteToolException
- if errors happened during the interpolation.
-
getParentProject
org.apache.maven.project.MavenProject getParentProject(org.apache.maven.project.MavenProject aProject, java.util.List<org.apache.maven.project.MavenProject> reactorProjects, org.apache.maven.artifact.repository.ArtifactRepository localRepository)
Returns the parent POM with interpolated URLs. Attempts to source this value from thereactorProjects
parameters if available (reactor env model attributes are interpolated), or if the reactor is unavailable (-N) resorts to theproject.getParent().getUrl()
value which will NOT have been interpolated. TODO: once bug is fixed in Maven proper, remove this.- Parameters:
aProject
- a Maven project, not null.reactorProjects
- the Maven reactor projects, not null.localRepository
- the Maven local repository, not null.- Returns:
- the parent project with interpolated URLs.
-
populateParentMenu
void populateParentMenu(org.apache.maven.doxia.site.decoration.DecorationModel decorationModel, java.util.Locale locale, org.apache.maven.project.MavenProject project, org.apache.maven.project.MavenProject parentProject, boolean keepInheritedRefs)
Populate the parent menu part of the decoration model.- Parameters:
decorationModel
- the Doxia DecorationModel, not null.locale
- the locale used for the i18n in DecorationModel. If null, using the default locale in the jvm.project
- a Maven project, not null.parentProject
- a Maven parent project, not null.keepInheritedRefs
- used for inherited references.
-
populateProjectParentMenu
void populateProjectParentMenu(org.apache.maven.doxia.site.decoration.DecorationModel decorationModel, java.util.Locale locale, org.apache.maven.project.MavenProject project, org.apache.maven.project.MavenProject parentProject, boolean keepInheritedRefs)
Deprecated.Populate the parent menu part of the decoration model.- Parameters:
decorationModel
- the Doxia DecorationModel, not null.locale
- the locale used for the i18n in DecorationModel. If null, using the default locale in the jvm.project
- a Maven project, not null.parentProject
- a Maven parent project, not null.keepInheritedRefs
- used for inherited references.
-
populateModules
void populateModules(org.apache.maven.project.MavenProject project, java.util.List<org.apache.maven.project.MavenProject> reactorProjects, org.apache.maven.artifact.repository.ArtifactRepository localRepository, org.apache.maven.doxia.site.decoration.DecorationModel decorationModel, java.util.Locale locale, boolean keepInheritedRefs) throws SiteToolException
Deprecated.Populate the modules menu part of the decoration model.- Parameters:
project
- a Maven project, not null.reactorProjects
- the Maven reactor projects, not null.localRepository
- the Maven local repository, not null.decorationModel
- the Doxia site descriptor model, not null.locale
- the locale used for the i18n in DecorationModel. If null, using the default locale in the jvm.keepInheritedRefs
- used for inherited references.- Throws:
SiteToolException
- if any
-
populateModulesMenu
void populateModulesMenu(org.apache.maven.project.MavenProject project, java.util.List<org.apache.maven.project.MavenProject> reactorProjects, org.apache.maven.artifact.repository.ArtifactRepository localRepository, org.apache.maven.doxia.site.decoration.DecorationModel decorationModel, java.util.Locale locale, boolean keepInheritedRefs) throws SiteToolException
Populate the modules menu part of the decoration model.- Parameters:
project
- a Maven project, not null.reactorProjects
- the Maven reactor projects, not null.localRepository
- the Maven local repository, not null.decorationModel
- the Doxia site descriptor model, not null.locale
- the locale used for the i18n in DecorationModel. If null, using the default locale in the jvm.keepInheritedRefs
- used for inherited references.- Throws:
SiteToolException
- if any
-
getAvailableLocales
java.util.List<java.util.Locale> getAvailableLocales(java.lang.String locales)
Init thelocalesList
variable.If the
locales
variable is available, the first valid token will be thedefaultLocale
for this instance of the Java Virtual Machine.- Parameters:
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.- Returns:
- a list of
Locale
-
codeToLocale
java.util.Locale codeToLocale(java.lang.String localeCode)
Converts a locale code like "en", "en_US" or "en_US_win" to ajava.util.Locale
object.If localeCode =
default
, return the current value of the default locale for this instance of the Java Virtual Machine.- Parameters:
localeCode
- the locale code string.- Returns:
- a java.util.Locale object instanced or null if errors occurred
- See Also:
- java.util.Locale#getDefault()
-
-