[
https://issues.apache.org/jira/browse/MPIR-478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17928781#comment-17928781
]
ASF GitHub Bot commented on MPIR-478:
-------------------------------------
elharo commented on code in PR #97:
URL:
https://github.com/apache/maven-project-info-reports-plugin/pull/97#discussion_r1963524553
##########
src/main/java/org/apache/maven/report/projectinfo/TeamReport.java:
##########
@@ -288,32 +334,13 @@ private void renderTeamMember(Contributor member,
Map<String, Boolean> headersMa
sink.tableRow_();
}
- private static final String AVATAR_SIZE = "s=60";
-
- private String getSpacerGravatarUrl() {
- return protocol +
"://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&f=y&" +
AVATAR_SIZE;
- }
-
- private String getGravatarUrl(String email) {
- if (email == null) {
- return null;
- }
- email = StringUtils.trim(email);
- email = email.toLowerCase();
- MessageDigest md;
+ private String getExternalAvatarUrl(String email) {
Review Comment:
If breaking the build is the right answer — though I'm not sure it is — then
that should happen higher up, likely with a MavenReportException or something
like that. It shouldn't be a runtime exception from deep inside the code,
whihc would indicate a bug in the code. An avatar service being unreachable is
not a bug in the code, so just use a regular IOException here.
##########
src/main/java/org/apache/maven/report/projectinfo/TeamReport.java:
##########
@@ -83,9 +116,22 @@ public boolean canGenerateReport() throws
MavenReportException {
}
@Override
- public void executeReport(Locale locale) {
- ProjectTeamRenderer r =
- new ProjectTeamRenderer(getSink(), project.getModel(),
getI18N(locale), locale, showAvatarImages);
+ public void executeReport(Locale locale) throws MavenReportException {
+ AvatarsProvider avatarsProvider =
avatarsProviders.get(avatarProviderName);
+ if (avatarsProvider == null) {
+ throw new MavenReportException("No AvatarsProvider found for name
" + avatarProviderName);
Review Comment:
I suggest message then, and not breaking the report. You could also add a
default image used when the server can't be reached.
##########
src/main/java/org/apache/maven/report/projectinfo/TeamReport.java:
##########
@@ -226,10 +276,7 @@ private void renderTeamMember(Contributor member,
Map<String, Boolean> headersMa
Properties properties = member.getProperties();
String picUrl = properties.getProperty("picUrl");
if (picUrl == null || picUrl.isEmpty()) {
- picUrl = getGravatarUrl(member.getEmail());
- }
- if (picUrl == null || picUrl.isEmpty()) {
- picUrl = getSpacerGravatarUrl();
+ picUrl = getExternalAvatarUrl(member.getEmail());
Review Comment:
What if a user doesn't have an avatar? I don't think I do, for instance.
> describe use of gravatar.com for profiles in team report
> --------------------------------------------------------
>
> Key: MPIR-478
> URL: https://issues.apache.org/jira/browse/MPIR-478
> Project: Maven Project Info Reports Plugin
> Issue Type: Improvement
> Components: team
> Affects Versions: 3.8.0
> Reporter: Herve Boutemy
> Assignee: Slawomir Jaranowski
> Priority: Major
> Fix For: 3.9.0
>
>
> like MARTIFACT-83, to clarify privacy implications
> see
> https://github.com/apache/maven-project-info-reports-plugin/blob/master/src/main/java/org/apache/maven/report/projectinfo/TeamReport.java
--
This message was sent by Atlassian Jira
(v8.20.10#820010)