From 53770a3255d640eeb6ba66335f357a6ae24e7c2e Mon Sep 17 00:00:00 2001
From: sverdlov93 <sverdlov93@gmail.com>
Date: Sun, 17 Jul 2022 19:12:09 +0300
Subject: [PATCH 1/4] add project field to gradle

---
 .../plugin/artifactory/extractor/GradleBuildInfoExtractor.java | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/build-info-extractor-gradle/src/main/groovy/org/jfrog/gradle/plugin/artifactory/extractor/GradleBuildInfoExtractor.java b/build-info-extractor-gradle/src/main/groovy/org/jfrog/gradle/plugin/artifactory/extractor/GradleBuildInfoExtractor.java
index 547f367fd..8e02153b4 100644
--- a/build-info-extractor-gradle/src/main/groovy/org/jfrog/gradle/plugin/artifactory/extractor/GradleBuildInfoExtractor.java
+++ b/build-info-extractor-gradle/src/main/groovy/org/jfrog/gradle/plugin/artifactory/extractor/GradleBuildInfoExtractor.java
@@ -59,6 +59,9 @@ public BuildInfo extract(Project rootProject) {
         String buildNumber = clientConf.info.getBuildNumber();
         bib.number(buildNumber);
 
+        String buildProject = clientConf.info.getProject();
+        bib.project(buildProject);
+
         String buildStartedIso = clientConf.info.getBuildStarted();
         Date buildStartDate = null;
         try {

From 7d1c3124e1580bcce5e4b99baf5370ac1170ab01 Mon Sep 17 00:00:00 2001
From: Michael Sverdlov <michaelsv@jfrog.com>
Date: Sun, 18 Jun 2023 14:25:10 +0300
Subject: [PATCH 2/4] Header request

---
 .../client/artifactory/ArtifactoryManager.java   | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/artifactory/ArtifactoryManager.java b/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/artifactory/ArtifactoryManager.java
index 9b0d5f026..aa6de0238 100644
--- a/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/artifactory/ArtifactoryManager.java
+++ b/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/artifactory/ArtifactoryManager.java
@@ -93,6 +93,22 @@ public DownloadResponse download(String downloadFrom, Map<String, String> header
         return downloadService.execute(jfrogHttpClient);
     }
 
+    /**
+     * Download headers and return specific header if exists
+     * @param downloadFrom - path to specific artifact in Artifactory.
+     * @param headerName - specific header name to return if exists.
+     * @return - header's string value to return.
+     */
+    public String downloadHeader(String downloadFrom, String headerName) throws IOException {
+        Header[] headers = downloadHeaders(downloadFrom);
+        for (Header header : headers) {
+            if (header.getName().equals(headerName)) {
+                return header.getValue();
+            }
+        }
+        return StringUtils.EMPTY;
+    }
+
     public Header[] downloadHeaders(String downloadFrom) throws IOException {
         return downloadHeaders(downloadFrom, null);
     }

From 5997be31c5bad09aa8485442c899546600d995cc Mon Sep 17 00:00:00 2001
From: Michael Sverdlov <michaelsv@jfrog.com>
Date: Sun, 18 Jun 2023 14:36:44 +0300
Subject: [PATCH 3/4] Header request

---
 .../client/artifactory/ArtifactoryManager.java        | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/artifactory/ArtifactoryManager.java b/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/artifactory/ArtifactoryManager.java
index aa6de0238..5376aacb4 100644
--- a/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/artifactory/ArtifactoryManager.java
+++ b/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/artifactory/ArtifactoryManager.java
@@ -95,15 +95,18 @@ public DownloadResponse download(String downloadFrom, Map<String, String> header
 
     /**
      * Download headers and return specific header if exists
+     *
      * @param downloadFrom - path to specific artifact in Artifactory.
-     * @param headerName - specific header name to return if exists.
+     * @param headerName   - specific header name to return if exists.
      * @return - header's string value to return.
      */
     public String downloadHeader(String downloadFrom, String headerName) throws IOException {
         Header[] headers = downloadHeaders(downloadFrom);
-        for (Header header : headers) {
-            if (header.getName().equals(headerName)) {
-                return header.getValue();
+        if (headers != null) {
+            for (Header header : headers) {
+                if (header.getName().equals(headerName)) {
+                    return header.getValue();
+                }
             }
         }
         return StringUtils.EMPTY;

From 3cbe459103dd62bf216eb317c296c05b9b36cb1e Mon Sep 17 00:00:00 2001
From: Michael Sverdlov <michaelsv@jfrog.com>
Date: Sun, 9 Jul 2023 12:04:00 +0300
Subject: [PATCH 4/4] Remove redundant spaces

---
 .../client/artifactory/services/DownloadBase.java           | 2 +-
 .../client/artifactory/services/SetProperties.java          | 6 +++---
 .../client/distribution/services/DeleteReleaseBundle.java   | 4 ++--
 .../distribution/services/DistributeReleaseBundle.java      | 4 ++--
 .../distribution/services/VoidDistributionService.java      | 2 +-
 5 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/artifactory/services/DownloadBase.java b/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/artifactory/services/DownloadBase.java
index 6b8148d5e..071840963 100644
--- a/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/artifactory/services/DownloadBase.java
+++ b/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/artifactory/services/DownloadBase.java
@@ -45,7 +45,7 @@ protected void handleUnsuccessfulResponse(HttpEntity entity) throws IOException
         if (statusCode == HttpStatus.SC_NOT_FOUND) {
             throw new FileNotFoundException("Unable to find " + downloadPath);
         }
-        log.error("Failed to download from  '" + downloadPath + "'");
+        log.error("Failed to download from '" + downloadPath + "'");
         throwException(entity, getStatusCode());
     }
 }
diff --git a/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/artifactory/services/SetProperties.java b/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/artifactory/services/SetProperties.java
index ad5f3fcc2..f702def51 100644
--- a/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/artifactory/services/SetProperties.java
+++ b/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/artifactory/services/SetProperties.java
@@ -18,10 +18,10 @@
 
 public class SetProperties extends VoidJFrogService {
     public static final String SET_PROPERTIES_ENDPOINT = "api/storage/";
-    private ArrayListMultimap<String, String> propertiesMap;
+    private final ArrayListMultimap<String, String> propertiesMap;
     private final boolean encodeProperties;
     private final String relativePath;
-    private String propertiesString;
+    private final String propertiesString;
 
     private SetProperties(String relativePath, String propertiesString, ArrayListMultimap<String, String> propertiesMap, boolean encodeProperties, Log log) {
         super(log);
@@ -52,7 +52,7 @@ public HttpRequestBase createRequest() throws IOException {
 
     @Override
     protected void handleUnsuccessfulResponse(HttpEntity entity) throws IOException {
-        log.error("Failed to set properties to  '" + relativePath + "'");
+        log.error("Failed to set properties to '" + relativePath + "'");
         throwException(entity, getStatusCode());
     }
 
diff --git a/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/distribution/services/DeleteReleaseBundle.java b/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/distribution/services/DeleteReleaseBundle.java
index 700d7e3a4..5579376f8 100644
--- a/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/distribution/services/DeleteReleaseBundle.java
+++ b/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/distribution/services/DeleteReleaseBundle.java
@@ -65,12 +65,12 @@ public HttpRequestBase createRequest() throws IOException {
     protected void setResponse(InputStream stream) throws IOException {
         result = getMapper().readValue(stream, DistributeReleaseBundleResponse.class);
         log.debug("Deletion response: " + getStatusCode());
-        log.debug("Response:  " + toJsonString(result));
+        log.debug("Response: " + toJsonString(result));
     }
 
     @Override
     public DistributeReleaseBundleResponse execute(JFrogHttpClient client) throws IOException {
-        log.info(request.isDryRun() ? "[Dry run] " : "" + "Deleting " + name + " / " + version);
+        log.info(request.isDryRun() ? "[Dry run] " : "Deleting " + name + " / " + version);
         super.execute(client);
         if (sync && !request.isDryRun()) {
             waitForDeletion(client);
diff --git a/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/distribution/services/DistributeReleaseBundle.java b/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/distribution/services/DistributeReleaseBundle.java
index e06a5550b..7e4f2444e 100644
--- a/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/distribution/services/DistributeReleaseBundle.java
+++ b/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/distribution/services/DistributeReleaseBundle.java
@@ -63,7 +63,7 @@ public HttpRequestBase createRequest() throws IOException {
 
     @Override
     public DistributeReleaseBundleResponse execute(JFrogHttpClient client) throws IOException {
-        log.info(request.isDryRun() ? "[Dry run] " : "" + "Distributing " + name + " / " + version);
+        log.info(request.isDryRun() ? "[Dry run] " : "Distributing " + name + " / " + version);
         super.execute(client);
         if (sync && !request.isDryRun()) {
             waitForDistribution(client);
@@ -75,7 +75,7 @@ public DistributeReleaseBundleResponse execute(JFrogHttpClient client) throws IO
     protected void setResponse(InputStream stream) throws IOException {
         result = getMapper().readValue(stream, DistributeReleaseBundleResponse.class);
         log.debug("Distribution response: " + getStatusCode());
-        log.debug("Response:  " + toJsonString(result));
+        log.debug("Response: " + toJsonString(result));
     }
 
     private void waitForDistribution(JFrogHttpClient client) throws IOException {
diff --git a/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/distribution/services/VoidDistributionService.java b/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/distribution/services/VoidDistributionService.java
index 10109e89e..3b0733215 100644
--- a/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/distribution/services/VoidDistributionService.java
+++ b/build-info-extractor/src/main/java/org/jfrog/build/extractor/clientConfiguration/client/distribution/services/VoidDistributionService.java
@@ -19,6 +19,6 @@ protected VoidDistributionService(Log log) {
     @Override
     protected void setResponse(InputStream stream) throws IOException {
         String ResponseMessage = getStatusCode() + IOUtils.toString(stream, StandardCharsets.UTF_8.name());
-        log.debug("Distribution response:  " + ResponseMessage);
+        log.debug("Distribution response: " + ResponseMessage);
     }
 }