From 040ce120c5aeb01bd7dae6bcc05bfd8a70188c1a Mon Sep 17 00:00:00 2001 From: Beppe Catanese <1771700+gcatanese@users.noreply.github.com> Date: Thu, 12 Sep 2024 17:22:14 +0200 Subject: [PATCH] Dependency management refactor (#200) * Remove centralised version control * Define dependency versions per app * Add missing countryCode * Define dependency versions per app --- authorisation-adjustment-example/build.gradle | 21 +++++---- .../settings.gradle | 8 ---- checkout-example-advanced/build.gradle | 21 +++++---- checkout-example-advanced/settings.gradle | 7 --- .../adyen/checkout/api/CheckoutResource.java | 3 +- checkout-example/build.gradle | 16 ++++--- checkout-example/settings.gradle | 8 ---- giftcard-example/build.gradle | 21 +++++---- giftcard-example/settings.gradle | 7 --- giving-example/build.gradle | 17 ++++--- giving-example/settings.gradle | 7 --- gradle/libs.versions.toml | 21 --------- in-person-payments-example/build.gradle | 21 +++++---- in-person-payments-example/settings.gradle | 7 --- paybylink-example/build.gradle | 44 +++++++------------ paybylink-example/settings.gradle | 8 ---- subscription-example/build.gradle | 21 +++++---- subscription-example/settings.gradle | 8 ---- 18 files changed, 103 insertions(+), 163 deletions(-) delete mode 100644 gradle/libs.versions.toml diff --git a/authorisation-adjustment-example/build.gradle b/authorisation-adjustment-example/build.gradle index 212a21bb..10c2d943 100644 --- a/authorisation-adjustment-example/build.gradle +++ b/authorisation-adjustment-example/build.gradle @@ -1,6 +1,6 @@ plugins { - alias(libs.plugins.spring.framework) - alias(libs.plugins.spring.dependency) + id 'org.springframework.boot' version '3.1.4' + id 'io.spring.dependency-management' version '1.1.3' id 'java' } @@ -12,18 +12,23 @@ sourceCompatibility = 17 targetCompatibility = 17 repositories { - mavenCentral() + mavenCentral() } dependencies { - implementation libs.adyen.java - implementation libs.bundles.spring + implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect' + implementation 'com.adyen:adyen-java-api-library:23.0.1' - testImplementation(libs.bundles.spring.test){ - exclude (group: 'org.junit.vintage', module: 'junit-vintage-engine') + developmentOnly 'org.springframework.boot:spring-boot-devtools' + + testImplementation('org.springframework.boot:spring-boot-starter-test') { + exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } + } test { - useJUnitPlatform() + useJUnitPlatform() } diff --git a/authorisation-adjustment-example/settings.gradle b/authorisation-adjustment-example/settings.gradle index c796e85c..08b9ce7b 100644 --- a/authorisation-adjustment-example/settings.gradle +++ b/authorisation-adjustment-example/settings.gradle @@ -1,9 +1 @@ rootProject.name = 'adyen-java-spring-online-payments-authorisation-adjustment' - -dependencyResolutionManagement { - versionCatalogs { - libs { - from(files("../gradle/libs.versions.toml")) - } - } -} diff --git a/checkout-example-advanced/build.gradle b/checkout-example-advanced/build.gradle index 212a21bb..10c2d943 100644 --- a/checkout-example-advanced/build.gradle +++ b/checkout-example-advanced/build.gradle @@ -1,6 +1,6 @@ plugins { - alias(libs.plugins.spring.framework) - alias(libs.plugins.spring.dependency) + id 'org.springframework.boot' version '3.1.4' + id 'io.spring.dependency-management' version '1.1.3' id 'java' } @@ -12,18 +12,23 @@ sourceCompatibility = 17 targetCompatibility = 17 repositories { - mavenCentral() + mavenCentral() } dependencies { - implementation libs.adyen.java - implementation libs.bundles.spring + implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect' + implementation 'com.adyen:adyen-java-api-library:23.0.1' - testImplementation(libs.bundles.spring.test){ - exclude (group: 'org.junit.vintage', module: 'junit-vintage-engine') + developmentOnly 'org.springframework.boot:spring-boot-devtools' + + testImplementation('org.springframework.boot:spring-boot-starter-test') { + exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } + } test { - useJUnitPlatform() + useJUnitPlatform() } diff --git a/checkout-example-advanced/settings.gradle b/checkout-example-advanced/settings.gradle index 87048f90..d6681414 100644 --- a/checkout-example-advanced/settings.gradle +++ b/checkout-example-advanced/settings.gradle @@ -1,9 +1,2 @@ rootProject.name = 'adyen-java-spring-online-payments-checkout-advanced' -dependencyResolutionManagement { - versionCatalogs { - libs { - from(files("../gradle/libs.versions.toml")) - } - } -} diff --git a/checkout-example-advanced/src/main/java/com/adyen/checkout/api/CheckoutResource.java b/checkout-example-advanced/src/main/java/com/adyen/checkout/api/CheckoutResource.java index 43e2615f..8c75ebc9 100644 --- a/checkout-example-advanced/src/main/java/com/adyen/checkout/api/CheckoutResource.java +++ b/checkout-example-advanced/src/main/java/com/adyen/checkout/api/CheckoutResource.java @@ -84,7 +84,8 @@ public ResponseEntity payments(@RequestHeader String host, @Req paymentRequest.setReturnUrl(request.getScheme() + "://" + host + "/api/handleShopperRedirect?orderRef=" + orderRef); paymentRequest.setAmount(amount); - // set lineItems required for some payment methods (ie Klarna) + // set countryCode and lineItems required for some payment methods (ie Klarna) + paymentRequest.setCountryCode("NL"); paymentRequest.setLineItems(Arrays.asList( new LineItem().quantity(1L).amountIncludingTax(5000L).description("Sunglasses"), new LineItem().quantity(1L).amountIncludingTax(5000L).description("Headphones")) diff --git a/checkout-example/build.gradle b/checkout-example/build.gradle index 58e5f8d7..aee18fc4 100644 --- a/checkout-example/build.gradle +++ b/checkout-example/build.gradle @@ -1,6 +1,6 @@ plugins { - alias(libs.plugins.spring.framework) - alias(libs.plugins.spring.dependency) + id 'org.springframework.boot' version '3.1.4' + id 'io.spring.dependency-management' version '1.1.3' id 'java' } @@ -16,11 +16,15 @@ repositories { } dependencies { - implementation libs.adyen.java - implementation libs.bundles.spring + implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect' + implementation 'com.adyen:adyen-java-api-library:23.0.1' - testImplementation(libs.bundles.spring.test){ - exclude (group: 'org.junit.vintage', module: 'junit-vintage-engine') + developmentOnly 'org.springframework.boot:spring-boot-devtools' + + testImplementation('org.springframework.boot:spring-boot-starter-test') { + exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } } diff --git a/checkout-example/settings.gradle b/checkout-example/settings.gradle index 5b44e1ec..9cee3223 100644 --- a/checkout-example/settings.gradle +++ b/checkout-example/settings.gradle @@ -1,9 +1 @@ rootProject.name = 'adyen-java-spring-online-payments-checkout' - -dependencyResolutionManagement { - versionCatalogs { - libs { - from(files("../gradle/libs.versions.toml")) - } - } -} diff --git a/giftcard-example/build.gradle b/giftcard-example/build.gradle index 212a21bb..10c2d943 100644 --- a/giftcard-example/build.gradle +++ b/giftcard-example/build.gradle @@ -1,6 +1,6 @@ plugins { - alias(libs.plugins.spring.framework) - alias(libs.plugins.spring.dependency) + id 'org.springframework.boot' version '3.1.4' + id 'io.spring.dependency-management' version '1.1.3' id 'java' } @@ -12,18 +12,23 @@ sourceCompatibility = 17 targetCompatibility = 17 repositories { - mavenCentral() + mavenCentral() } dependencies { - implementation libs.adyen.java - implementation libs.bundles.spring + implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect' + implementation 'com.adyen:adyen-java-api-library:23.0.1' - testImplementation(libs.bundles.spring.test){ - exclude (group: 'org.junit.vintage', module: 'junit-vintage-engine') + developmentOnly 'org.springframework.boot:spring-boot-devtools' + + testImplementation('org.springframework.boot:spring-boot-starter-test') { + exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } + } test { - useJUnitPlatform() + useJUnitPlatform() } diff --git a/giftcard-example/settings.gradle b/giftcard-example/settings.gradle index 3bf27176..ae698d23 100644 --- a/giftcard-example/settings.gradle +++ b/giftcard-example/settings.gradle @@ -1,9 +1,2 @@ rootProject.name = 'adyen-java-spring-online-payments-giftcard' -dependencyResolutionManagement { - versionCatalogs { - libs { - from(files("../gradle/libs.versions.toml")) - } - } -} diff --git a/giving-example/build.gradle b/giving-example/build.gradle index 079aea3c..10c2d943 100644 --- a/giving-example/build.gradle +++ b/giving-example/build.gradle @@ -1,6 +1,6 @@ plugins { - alias(libs.plugins.spring.framework) - alias(libs.plugins.spring.dependency) + id 'org.springframework.boot' version '3.1.4' + id 'io.spring.dependency-management' version '1.1.3' id 'java' } @@ -16,12 +16,17 @@ repositories { } dependencies { - implementation libs.adyen.java - implementation libs.bundles.spring + implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect' + implementation 'com.adyen:adyen-java-api-library:23.0.1' - testImplementation(libs.bundles.spring.test){ - exclude (group: 'org.junit.vintage', module: 'junit-vintage-engine') + developmentOnly 'org.springframework.boot:spring-boot-devtools' + + testImplementation('org.springframework.boot:spring-boot-starter-test') { + exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } + } test { diff --git a/giving-example/settings.gradle b/giving-example/settings.gradle index 9c8e8fa8..09494e6f 100644 --- a/giving-example/settings.gradle +++ b/giving-example/settings.gradle @@ -1,9 +1,2 @@ rootProject.name = 'giving-example' -dependencyResolutionManagement { - versionCatalogs { - libs { - from(files("../gradle/libs.versions.toml")) - } - } -} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml deleted file mode 100644 index ace4f937..00000000 --- a/gradle/libs.versions.toml +++ /dev/null @@ -1,21 +0,0 @@ -[versions] -adyenVersion="23.0.1" -springVersion="3.1.4" -springDependendyManagementVersion="1.1.3" - -[libraries] -adyen-java = { module = "com.adyen:adyen-java-api-library", version.ref = "adyenVersion" } - -spring-boot-starter-thymeleaf = { module = "org.springframework.boot:spring-boot-starter-thymeleaf" } -spring-boot-starter-web = { module = "org.springframework.boot:spring-boot-starter-web" } -thymeleaf-layout-dialect = { module = "nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect" } -spring-boot-devtools = { module = "org.springframework.boot:spring-boot-devtools" } -spring-boot-starter-test = { module = "org.springframework.boot:spring-boot-starter-test" } - -[bundles] -spring = ["spring-boot-starter-web", "spring-boot-starter-thymeleaf", "spring-boot-devtools", "thymeleaf-layout-dialect"] -spring-test = ["spring-boot-starter-test"] - -[plugins] -spring-framework = { id = "org.springframework.boot", version.ref = "springVersion" } -spring-dependency = { id = "io.spring.dependency-management", version.ref = "springDependendyManagementVersion" } diff --git a/in-person-payments-example/build.gradle b/in-person-payments-example/build.gradle index 212a21bb..10c2d943 100644 --- a/in-person-payments-example/build.gradle +++ b/in-person-payments-example/build.gradle @@ -1,6 +1,6 @@ plugins { - alias(libs.plugins.spring.framework) - alias(libs.plugins.spring.dependency) + id 'org.springframework.boot' version '3.1.4' + id 'io.spring.dependency-management' version '1.1.3' id 'java' } @@ -12,18 +12,23 @@ sourceCompatibility = 17 targetCompatibility = 17 repositories { - mavenCentral() + mavenCentral() } dependencies { - implementation libs.adyen.java - implementation libs.bundles.spring + implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect' + implementation 'com.adyen:adyen-java-api-library:23.0.1' - testImplementation(libs.bundles.spring.test){ - exclude (group: 'org.junit.vintage', module: 'junit-vintage-engine') + developmentOnly 'org.springframework.boot:spring-boot-devtools' + + testImplementation('org.springframework.boot:spring-boot-starter-test') { + exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } + } test { - useJUnitPlatform() + useJUnitPlatform() } diff --git a/in-person-payments-example/settings.gradle b/in-person-payments-example/settings.gradle index dbaaf22e..ef2b79e9 100644 --- a/in-person-payments-example/settings.gradle +++ b/in-person-payments-example/settings.gradle @@ -1,9 +1,2 @@ rootProject.name = 'adyen-java-spring-in-person-payments' -dependencyResolutionManagement { - versionCatalogs { - libs { - from(files("../gradle/libs.versions.toml")) - } - } -} diff --git a/paybylink-example/build.gradle b/paybylink-example/build.gradle index 9e9f0572..10c2d943 100644 --- a/paybylink-example/build.gradle +++ b/paybylink-example/build.gradle @@ -1,48 +1,34 @@ plugins { - alias(libs.plugins.spring.framework) - alias(libs.plugins.spring.dependency) + id 'org.springframework.boot' version '3.1.4' + id 'io.spring.dependency-management' version '1.1.3' id 'java' - - id "com.moowork.node" version "1.3.1" } group = 'com.adyen' version = '0.0.1-SNAPSHOT' -sourceCompatibility = '17' + +sourceCompatibility = 17 +targetCompatibility = 17 repositories { mavenCentral() } dependencies { - implementation libs.adyen.java - implementation libs.bundles.spring -} - -tasks.named('test') { - useJUnitPlatform() -} + implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect' + implementation 'com.adyen:adyen-java-api-library:23.0.1' + developmentOnly 'org.springframework.boot:spring-boot-devtools' -tasks.register('myNpmInstall', Exec) { - workingDir 'src/main/js' - commandLine 'npm', 'install' -} - -tasks.register('myNpmRun', Exec) { - workingDir 'src/main/js' - commandLine 'npm', 'run', 'dist' -} + testImplementation('org.springframework.boot:spring-boot-starter-test') { + exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' + } -myNpmInstall { - dependsOn nodeSetup } -myNpmRun { - dependsOn myNpmInstall -} - -jar { - dependsOn myNpmRun +test { + useJUnitPlatform() } diff --git a/paybylink-example/settings.gradle b/paybylink-example/settings.gradle index 4a4f7ac5..1662e75f 100644 --- a/paybylink-example/settings.gradle +++ b/paybylink-example/settings.gradle @@ -1,9 +1 @@ rootProject.name = 'paybylink-example' - -dependencyResolutionManagement { - versionCatalogs { - libs { - from(files("../gradle/libs.versions.toml")) - } - } -} diff --git a/subscription-example/build.gradle b/subscription-example/build.gradle index 212a21bb..10c2d943 100644 --- a/subscription-example/build.gradle +++ b/subscription-example/build.gradle @@ -1,6 +1,6 @@ plugins { - alias(libs.plugins.spring.framework) - alias(libs.plugins.spring.dependency) + id 'org.springframework.boot' version '3.1.4' + id 'io.spring.dependency-management' version '1.1.3' id 'java' } @@ -12,18 +12,23 @@ sourceCompatibility = 17 targetCompatibility = 17 repositories { - mavenCentral() + mavenCentral() } dependencies { - implementation libs.adyen.java - implementation libs.bundles.spring + implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect' + implementation 'com.adyen:adyen-java-api-library:23.0.1' - testImplementation(libs.bundles.spring.test){ - exclude (group: 'org.junit.vintage', module: 'junit-vintage-engine') + developmentOnly 'org.springframework.boot:spring-boot-devtools' + + testImplementation('org.springframework.boot:spring-boot-starter-test') { + exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } + } test { - useJUnitPlatform() + useJUnitPlatform() } diff --git a/subscription-example/settings.gradle b/subscription-example/settings.gradle index 6a998e48..ab4d70d1 100644 --- a/subscription-example/settings.gradle +++ b/subscription-example/settings.gradle @@ -1,9 +1 @@ rootProject.name = 'adyen-java-spring-online-payments-subscription' - -dependencyResolutionManagement { - versionCatalogs { - libs { - from(files("../gradle/libs.versions.toml")) - } - } -}