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;