Extract cameleer-license-api module from server-core #156
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
cameleer-license-minterdepends oncameleer-server-corefor the shared license types (LicenseInfo,LicenseValidator,LicenseState,DefaultTierLimits). This means any consumer of the minter — includingcameleer-saas— transitively pulls incameleer-server-coreandcameleer-commononto its classpath.The SaaS management plane should not carry server runtime types. It only needs the license contract types to mint and verify tokens.
Proposed Solution
Extract a thin
cameleer-license-apimodule containing only the pure license contract types:LicenseInfo(record)LicenseValidatorLicenseState/LicenseStateMachineDefaultTierLimitsThen update dependencies:
This keeps the minter fully independent from the server runtime, and the SaaS platform only pulls in the license contract — not server internals.
Context
This came up during the SaaS license minter integration (
cameleer-saascommitse64bf4f..1066101). The current transitive dependency is not harmful (no conflicting beans — server auto-config won't trigger without server-specific properties), but it's architecturally wrong and will get worse as server-core grows.