diff --git a/.circleci/config.yml b/.circleci/config.yml index 337d2cc..6edb232 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,47 +1,82 @@ -version: 2.0 -jobs: - build: +version: 2.1 + +orbs: + git-shallow-clone: riskified/git-shallow-clone@2.8.0 + +executors: + java-executor: resource_class: riskified/container-agent docker: - - image: 284309667046.dkr.ecr.us-east-1.amazonaws.com/riskified/images-library/openjdk-cimg:master-8.0 + - image: 284309667046.dkr.ecr.us-east-1.amazonaws.com/riskified/images-library/openjdk-cimg:master-21.0 - working_directory: ~/repo +jobs: + package: + executor: java-executor + working_directory: ~/RiskifiedJavaSDK steps: - - checkout - - # Download and cache dependencies + - run: + name: Avoid hosts unknown for github + command: mkdir -p ~/.ssh/ && echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config + - git-shallow-clone/checkout: + depth: 1 - restore_cache: keys: - - v1-dependencies-{{ checksum "pom.xml" }} - - v1-dependencies- - - run: mvn dependency:go-offline - + - v1-dependencies-{{ checksum "pom.xml" }} + - v1-dependencies- + - run: + command: mvn dependency:go-offline - save_cache: paths: - ~/.m2 key: v1-dependencies-{{ checksum "pom.xml" }} - - run: - command: | - echo $SERVER_OSSRH_USERNAME - - run: + - run: + name: Build project with Maven + command: mvn -B package --file pom.xml + deploy: + executor: java-executor + working_directory: ~/RiskifiedJavaSDK + steps: + - run: + name: Avoid hosts unknown for github + command: mkdir -p ~/.ssh/ && echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config + - run: + name: "Configure GPG" command: | mkdir -p ~/.gnupg - echo use-agent >> ~/.gnupg/gpg.conf echo pinentry-mode loopback >> ~/.gnupg/gpg.conf echo allow-loopback-pinentry >> ~/.gnupg/gpg-agent.conf - echo RELOADAGENT | gpg-connect-agent + gpg-connect-agent reloadagent /bye echo $SECRING_GPG_ASC_BASE64 | base64 --decode | gpg --batch --no-tty --import --yes GPG_TTY=$(tty) export GPG_TTY + - restore_cache: + keys: + - v1-dependencies-{{ checksum "pom.xml" }} + - v1-dependencies- - run: - command: | - mvn -s .circleci/maven-release-settings.xml clean deploy -DdeployAtEnd=true -DperformRelease=true -DskipTests -Dspotbugs.skip=true - + command: mvn -s .circleci/maven-release-settings.xml clean deploy -DdeployAtEnd=true -DperformRelease=true -DskipTests -Dspotbugs.skip=true + workflows: - version: 2 main: jobs: - - build: + - package: + filters: + tags: + only: /^v.*/ + - hold_on_deploy: + type: approval + requires: + - package + filters: + tags: + only: /^v.*/ + branches: + ignore: /.*/ + - deploy: + requires: + - hold_on_deploy filters: + tags: + only: /^v.*/ branches: - only: [master, /release-.*/] + ignore: /.*/ diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 5e678e6..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Maven CI/CD -on: - push: - branches: - - master - pull_request: - branches: - - master - workflow_dispatch: - -jobs: - build_and_test: - runs-on: ubuntu-latest - steps: - - name: Checking out - uses: actions/checkout@v4 ##action to give our job access to code in our repo - - - name: Cache local mvn repo - uses: actions/cache@v4 - with: - path: ~/.m2/repository - key: v1-dependencies-{{ hashFiles('**/pom.xml') }} - restore-keys: | - v1-dependencies- - - - run: mvn dependency:go-offline - - - name: Configuring GPG key - run: | - echo $GPG_SIGNING_KEY | base64 --decode | gpg --batch --import - env: - GPG_SIGNING_KEY: ${{ secrets.SECRING_GPG_ASC_BASE64 }} - - - name: Set up JDK 8 - uses: actions/setup-java@v4 ##this action sets up a java environment that our job can run in - with: - distribution: 'zulu' - java-version: 8 - overwrite-settings: false - - - name: Build project with Maven - run: mvn -B package --file pom.xml - - # - name: Publish to Apache Maven Central - # if: github.event_name == 'push' && github.ref == 'refs/heads/master' - # run: GPG_TTY=$(tty); mvn -s .github/workflows/maven-release-setting.xml clean deploy -DdeployAtEnd=true -DperformRelease=true -DskipTests -Dspotbugs.skip=true - # env: - # SERVER_OSSRH_USERNAME: ${{ secrets.SERVER_OSSRH_USERNAME }} - # SERVER_OSSRH_PASSWORD: ${{ secrets.SERVER_OSSRH_PASSWORD }} - # GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} diff --git a/.github/workflows/maven-release-setting.xml b/.github/workflows/maven-release-setting.xml deleted file mode 100644 index f478962..0000000 --- a/.github/workflows/maven-release-setting.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - ossrh - ${env.SERVER_OSSRH_USERNAME} - ${env.SERVER_OSSRH_PASSWORD} - - - - - - gpg - - gpg - ${env.GPG_PASSPHRASE} - - - - - gpg - - \ No newline at end of file diff --git a/README.md b/README.md index c9a1e85..48aff4b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Riskified JAVA SDK ================= -version: 3.3.0 +version: 5.1.0 ------------------ See http://apiref.riskified.com for full API documentation @@ -45,7 +45,7 @@ Prerequisites: --------------- -* Java JDK-1.5 or higher +* Java JDK-8 or higher Running the samples: @@ -104,7 +104,7 @@ curl -H "Content-Type: application/json" -H "X-RISKIFIED-HMAC-SHA256: 071ef80d5 com.riskified riskified-sdk - v3.3.0 + v5.1.0 ``` diff --git a/pom.xml b/pom.xml index 75c3171..777d332 100644 --- a/pom.xml +++ b/pom.xml @@ -8,10 +8,9 @@ maven-compiler-plugin - 3.1 + 3.14.1 - - + 8 diff --git a/riskified-sample/pom.xml b/riskified-sample/pom.xml index 480f99b..901c16b 100644 --- a/riskified-sample/pom.xml +++ b/riskified-sample/pom.xml @@ -9,7 +9,7 @@ com.riskified riskified-sdk - v2.2.2 + v5.1.0 diff --git a/riskified-sample/src/main/java/com/riskified/samples/orderClient/AccommodationClient.java b/riskified-sample/src/main/java/com/riskified/samples/orderClient/AccommodationClient.java index 70cce48..269c1b6 100644 --- a/riskified-sample/src/main/java/com/riskified/samples/orderClient/AccommodationClient.java +++ b/riskified-sample/src/main/java/com/riskified/samples/orderClient/AccommodationClient.java @@ -19,7 +19,8 @@ public static void main(String[] arg) throws FieldBadFormatException { try { // Riskified client parameters can be set in the constructor, like this: RiskifiedClient client = new RiskifiedClient("", "", Environment.SANDBOX); - // Or according 'riskified_sdk.properties' configuration file, like this: + // Or using 'riskified_sdk.properties' configuration file, like this: + //RiskifiedClient client = new RiskifiedClient(); Response resCreateOrder = client.createOrder(order); diff --git a/riskified-sample/src/main/java/com/riskified/samples/orderClient/AccountActionClient.java b/riskified-sample/src/main/java/com/riskified/samples/orderClient/AccountActionClient.java index ed2c7ea..e0ae33a 100644 --- a/riskified-sample/src/main/java/com/riskified/samples/orderClient/AccountActionClient.java +++ b/riskified-sample/src/main/java/com/riskified/samples/orderClient/AccountActionClient.java @@ -183,7 +183,9 @@ private static Contact generateContact() { } private static Verification generateVerification() { - Verification verification = new Verification(new Date(2020,06,25,13,53,19), VerificationStatus.success, "12345"); + Calendar cal = Calendar.getInstance(); + cal.set(2020, Calendar.JUNE, 25, 13, 53, 19); + Verification verification = new Verification(cal.getTime(), VerificationStatus.success, "12345", "555-625-1199"); verification.setEmail("customer_email@test.com"); VerificationSessionDetails verificationSessionDetails = new VerificationSessionDetails(); verificationSessionDetails.setBrowserIp("111.111.111.111"); diff --git a/riskified-sample/src/main/java/com/riskified/samples/orderClient/Client.java b/riskified-sample/src/main/java/com/riskified/samples/orderClient/Client.java index bac81a9..46064ac 100644 --- a/riskified-sample/src/main/java/com/riskified/samples/orderClient/Client.java +++ b/riskified-sample/src/main/java/com/riskified/samples/orderClient/Client.java @@ -43,7 +43,9 @@ public static void main(String[] arg) throws FieldBadFormatException, ParseExcep try { // Riskified client parameters can be set in the constructor, like this: - RiskifiedClient client = new RiskifiedClient("shopurl", "authtoken", Environment.SANDBOX); + RiskifiedClient client = new RiskifiedClient("shopurl", "authtoken", Environment.SANDBOX); + // Or using 'riskified_sdk.properties' configuration file, like this: + //RiskifiedClient client = new RiskifiedClient(); // Response resAdviseOrder = client.adviseOrder(adviseOrder); diff --git a/riskified-sample/src/main/java/com/riskified/samples/orderClient/JsonClient.java b/riskified-sample/src/main/java/com/riskified/samples/orderClient/JsonClient.java index a8d5193..9b92ca2 100644 --- a/riskified-sample/src/main/java/com/riskified/samples/orderClient/JsonClient.java +++ b/riskified-sample/src/main/java/com/riskified/samples/orderClient/JsonClient.java @@ -41,7 +41,7 @@ public static void main(String[] args) throws ParseException, FileNotFoundExcept billingAddress.setCountryCode("US"); billingAddress.setProvinceCode("NY"); billingAddress.setZip("64155"); - order.setBillingAddress(billingAddress); + order.setBillingAddress(Collections.singletonList(billingAddress)); diff --git a/riskified-sdk/pom.xml b/riskified-sdk/pom.xml index d87c30a..2571940 100644 --- a/riskified-sdk/pom.xml +++ b/riskified-sdk/pom.xml @@ -4,16 +4,12 @@ 4.0.0 com.riskified riskified-sdk - v4.1.0 + v5.1.0 Riskified SDK Riskified rest api SDK for java https://www.riskified.com - central https://central.sonatype.com/api/v1/publisher/deployments/ @@ -29,17 +25,16 @@ org.apache.maven.plugins maven-compiler-plugin - 3.2 + 3.14.1 - 1.5 - 1.5 + 8 org.sonatype.central central-publishing-maven-plugin - 0.8.0 + 0.10.0 true central @@ -68,7 +63,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 2.9 + 3.6.3 attach-javadocs diff --git a/riskified-sdk/src/main/java/com/riskified/JSONFormater.java b/riskified-sdk/src/main/java/com/riskified/JSONFormater.java index e62d66d..1d99db7 100644 --- a/riskified-sdk/src/main/java/com/riskified/JSONFormater.java +++ b/riskified-sdk/src/main/java/com/riskified/JSONFormater.java @@ -12,8 +12,6 @@ import com.riskified.models.PaypalPaymentDetails; import com.riskified.models.StripePaymentDetails; -import sun.security.x509.IPAddressName; - public class JSONFormater { public static String toJson(Object obj) { diff --git a/riskified-sdk/src/main/java/com/riskified/RiskifiedClient.java b/riskified-sdk/src/main/java/com/riskified/RiskifiedClient.java index 08a06fa..0ef5193 100644 --- a/riskified-sdk/src/main/java/com/riskified/RiskifiedClient.java +++ b/riskified-sdk/src/main/java/com/riskified/RiskifiedClient.java @@ -1075,7 +1075,7 @@ private HttpPost createPostRequest(String url) { postRequest.setHeader(HttpHeaders.ACCEPT, "application/vnd.riskified.com; version=2"); postRequest.setHeader(HttpHeaders.ACCEPT, "application/json"); postRequest.setHeader("X-RISKIFIED-SHOP-DOMAIN", shopUrl); - postRequest.setHeader("User-Agent","riskified_java_sdk/4.1.0"); // TODO: take the version automatically + postRequest.setHeader("User-Agent","riskified_java_sdk/5.1.0"); // TODO: take the version automatically postRequest.setHeader("Version",versionHeaderValue); return postRequest; } diff --git a/riskified-sdk/src/main/java/com/riskified/RuntimeTypeAdapterFactory.java b/riskified-sdk/src/main/java/com/riskified/RuntimeTypeAdapterFactory.java index 5784183..20d0b1b 100644 --- a/riskified-sdk/src/main/java/com/riskified/RuntimeTypeAdapterFactory.java +++ b/riskified-sdk/src/main/java/com/riskified/RuntimeTypeAdapterFactory.java @@ -93,7 +93,7 @@ * Both the type field name ({@code "type"}) and the type labels ({@code * "Rectangle"}) are configurable. * - *

Registering Types

+ *

Registering Types

* Create a {@code RuntimeTypeAdapterFactory} by passing the base type and type field * name to the {@link #of} factory method. If you don't supply an explicit type * field name, {@code "type"} will be used.
   {@code