Index: src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java =================================================================== --- src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java (revision 597831) +++ src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java (working copy) @@ -83,6 +83,13 @@ protected MavenProject project; /** + * The base name of the property file containing report text. + * + * @parameter default-value="project-info-report" + */ + protected String reportPropertiesBasename; + + /** * Local Repository. * * @parameter expression="${localRepository}" Index: src/main/java/org/apache/maven/report/projectinfo/TeamListReport.java =================================================================== --- src/main/java/org/apache/maven/report/projectinfo/TeamListReport.java (revision 597831) +++ src/main/java/org/apache/maven/report/projectinfo/TeamListReport.java (working copy) @@ -50,7 +50,7 @@ */ public String getName( Locale locale ) { - return i18n.getString( "project-info-report", locale, "report.team-list.name" ); + return i18n.getString( reportPropertiesBasename, locale, "report.team-list.name" ); } /** @@ -58,7 +58,7 @@ */ public String getDescription( Locale locale ) { - return i18n.getString( "project-info-report", locale, "report.team-list.description" ); + return i18n.getString( reportPropertiesBasename, locale, "report.team-list.description" ); } /** @@ -66,7 +66,8 @@ */ public void executeReport( Locale locale ) { - TeamListRenderer r = new TeamListRenderer( getSink(), project.getModel(), i18n, locale ); + TeamListRenderer r = + new TeamListRenderer( getSink(), project.getModel(), i18n, locale, reportPropertiesBasename ); r.render(); } @@ -106,9 +107,11 @@ private Locale locale; + private String propertiesBasename; + private static final String[] EMPTY_STRING_ARRAY = new String[0]; - TeamListRenderer( Sink sink, Model model, I18N i18n, Locale locale ) + TeamListRenderer( Sink sink, Model model, I18N i18n, Locale locale, String propertiesBasename ) { super( sink ); @@ -117,6 +120,8 @@ this.i18n = i18n; this.locale = locale; + + this.propertiesBasename = propertiesBasename; } /** @@ -124,7 +129,7 @@ */ public String getTitle() { - return i18n.getString( "project-info-report", locale, "report.team-list.title" ); + return i18n.getString( propertiesBasename, locale, "report.team-list.title" ); } /** @@ -132,15 +137,14 @@ */ public void renderBody() { - startSection( i18n.getString( "project-info-report", locale, "report.team-list.intro.title" ) ); + startSection( i18n.getString( propertiesBasename, locale, "report.team-list.intro.title" ) ); // To handle JS StringBuffer javascript = new StringBuffer( "function offsetDate(id, offset) {\n" ); javascript.append( " var now = new Date();\n" ); javascript.append( " var nowTime = now.getTime();\n" ); javascript.append( " var localOffset = now.getTimezoneOffset();\n" ); - javascript - .append( " var developerTime = nowTime + ( offset * 60 * 60 * 1000 ) + ( localOffset * 60 * 1000 );\n" ); + javascript.append( " var developerTime = nowTime + ( offset * 60 * 60 * 1000 ) + ( localOffset * 60 * 1000 );\n" ); javascript.append( " var developerDate = new Date(developerTime);\n" ); javascript.append( "\n" ); javascript.append( " document.getElementById(id).innerHTML = developerDate;\n" ); @@ -149,21 +153,21 @@ javascript.append( "function init(){\n" ); // Introduction - paragraph( i18n.getString( "project-info-report", locale, "report.team-list.intro.description1" ) ); - paragraph( i18n.getString( "project-info-report", locale, "report.team-list.intro.description2" ) ); + paragraph( i18n.getString( propertiesBasename, locale, "report.team-list.intro.description1" ) ); + paragraph( i18n.getString( propertiesBasename, locale, "report.team-list.intro.description2" ) ); // Developer section List developers = model.getDevelopers(); - startSection( i18n.getString( "project-info-report", locale, "report.team-list.developers.title" ) ); + startSection( i18n.getString( propertiesBasename, locale, "report.team-list.developers.title" ) ); if ( developers == null || developers.isEmpty() ) { - paragraph( i18n.getString( "project-info-report", locale, "report.team-list.nodeveloper" ) ); + paragraph( i18n.getString( propertiesBasename, locale, "report.team-list.nodeveloper" ) ); } else { - paragraph( i18n.getString( "project-info-report", locale, "report.team-list.developers.intro" ) ); + paragraph( i18n.getString( propertiesBasename, locale, "report.team-list.developers.intro" ) ); startTable(); @@ -264,15 +268,15 @@ // contributors section List contributors = model.getContributors(); - startSection( i18n.getString( "project-info-report", locale, "report.team-list.contributors.title" ) ); + startSection( i18n.getString( propertiesBasename, locale, "report.team-list.contributors.title" ) ); if ( contributors == null || contributors.isEmpty() ) { - paragraph( i18n.getString( "project-info-report", locale, "report.team-list.nocontributor" ) ); + paragraph( i18n.getString( propertiesBasename, locale, "report.team-list.nocontributor" ) ); } else { - paragraph( i18n.getString( "project-info-report", locale, "report.team-list.contributors.intro" ) ); + paragraph( i18n.getString( propertiesBasename, locale, "report.team-list.contributors.intro" ) ); startTable(); @@ -332,8 +336,8 @@ text( contributor.getTimezone() ); if ( !StringUtils.isEmpty( contributor.getTimezone() ) ) { - javascript.append( " offsetDate('contributor-" ).append( contributorsRows ) - .append( "', '" ); + javascript.append( " offsetDate('contributor-" ).append( contributorsRows ).append( + "', '" ); javascript.append( contributor.getTimezone() ); javascript.append( "');\n" ); } @@ -378,19 +382,17 @@ private String[] getRequiredContrHeaderArray( Map requiredHeaders ) { List requiredArray = new ArrayList(); - String name = i18n.getString( "project-info-report", locale, "report.team-list.contributors.name" ); - String email = i18n.getString( "project-info-report", locale, "report.team-list.contributors.email" ); - String url = i18n.getString( "project-info-report", locale, "report.team-list.contributors.url" ); - String organization = i18n.getString( "project-info-report", locale, - "report.team-list.contributors.organization" ); - String organizationUrl = i18n.getString( "project-info-report", locale, - "report.team-list.contributors.organizationurl" ); - String roles = i18n.getString( "project-info-report", locale, "report.team-list.contributors.roles" ); - String timeZone = i18n.getString( "project-info-report", locale, "report.team-list.contributors.timezone" ); - String actualTime = i18n.getString( "project-info-report", locale, - "report.team-list.contributors.actualtime" ); - String properties = i18n.getString( "project-info-report", locale, - "report.team-list.contributors.properties" ); + String name = i18n.getString( propertiesBasename, locale, "report.team-list.contributors.name" ); + String email = i18n.getString( propertiesBasename, locale, "report.team-list.contributors.email" ); + String url = i18n.getString( propertiesBasename, locale, "report.team-list.contributors.url" ); + String organization = + i18n.getString( propertiesBasename, locale, "report.team-list.contributors.organization" ); + String organizationUrl = + i18n.getString( propertiesBasename, locale, "report.team-list.contributors.organizationurl" ); + String roles = i18n.getString( propertiesBasename, locale, "report.team-list.contributors.roles" ); + String timeZone = i18n.getString( propertiesBasename, locale, "report.team-list.contributors.timezone" ); + String actualTime = i18n.getString( propertiesBasename, locale, "report.team-list.contributors.actualtime" ); + String properties = i18n.getString( propertiesBasename, locale, "report.team-list.contributors.properties" ); setRequiredArray( requiredHeaders, requiredArray, name, email, url, organization, organizationUrl, roles, timeZone, actualTime, properties ); @@ -412,20 +414,18 @@ { List requiredArray = new ArrayList(); - String id = i18n.getString( "project-info-report", locale, "report.team-list.developers.id" ); - String name = i18n.getString( "project-info-report", locale, "report.team-list.developers.name" ); - String email = i18n.getString( "project-info-report", locale, "report.team-list.developers.email" ); - String url = i18n.getString( "project-info-report", locale, "report.team-list.developers.url" ); - String organization = i18n.getString( "project-info-report", locale, - "report.team-list.developers.organization" ); - String organizationUrl = i18n.getString( "project-info-report", locale, - "report.team-list.developers.organizationurl" ); - String roles = i18n.getString( "project-info-report", locale, "report.team-list.developers.roles" ); - String timeZone = i18n.getString( "project-info-report", locale, "report.team-list.developers.timezone" ); - String actualTime = i18n - .getString( "project-info-report", locale, "report.team-list.developers.actualtime" ); - String properties = i18n - .getString( "project-info-report", locale, "report.team-list.developers.properties" ); + String id = i18n.getString( propertiesBasename, locale, "report.team-list.developers.id" ); + String name = i18n.getString( propertiesBasename, locale, "report.team-list.developers.name" ); + String email = i18n.getString( propertiesBasename, locale, "report.team-list.developers.email" ); + String url = i18n.getString( propertiesBasename, locale, "report.team-list.developers.url" ); + String organization = + i18n.getString( propertiesBasename, locale, "report.team-list.developers.organization" ); + String organizationUrl = + i18n.getString( propertiesBasename, locale, "report.team-list.developers.organizationurl" ); + String roles = i18n.getString( propertiesBasename, locale, "report.team-list.developers.roles" ); + String timeZone = i18n.getString( propertiesBasename, locale, "report.team-list.developers.timezone" ); + String actualTime = i18n.getString( propertiesBasename, locale, "report.team-list.developers.actualtime" ); + String properties = i18n.getString( propertiesBasename, locale, "report.team-list.developers.properties" ); if ( requiredHeaders.get( ID ) == Boolean.TRUE ) { Index: src/test/java/org/apache/maven/report/projectinfo/TeamListReportTest.java =================================================================== --- src/test/java/org/apache/maven/report/projectinfo/TeamListReportTest.java (revision 597831) +++ src/test/java/org/apache/maven/report/projectinfo/TeamListReportTest.java (working copy) @@ -79,4 +79,51 @@ assertEquals( getString( "report.team-list.contributors.title" ), textBlocks[5].getText() ); assertEquals( getString( "report.team-list.nocontributor" ), textBlocks[6].getText() ); } + + /** + * Test report + * + * @throws Exception if any + */ + public void testReportWithExternalisedProperties() + throws Exception + { + generateReport( "project-team", "externalProperties/project-team-plugin-config.xml" ); + assertTrue( "Test html generated", getGeneratedReport( "external-properties/team-list.html" ).exists() ); + + URL reportURL = getGeneratedReport( "external-properties/team-list.html" ).toURL(); + assertNotNull( reportURL ); + + // HTTPUnit + WebRequest request = new GetMethodWebRequest( reportURL.toString() ); + WebResponse response = webConversation.getResponse( request ); + + // Basic HTML tests + assertTrue( response.isHTML() ); + assertTrue( response.getContentLength() > 0 ); + +// // Test the Page title +// assertEquals( getString( "report.team-list.name" ) + " - " + getString( "report.team-list.title" ), +// response.getTitle() ); + + // Test the texts + TextBlock[] textBlocks = response.getTextBlocks(); + + assertEquals( textBlocks.length, 7 ); + +// assertEquals( getString( "report.team-list.intro.title" ), textBlocks[0].getText() ); +// assertEquals( getString( "report.team-list.intro.description1" ), textBlocks[1].getText() ); +// assertEquals( getString( "report.team-list.intro.description2" ), textBlocks[2].getText() ); +// assertEquals( getString( "report.team-list.developers.title" ), textBlocks[3].getText() ); +// assertEquals( getString( "report.team-list.developers.intro" ), textBlocks[4].getText() ); +// assertEquals( getString( "report.team-list.contributors.title" ), textBlocks[5].getText() ); +// assertEquals( getString( "report.team-list.nocontributor" ), textBlocks[6].getText() ); + + //assert that the modified team description is displayed + String expectedDescription = "Alternative team member description1"; + assertEquals( expectedDescription, textBlocks[1].getText() ); + expectedDescription = "Alternative team member description2"; + assertEquals( expectedDescription, textBlocks[2].getText() ); + + } } Index: src/test/resources/org/apache/maven/report/projectinfo/my-project-info-report.properties =================================================================== --- src/test/resources/org/apache/maven/report/projectinfo/my-project-info-report.properties (revision 0) +++ src/test/resources/org/apache/maven/report/projectinfo/my-project-info-report.properties (revision 0) @@ -0,0 +1,218 @@ +# 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. + +report.cim.access = Access +report.cim.anthill.intro = This project uses {Anthill, http://www.anthillpro.com/html/products/anthillos/}. +report.cim.buildforge.intro = This project uses {Build Forge, http://www-306.ibm.com/software/awdtools/buildforge/enterprise/}. +report.cim.continuum.intro = This project uses {Continuum, http://maven.apache.org/continuum/}. +report.cim.cruisecontrol.intro = This project uses {CruiseControl, http://cruisecontrol.sourceforge.net/}. +report.cim.description = This is a link to the definitions of all continuous integration processes that builds and tests code on a frequent, regular basis. +report.cim.general.intro = This project uses Continuous Integration System. +report.cim.hudson.intro = This project uses {Hudson, https://hudson.dev.java.net/}. +report.cim.luntbuild.intro = This project uses {Luntbuild, http://luntbuild.javaforge.com/}. +report.cim.name = Continuous Integration +report.cim.nocim = No continuous integration management system is defined. Please check back at a later date. +report.cim.notifiers.column.address = Address +report.cim.notifiers.column.configuration = Configuration +report.cim.notifiers.column.type = Type +report.cim.notifiers.intro = Configuration for notifying developers/users when a build is unsuccessful, including user information and notification mode. +report.cim.notifiers.nolist = No notifiers is defined. Please check back at a later date. +report.cim.notifiers.title = Notifiers +report.cim.nourl = No url to the continuous integration system is defined. +report.cim.overview.title = Overview +report.cim.title = Continuous Integration +report.cim.url = The following is a link to the continuous integration system used by the project. +report.dependencies.column.artifactId = ArtifactId +report.dependencies.column.classifier = Classifier +report.dependencies.column.description = Description +report.dependencies.column.groupId = GroupId +report.dependencies.column.optional = Optional +report.dependencies.column.type = Type +report.dependencies.column.url = URL +report.dependencies.column.version = Version +report.dependencies.description = This document lists the projects dependencies and provides information on each dependency. +report.dependencies.file.details.column.classes = Classes +report.dependencies.file.details.column.debug = Debug +report.dependencies.file.details.column.entries = Entries +report.dependencies.file.details.column.file = Filename +report.dependencies.file.details.column.jdkrev = JDK Rev +report.dependencies.file.details.column.packages = Packages +report.dependencies.file.details.column.sealed = Sealed +report.dependencies.file.details.column.size = Size +report.dependencies.file.details.title = Dependency File Details +report.dependencies.graph.tables.licenses = Licenses +report.dependencies.graph.tables.title = Dependency Listings +report.dependencies.graph.tables.unknown = Unknown +report.dependencies.graph.title = Project Dependency Graph +report.dependencies.graph.tree.title = Dependency Tree +report.dependencies.intro.compile = The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application: +report.dependencies.intro.provided = The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library: +report.dependencies.intro.runtime = The following is a list of runtime dependencies for this project. These dependencies are required to run the application: +report.dependencies.intro.system = The following is a list of system dependencies for this project. These dependencies are required to compile the application: +report.dependencies.intro.test = The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application: +report.dependencies.name = Dependencies +report.dependencies.nolist = There are no dependencies for this project. It is a standalone application that does not depend on any other project. +report.dependencies.repo.locations.artifact.breakdown = Repository locations for each of the Dependencies. +report.dependencies.repo.locations.cell.release.disabled = - +report.dependencies.repo.locations.cell.release.enabled = Yes +report.dependencies.repo.locations.cell.snapshot.disabled = - +report.dependencies.repo.locations.cell.snapshot.enabled = Yes +report.dependencies.repo.locations.column.artifact = Artifact +report.dependencies.repo.locations.column.release = Release +report.dependencies.repo.locations.column.repoid = Repo ID +report.dependencies.repo.locations.column.snapshot = Snapshot +report.dependencies.repo.locations.column.url = URL +report.dependencies.repo.locations.title = Dependency Repository Locations +report.dependencies.title = Project Dependencies +report.dependencies.unamed = Unamed +report.dependency-convergence.convergence.caption = Dependencies used in sub-projects +report.dependency-convergence.description = This document presents the convergence of dependency versions across the entire project, and its sub modules. +report.dependency-convergence.legend = Legend: +report.dependency-convergence.legend.different = At least one project has a differing version of the dependency. +report.dependency-convergence.legend.shared = All projects share one version of the dependency. +report.dependency-convergence.name = Dependency Convergence +report.dependency-convergence.stats.artifacts = Number of unique artifacts (NOA): +report.dependency-convergence.stats.caption = Statistics: +report.dependency-convergence.stats.convergence = Convergence (NOD/NOA): +report.dependency-convergence.stats.dependencies = Number of dependencies (NOD): +report.dependency-convergence.stats.readyrelease = Ready for Release (100% Convergence and no SNAPSHOTS): +report.dependency-convergence.stats.readyrelease.error = Error +report.dependency-convergence.stats.readyrelease.error.convergence = You do not have 100% convergence. +report.dependency-convergence.stats.readyrelease.error.snapshots = You have SNAPSHOT dependencies. +report.dependency-convergence.stats.readyrelease.success = Success +report.dependency-convergence.stats.snapshots = Number of SNAPSHOT artifacts (NOS): +report.dependency-convergence.stats.subprojects = Number of sub-projects: +report.dependency-convergence.title = Reactor Dependency Convergence +report.index.nodescription = There is currently no description associated with this project. +report.index.title = About +report.issuetracking.bugzilla.intro = This project uses {Bugzilla, http://www.bugzilla.org/}. +report.issuetracking.custom.intro = This project uses %issueManagementSystem% to manage its issues. +report.issuetracking.description = This is a link to the issue management system for this project. Issues (bugs, features, change requests) can be created and queried using this link. +report.issuetracking.general.intro = This project uses an Issue Management System to manage its issues. +report.issuetracking.intro = Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project. +report.issuetracking.jira.intro = This project uses {JIRA, http://www.atlassian.com/software/jira} a J2EE-based, issue tracking and project management application. +report.issuetracking.name = Issue Tracking +report.issuetracking.noissueManagement = No issue management system is defined. Please check back at a later date. +report.issuetracking.overview.title = Overview +report.issuetracking.scarab.intro = This project uses {Scarab, http://scarab.tigris.org/}. +report.issuetracking.title = Issue Tracking +report.license.description = This is a link to the definitions of project licenses. +report.license.name = Project License +report.license.nolicense = No project license is defined for this project. +report.license.overview.intro = Typically the licenses listed for the project are that of the project itself, and not of dependencies. +report.license.overview.title = Overview +report.license.title = Project License +report.mailing-lists.column.archive = Archive +report.mailing-lists.column.name = Name +report.mailing-lists.column.otherArchives = Other Archives +report.mailing-lists.column.post = Post +report.mailing-lists.column.subscribe = Subscribe +report.mailing-lists.column.unsubscribe = Unsubscribe +report.mailing-lists.description = This document provides subscription and archive information for this project's mailing lists. +report.mailing-lists.intro = These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link. +report.mailing-lists.name = Mailing Lists +report.mailing-lists.nolist = There are no mailing lists currently associated with this project. +report.mailing-lists.title = Project Mailing Lists +report.scm.accessbehindfirewall.cvs.intro = For those developers who are stuck behind a corporate firewall, {CVSGrab, http://cvsgrab.sourceforge.net/} can use the viewcvs web interface to checkout the source code. +report.scm.accessbehindfirewall.general.intro = Refer to the documentation of the SCM used for more information about an access behind a firewall. +report.scm.accessbehindfirewall.svn.intro = For those users who are stuck behind a corporate firewall which is blocking http access to the Subversion repository, you can try to access it via the developer connection: +report.scm.accessbehindfirewall.title = Access from behind a firewall +report.scm.accessthroughtproxy.svn.intro1 = The Subversion client can go through a proxy, if you configure it to do so. First, edit your "servers" configuration file to indicate which proxy to use. The files location depends on your operating system. On Linux or Unix it is located in the directory "~/.subversion". On Windows it is in "%APPDATA%\\Subversion". (Try "echo %APPDATA%", note this is a hidden directory.) +report.scm.accessthroughtproxy.svn.intro2 = There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created. +report.scm.accessthroughtproxy.svn.intro3 = Example : Edit the 'servers' file and add something like : +report.scm.accessthroughtproxy.title = Access through a proxy +report.scm.anonymousaccess.cvs.intro = This project's CVS repository can be checked out through anonymous CVS with the following instruction set. When prompted for a password for anonymous, simply press the Enter key. +report.scm.anonymousaccess.general.intro = Refer to the documentation of the SCM used for more information about anonymously check out. The connection url is: +report.scm.anonymousaccess.svn.intro = The source can be checked out anonymously from SVN with this command: +report.scm.anonymousaccess.title = Anonymous access +report.scm.clearcase.intro = This project uses {ClearCase, http://www-306.ibm.com/software/awdtools/clearcase/} to manage its source code. Informations on ClearCase use can be found at {http://www.redbooks.ibm.com/redbooks/pdfs/sg246399.pdf, http://www.redbooks.ibm.com/redbooks/pdfs/sg246399.pdf}. +report.scm.cvs.intro = This project uses {Concurrent Versions System, http://www.cvshome.org/} to manage its source code. Instructions on CVS use can be found at {http://cvsbook.red-bean.com/, http://cvsbook.red-bean.com/}. +report.scm.description = This is a link to the online source repository that can be viewed via a web browser. +report.scm.devaccess.clearcase.intro = Only project developers can access the ClearCase tree via this method. Substitute username with the proper value. +report.scm.devaccess.cvs.intro = Only project developers can access the CVS tree via this method. Substitute username with the proper value. +report.scm.devaccess.general.intro = Refer to the documentation of the SCM used for more information about developer checked out. The connection url is: +report.scm.devaccess.perforce.intro = Only project developers can access the Perforce tree via this method. Substitute username and password with the proper value. +report.scm.devaccess.starteam.intro = Only project developers can access the Starteam tree via this method. Substitute username with the proper value. +report.scm.devaccess.svn.intro1.https = Everyone can access the Subversion repository via HTTPS, but Committers must checkout the Subversion repository via HTTPS. +report.scm.devaccess.svn.intro1.other = Committers must checkout the Subversion repository. +report.scm.devaccess.svn.intro1.svn = Committers must checkout the Subversion repository via SVN. +report.scm.devaccess.svn.intro1.svnssh = Committers must checkout the Subversion repository via SVN+SSH. +report.scm.devaccess.svn.intro2 = To commit changes to the repository, execute the following command to commit your changes (svn will prompt you for your password) +report.scm.devaccess.title = Developer access +report.scm.general.intro = This project uses a Source Content Management System to manage its source code. +report.scm.name = Source Repository +report.scm.noscm = No source configuration management system is defined. Please check back at a later date. +report.scm.overview.title = Overview +report.scm.perforce.intro = This project uses {Perforce, http://www.perforce.com/} to manage its source code. Instructions on Perforce use can be found at {http://www.perforce.com/perforce/doc.051/manuals/cmdref/index.html, http://www.perforce.com/perforce/doc.051/manuals/cmdref/index.html}. +report.scm.starteam.intro = This project uses {Starteam, http://www.borland.com/us/products/starteam/} to manage its source code. +report.scm.svn.intro = This project uses {Subversion, http://subversion.tigris.org/} to manage its source code. Instructions on Subversion use can be found at {http://svnbook.red-bean.com/, http://svnbook.red-bean.com/}. +report.scm.title = Source Repository +report.scm.webaccess.nourl = There are no online source repository listed for this project. Please check back again later. +report.scm.webaccess.title = Web Access +report.scm.webaccess.url = The following is a link to the online source repository. +report.summary.build.artifactid = ArtifactId +report.summary.build.groupid = GroupId +report.summary.build.title = Build Information +report.summary.build.type = Type +report.summary.build.version = Version +report.summary.description = This document lists other related information of this project +report.summary.field = Field +report.summary.general.description = Description +report.summary.general.homepage = Homepage +report.summary.general.name = Name +report.summary.general.title = Project Information +report.summary.name = Project Summary +report.summary.organization.name = Name +report.summary.organization.title = Project Organization +report.summary.organization.url = URL +report.summary.noorganization = This project does not belong to an organization. +report.summary.title = Project Summary +report.summary.value = Value +report.team-list.contributors.actualtime = Actual Time (GMT) +report.team-list.contributors.email = Email +report.team-list.contributors.intro = The following additional people have contributed to this project through the way of suggestions, patches or documentation. +report.team-list.contributors.name = Name +report.team-list.contributors.organization = Organization +report.team-list.contributors.organizationurl = Organization URL +report.team-list.contributors.properties = Properties +report.team-list.contributors.roles = Roles +report.team-list.contributors.timezone = Time Zone +report.team-list.contributors.title = Contributors +report.team-list.contributors.url = URL +report.team-list.description = This document provides information on the members of this project. These are the individuals who have contributed to the project in one form or another. +report.team-list.developers.actualtime = Actual Time (GMT) +report.team-list.developers.email = Email +report.team-list.developers.id = Id +report.team-list.developers.intro = The following is a list of developers with commit privileges that have directly contributed to the project in one way or another. +report.team-list.developers.name = Name +report.team-list.developers.organization = Organization +report.team-list.developers.organizationurl = Organization URL +report.team-list.developers.properties = Properties +report.team-list.developers.roles = Roles +report.team-list.developers.timezone = Time Zone +report.team-list.developers.title = Members +report.team-list.developers.url = URL +report.team-list.intro.description1 = Alternative team member description1 +report.team-list.intro.description2 = Alternative team member description2 +report.team-list.intro.title = The Team +report.team-list.name = Project Team +report.team-list.nocontributor = There are no contributors listed for this project. Please check back again later. +report.team-list.nodeveloper = There are no developers working on this project. +report.team-list.title = Team list +report.transitivedependencies.intro = The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies. +report.transitivedependencies.nolist = No transitive dependencies are required for this project. +report.transitivedependencies.title = Project Transitive Dependencies Index: src/test/resources/plugin-configs/externalProperties/project-team-plugin-config.xml =================================================================== --- src/test/resources/plugin-configs/externalProperties/project-team-plugin-config.xml (revision 0) +++ src/test/resources/plugin-configs/externalProperties/project-team-plugin-config.xml (revision 0) @@ -0,0 +1,60 @@ + + + + 4.0.0 + org.apache.maven.plugin.projectinfo.tests + project-team + 1.0-SNAPSHOT + jar + project-team project info + + + junit + junit + 3.8.1 + test + + + + + leggetta + Adam Leggett + adam.leggett@upco.co.uk + UPCO + + Developer + + + + + + + maven-project-info-reports-plugin + + target/test-harness/project-team/external-properties + ${localRepository} + + org/apache/maven/report/projectinfo/my-project-info-report + + + + + \ No newline at end of file Index: src/test/resources/plugin-configs/externalProperties/project-team-plugin-config.xml =================================================================== --- src/test/resources/plugin-configs/externalProperties/project-team-plugin-config.xml (revision 0) +++ src/test/resources/plugin-configs/externalProperties/project-team-plugin-config.xml (revision 0) @@ -0,0 +1,60 @@ + + + + 4.0.0 + org.apache.maven.plugin.projectinfo.tests + project-team + 1.0-SNAPSHOT + jar + project-team project info + + + junit + junit + 3.8.1 + test + + + + + leggetta + Adam Leggett + adam.leggett@upco.co.uk + UPCO + + Developer + + + + + + + maven-project-info-reports-plugin + + target/test-harness/project-team/external-properties + ${localRepository} + + org/apache/maven/report/projectinfo/my-project-info-report + + + + + \ No newline at end of file