diff --git a/build.gradle b/build.gradle
index 86855ae..2698253 100644
--- a/build.gradle
+++ b/build.gradle
@@ -42,12 +42,25 @@ dependencies {
implementation 'com.epam.reportportal:plugin-api'
annotationProcessor 'com.epam.reportportal:plugin-api'
} else {
- implementation 'com.github.reportportal:commons-dao:7de2ad1'
- implementation 'com.github.reportportal:plugin-api:9bc4735'
- annotationProcessor 'com.github.reportportal:plugin-api:9bc4735'
+ implementation 'com.github.reportportal:commons-dao:28d0461'
+ implementation 'com.github.reportportal:plugin-api:a9a8b73'
+ annotationProcessor 'com.github.reportportal:plugin-api:a9a8b73'
}
implementation 'org.hibernate:hibernate-core:5.6.15.Final'
- implementation 'com.saucelabs:saucerest:1.0.43'
+
+ // TODO: 2.5.3+ switched to camel-case models. UI updates required
+ implementation 'com.saucelabs:saucerest:2.5.1'
+ implementation 'dev.failsafe:failsafe:3.3.2'
+ implementation 'org.awaitility:awaitility:4.2.2'
+ implementation 'org.hamcrest:hamcrest-core:2.2'
+ runtimeOnly 'com.squareup.moshi:moshi:1.15.1'
+
+ // add lombok support
+ compileOnly "org.projectlombok:lombok:${lombokVersion}"
+ annotationProcessor "org.projectlombok:lombok:${lombokVersion}"
+ testCompileOnly "org.projectlombok:lombok:${lombokVersion}"
+ testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}"
+
}
generatePomFileForShadowPublication { pom.packaging = "jar" }
@@ -69,8 +82,13 @@ shadowJar {
archiveClassifier.set(null)
zip64 true
dependencies {
- include(dependency('com.saucelabs:saucerest:1.0.43'))
- include(dependency('org.json:json:20171018'))
+ include(dependency('com.saucelabs:saucerest:2.5.1'))
+ include(dependency('org.json:json:20240303'))
+ include(dependency('org.awaitility:awaitility:4.2.2'))
+ include(dependency('org.hamcrest:hamcrest:2.2'))
+ include(dependency('com.squareup.moshi:moshi:1.15.1'))
+ include(dependency('net.jodah:failsafe:2.4.4'))
+
}
}
diff --git a/gradle.properties b/gradle.properties
index 0cfca58..4c492f1 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1 +1,2 @@
-version=5.11.0
\ No newline at end of file
+version=5.11.0
+lombokVersion=1.18.34
diff --git a/src/main/java/com/epam/reportportal/saucelabs/AssetsCommand.java b/src/main/java/com/epam/reportportal/saucelabs/AssetsCommand.java
index 9f6e8b7..4202dfc 100644
--- a/src/main/java/com/epam/reportportal/saucelabs/AssetsCommand.java
+++ b/src/main/java/com/epam/reportportal/saucelabs/AssetsCommand.java
@@ -17,51 +17,79 @@
package com.epam.reportportal.saucelabs;
import static com.epam.reportportal.saucelabs.SaucelabsExtension.JOB_ID;
-import static com.epam.reportportal.saucelabs.SaucelabsProperties.DATA_CENTER;
import com.epam.reportportal.extension.PluginCommand;
-import com.epam.reportportal.rules.commons.validation.Suppliers;
-import com.epam.ta.reportportal.entity.integration.Integration;
-import com.epam.reportportal.rules.exception.ReportPortalException;
import com.epam.reportportal.rules.exception.ErrorType;
+import com.epam.reportportal.rules.exception.ReportPortalException;
+import com.epam.reportportal.saucelabs.client.RestClientBuilder;
+import com.epam.reportportal.saucelabs.model.SauceProperties;
+import com.epam.ta.reportportal.entity.integration.Integration;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.saucelabs.saucerest.SauceREST;
-import java.io.IOException;
+import com.saucelabs.saucerest.MoshiSingleton;
+import com.saucelabs.saucerest.model.jobs.JobAssets;
+import com.squareup.moshi.JsonAdapter;
+import com.squareup.moshi.Moshi;
import java.util.Map;
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.springframework.web.client.HttpClientErrorException;
+import org.springframework.web.client.RestTemplate;
/**
* @author Pavel Bortnik
*/
+@Slf4j
public class AssetsCommand implements PluginCommand