[ 
https://issues.apache.org/jira/browse/MPIR-478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17928579#comment-17928579
 ] 

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_r1962473942


##########
src/main/java/org/apache/maven/report/projectinfo/avatars/AvatarsProvider.java:
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+package org.apache.maven.report.projectinfo.avatars;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * Avatar provider API.
+ */
+public interface AvatarsProvider {
+
+    /**
+     * Set a base url for provider
+     *
+     * @param baseUrl for provider
+     */
+    void setBaserUrl(String baseUrl);
+
+    /**
+     * Set site output directory. Used to store avatar images in project.
+     *
+     * @param outputDirectory a site output directory
+     */
+    void setOutputDirectory(File outputDirectory);
+
+    /**
+     * Return an external url for gravatar image.

Review Comment:
   URL



##########
src/main/java/org/apache/maven/report/projectinfo/avatars/AvatarsProvider.java:
##########
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+package org.apache.maven.report.projectinfo.avatars;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * Avatar provider API.
+ */
+public interface AvatarsProvider {
+
+    /**
+     * Set a base url for provider
+     *
+     * @param baseUrl for provider
+     */
+    void setBaserUrl(String baseUrl);

Review Comment:
   setBaseUrl, not setBaserUrl



##########
src/main/java/org/apache/maven/report/projectinfo/TeamReport.java:
##########
@@ -52,19 +53,50 @@ public class TeamReport extends AbstractProjectInfoReport {
     /**
      * Shows avatar images for team members that have a) properties/picUrl set 
b) An avatar at gravatar.com for their
      * email address
-     * <p/>
-     * Future versions of this plugin may implement different strategies for 
resolving avatar images, possibly
-     * using different providers.
-     *<p>
-     *<strong>Note</strong>: This property will be renamed to {@code 
tteam.showAvatarImages} in 3.0.
+     *
      * @since 2.6
      */
     @Parameter(property = "teamlist.showAvatarImages", defaultValue = "true")
     private boolean showAvatarImages;
 
+    /**
+     * Indicate if external url should be used for avatar images.
+     * <p>
+     * If set to <code>true</code> images will be downloaded and attached to 
report during build.
+     *
+     * @since 3.9.0
+     */
+    @Parameter(property = "teamlist.externalAvatarImages", defaultValue = 
"true")
+    private boolean externalAvatarImages;
+
+    /**
+     * Base url for avatar provider.

Review Comment:
   URL



##########
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:
   This should just throw IOException



##########
src/main/java/org/apache/maven/report/projectinfo/TeamReport.java:
##########
@@ -52,19 +53,50 @@ public class TeamReport extends AbstractProjectInfoReport {
     /**
      * Shows avatar images for team members that have a) properties/picUrl set 
b) An avatar at gravatar.com for their
      * email address
-     * <p/>
-     * Future versions of this plugin may implement different strategies for 
resolving avatar images, possibly
-     * using different providers.
-     *<p>
-     *<strong>Note</strong>: This property will be renamed to {@code 
tteam.showAvatarImages} in 3.0.
+     *
      * @since 2.6
      */
     @Parameter(property = "teamlist.showAvatarImages", defaultValue = "true")
     private boolean showAvatarImages;
 
+    /**
+     * Indicate if external url should be used for avatar images.
+     * <p>
+     * If set to <code>true</code> images will be downloaded and attached to 
report during build.
+     *
+     * @since 3.9.0
+     */
+    @Parameter(property = "teamlist.externalAvatarImages", defaultValue = 
"true")
+    private boolean externalAvatarImages;
+
+    /**
+     * Base url for avatar provider.
+     *
+     * @since 3.9.0
+     */
+    @Parameter(property = "teamlist.avatarBaseUrl", defaultValue = 
"https://www.gravatar.com/avatar/";)
+    private String avatarBaseUrl;
+
+    /**
+     * Provider name for avatar images.
+     * <p>
+     * Report has one implementation for gravatar.com. Users can provide other 
by implementing {@link AvatarsProvider}

Review Comment:
   Period at end



##########
src/main/java/org/apache/maven/report/projectinfo/TeamReport.java:
##########
@@ -52,19 +53,50 @@ public class TeamReport extends AbstractProjectInfoReport {
     /**
      * Shows avatar images for team members that have a) properties/picUrl set 
b) An avatar at gravatar.com for their
      * email address
-     * <p/>
-     * Future versions of this plugin may implement different strategies for 
resolving avatar images, possibly
-     * using different providers.
-     *<p>
-     *<strong>Note</strong>: This property will be renamed to {@code 
tteam.showAvatarImages} in 3.0.
+     *
      * @since 2.6
      */
     @Parameter(property = "teamlist.showAvatarImages", defaultValue = "true")
     private boolean showAvatarImages;
 
+    /**
+     * Indicate if external url should be used for avatar images.

Review Comment:
   URL.
   Is there an internal URL? If not, delete "external" here or rewrite





> 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)

Reply via email to