diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 06186a5..65ac4a6 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -7,10 +7,10 @@ on:
jobs:
ci:
- uses: killbill/gh-actions-shared/.github/workflows/ci.yml@main
+ uses: killbill/gh-actions-shared/.github/workflows/ci.yml@java21
integration_test:
- uses: killbill/gh-actions-shared/.github/workflows/integration_test.yml@main
+ uses: killbill/gh-actions-shared/.github/workflows/integration_test.yml@java21
with:
plugin_name: 'catalog-test'
integration_tests_goal: 'test:plugins:catalog-test'
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index c150684..b8add17 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -7,4 +7,4 @@ on:
jobs:
analyze:
- uses: killbill/gh-actions-shared/.github/workflows/codeql-analysis.yml@main
+ uses: killbill/gh-actions-shared/.github/workflows/codeql-analysis.yml@java21
diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml
new file mode 100644
index 0000000..cd51d66
--- /dev/null
+++ b/.github/workflows/snapshot.yml
@@ -0,0 +1,12 @@
+name: snapshot
+
+on:
+ push:
+ workflow_dispatch:
+
+jobs:
+ snapshot:
+ uses: killbill/gh-actions-shared/.github/workflows/snapshot.yml@java21
+ secrets:
+ MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
+ MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
diff --git a/README.md b/README.md
index a41896e..9ac574a 100644
--- a/README.md
+++ b/README.md
@@ -17,11 +17,12 @@ Kill Bill compatibility
| Plugin version | Kill Bill version |
-| -------------: | ----------------: |
-| 0.2.y | 0.18.z |
-| 0.3.y | 0.20.z |
-| 0.4.y | 0.22.z |
-| 0.5.y | 0.24.z |
+|---------------:|------------------:|
+| 0.2.y | 0.18.z |
+| 0.3.y | 0.20.z |
+| 0.4.y | 0.22.z |
+| 0.5.y | 0.24.z |
+| 0.6.y | 0.26.z |
## Requirements
diff --git a/docker/docker-compose.ci.mysql.yml b/docker/docker-compose.ci.mysql.yml
index e3bfff7..459e97f 100644
--- a/docker/docker-compose.ci.mysql.yml
+++ b/docker/docker-compose.ci.mysql.yml
@@ -20,7 +20,7 @@ version: '3.8'
services:
killbill:
network_mode: host
- image: killbill/killbill:0.24.0
+ image: xsalefter/killbill:0.25.1
environment:
- KILLBILL_CATALOG_URI=SpyCarAdvanced.xml
- KILLBILL_DAO_URL=jdbc:mysql://127.0.0.1:3306/killbill
diff --git a/docker/docker-compose.ci.postgresql.yml b/docker/docker-compose.ci.postgresql.yml
index f38178a..6f92111 100644
--- a/docker/docker-compose.ci.postgresql.yml
+++ b/docker/docker-compose.ci.postgresql.yml
@@ -20,7 +20,7 @@ version: '3.8'
services:
killbill:
network_mode: host
- image: killbill/killbill:0.24.0
+ image: xsalefter/killbill:0.25.1
environment:
- KILLBILL_CATALOG_URI=SpyCarAdvanced.xml
- KILLBILL_DAO_URL=jdbc:postgresql://127.0.0.1:5432/killbill
diff --git a/pom.xml b/pom.xml
index 1273035..288da7e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,11 +22,11 @@
org.kill-bill.billing
killbill-oss-parent
- 0.146.63
+ 0.147.12
org.kill-bill.billing.plugin.java
catalog-test-plugin
- 0.5.3-SNAPSHOT
+ 0.6.0-SNAPSHOT
bundle
Test Plugin for CatalogPluginApi
Test Plugin for CatalogPluginApi
@@ -43,13 +43,11 @@
true
- 0.24.0
+ 0.25.1
false
org.killbill.xmlloader;version=0.0.0,
javax.xml.bind;version=0.0.0,
org.killbill.commons.concurrent;version=0.0.0,
- org.killbill.commons.utils;version=0.0.0,
- org.killbill.commons.utils.io;version=0.0.0,
org.killbill.billing.util.config.definition;version=0.0.0
org.killbill.billing.plugin.catalog.*
@@ -80,18 +78,18 @@
guice
- io.swagger
- swagger-annotations
+ io.swagger.core.v3
+ swagger-annotations-jakarta
+
+
+ jakarta.inject
+ jakarta.inject-api
jakarta.servlet
jakarta.servlet-api
provided
-
- javax.inject
- javax.inject
-
joda-time
joda-time
@@ -100,10 +98,6 @@
org.apache.felix
org.apache.felix.framework
-
- org.jooby
- jooby
-
org.kill-bill.billing
killbill-api
@@ -112,6 +106,14 @@
org.kill-bill.billing
killbill-catalog
+
+
+
+ org.redisson
+ redisson
+
+
org.kill-bill.billing
@@ -145,11 +147,22 @@
org.kill-bill.billing.plugin.java
killbill-base-plugin
+
+
+
+ org.kill-bill.commons
+ killbill-jooby
+
+
+
+
+ org.kill-bill.commons
+ killbill-jooby
org.kill-bill.commons
killbill-utils
- provided
+ runtime
org.slf4j
diff --git a/src/main/java/org/killbill/billing/plugin/catalog/CatalogActivator.java b/src/main/java/org/killbill/billing/plugin/catalog/CatalogActivator.java
index d27b191..cb3ad3b 100644
--- a/src/main/java/org/killbill/billing/plugin/catalog/CatalogActivator.java
+++ b/src/main/java/org/killbill/billing/plugin/catalog/CatalogActivator.java
@@ -33,8 +33,8 @@
import java.util.Hashtable;
-import javax.servlet.Servlet;
-import javax.servlet.http.HttpServlet;
+import jakarta.servlet.Servlet;
+import jakarta.servlet.http.HttpServlet;
public class CatalogActivator extends KillbillActivatorBase {
diff --git a/src/main/java/org/killbill/billing/plugin/catalog/CatalogTestHealthcheckServlet.java b/src/main/java/org/killbill/billing/plugin/catalog/CatalogTestHealthcheckServlet.java
index b249ba8..10481bf 100644
--- a/src/main/java/org/killbill/billing/plugin/catalog/CatalogTestHealthcheckServlet.java
+++ b/src/main/java/org/killbill/billing/plugin/catalog/CatalogTestHealthcheckServlet.java
@@ -19,8 +19,8 @@
import java.util.Optional;
-import javax.inject.Named;
-import javax.inject.Singleton;
+import jakarta.inject.Named;
+import jakarta.inject.Singleton;
import org.jooby.Result;
import org.jooby.mvc.GET;
diff --git a/src/main/java/org/killbill/billing/plugin/catalog/json/formats/CatalogJson.java b/src/main/java/org/killbill/billing/plugin/catalog/json/formats/CatalogJson.java
index cfd1f71..add76a0 100644
--- a/src/main/java/org/killbill/billing/plugin/catalog/json/formats/CatalogJson.java
+++ b/src/main/java/org/killbill/billing/plugin/catalog/json/formats/CatalogJson.java
@@ -24,14 +24,14 @@
import com.google.common.base.Function;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
-import io.swagger.annotations.ApiModel;
+import io.swagger.v3.oas.annotations.media.Schema;
import org.killbill.billing.catalog.api.Currency;
import org.killbill.billing.catalog.api.*;
import java.math.BigDecimal;
import java.util.*;
-@ApiModel(value = "Catalog")
+@Schema(name = "Catalog")
public class CatalogJson {
private final String name;
@@ -190,7 +190,7 @@ public int hashCode() {
return result;
}
- @ApiModel(value = "Unit")
+ @Schema(name = "Unit")
public static class UnitJson {
private final String name;
@@ -240,7 +240,7 @@ public int hashCode() {
}
- @ApiModel(value = "Product")
+ @Schema(name = "Product")
public static class ProductJson {
private final String type;
@@ -362,7 +362,7 @@ public String apply(final Product input) {
}
}
- @ApiModel(value = "Plan")
+ @Schema(name = "Plan")
public static class PlanJson {
private final String name;
@@ -454,7 +454,7 @@ public int hashCode() {
}
}
- @ApiModel(value = "TieredBlock")
+ @Schema(name = "TieredBlock")
public static class TieredBlockJson {
private final String unit;
private final String size;
@@ -536,7 +536,7 @@ public int hashCode() {
}
}
- @ApiModel(value = "Limit")
+ @Schema(name = "Limit")
public static class LimitJson {
private final String unit;
private final String max;
@@ -606,7 +606,7 @@ public int hashCode() {
}
}
- @ApiModel(value = "Tier")
+ @Schema(name = "Tier")
public static class TierJson {
private final List blocks;
private final List limits;
@@ -688,7 +688,7 @@ public int hashCode() {
}
}
- @ApiModel(value = "Usage")
+ @Schema(name = "Usage")
public static class UsageJson {
private final String billingPeriod;
private final List tiers;
@@ -746,7 +746,7 @@ public int hashCode() {
}
}
- @ApiModel(value = "Phase")
+ @Schema(name = "Phase")
public static class PhaseJson {
private final String type;
@@ -913,7 +913,7 @@ private List buildTieredBlocks(final TieredBlock[] tieredBlocks
}
- @ApiModel(value = "Price")
+ @Schema(name = "Price")
public static class PriceJson {
private final Currency currency;
@@ -976,7 +976,7 @@ public int hashCode() {
}
}
- @ApiModel(value = "PriceList")
+ @Schema(name = "PriceList")
public static class PriceListJson {
private String name;
@@ -1042,7 +1042,7 @@ public int hashCode() {
}
- @ApiModel(value = "Duration")
+ @Schema(name = "Duration")
public static class DurationJson {
private final TimeUnit unit;