From fa45691f30f39a91772000f1be249571e70b6934 Mon Sep 17 00:00:00 2001 From: Ty Potter Date: Fri, 15 Nov 2024 00:39:16 -0700 Subject: [PATCH 1/7] chore: latest common package and move api to baseUrl --- build.gradle | 2 +- src/main/java/cloud/eppo/EppoClient.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 0f1a40a..ddf1074 100644 --- a/build.gradle +++ b/build.gradle @@ -30,7 +30,7 @@ repositories { } dependencies { - api 'cloud.eppo:sdk-common-jvm:3.5.0' + api 'cloud.eppo:sdk-common-jvm:3.5.2' implementation 'com.github.zafarkhaja:java-semver:0.10.2' implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.1' diff --git a/src/main/java/cloud/eppo/EppoClient.java b/src/main/java/cloud/eppo/EppoClient.java index f0a3b26..df5291d 100644 --- a/src/main/java/cloud/eppo/EppoClient.java +++ b/src/main/java/cloud/eppo/EppoClient.java @@ -20,7 +20,6 @@ public class EppoClient extends BaseEppoClient { private static final Logger log = LoggerFactory.getLogger(EppoClient.class); - private static final String DEFAULT_HOST = "https://fscdn.eppo.cloud"; private static final boolean DEFAULT_IS_GRACEFUL_MODE = true; private static final boolean DEFAULT_FORCE_REINITIALIZE = false; private static final long DEFAULT_POLLING_INTERVAL_MS = 30 * 1000; @@ -77,7 +76,7 @@ public static class Builder { private boolean isGracefulMode = DEFAULT_IS_GRACEFUL_MODE; private boolean forceReinitialize = DEFAULT_FORCE_REINITIALIZE; private long pollingIntervalMs = DEFAULT_POLLING_INTERVAL_MS; - private String host = DEFAULT_HOST; + private String host = Constants.DEFAULT_BASE_URL; // Assignment and bandit caching on by default. To disable, call // `builder.assignmentCache(null).banditAssignmentCache(null);` From 8b10abeeda8f734ded4f9dff75d0447fa4720609 Mon Sep 17 00:00:00 2001 From: Ty Potter Date: Fri, 15 Nov 2024 00:40:02 -0700 Subject: [PATCH 2/7] bump version --- README.md | 2 +- build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f175728..8cccf6a 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ ```groovy dependencies { - implementation 'cloud.eppo:eppo-server-sdk:3.1.0' + implementation 'cloud.eppo:eppo-server-sdk:4.0.1' } ``` diff --git a/build.gradle b/build.gradle index ddf1074..3f2e280 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ java { } group = 'cloud.eppo' -version = '4.0.0-SNAPSHOT' +version = '4.0.1' ext.isReleaseVersion = !version.endsWith("SNAPSHOT") import org.apache.tools.ant.filters.ReplaceTokens From 6b10879cd68a0ae910d5eb3062048d2d4242c6c3 Mon Sep 17 00:00:00 2001 From: Ty Potter Date: Mon, 16 Dec 2024 08:38:05 -0700 Subject: [PATCH 3/7] merge artifact --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 2648ea7..9a898b4 100644 --- a/build.gradle +++ b/build.gradle @@ -33,7 +33,7 @@ dependencies { api 'cloud.eppo:sdk-common-jvm:3.5.0' implementation 'com.github.zafarkhaja:java-semver:0.10.2' - implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.1' + implementation 'com.fasterxml.jackson.core:jackson-databind:2.18.2' implementation 'org.ehcache:ehcache:3.10.8' implementation 'org.slf4j:slf4j-api:2.0.13' // Logback classic 1.3.x is compatible with java 8 From 1b29f9fc9300f80faf1001b2e53d186b19cf33a0 Mon Sep 17 00:00:00 2001 From: Ty Potter Date: Mon, 16 Dec 2024 09:42:24 -0700 Subject: [PATCH 4/7] WIP HOLD --- build.gradle | 2 +- src/main/java/cloud/eppo/EppoClient.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 9a898b4..3e0a005 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ java { } group = 'cloud.eppo' -version = '4.0.1' +version = '4.1.1' ext.isReleaseVersion = !version.endsWith("SNAPSHOT") import org.apache.tools.ant.filters.ReplaceTokens diff --git a/src/main/java/cloud/eppo/EppoClient.java b/src/main/java/cloud/eppo/EppoClient.java index e545c3c..cad1e65 100644 --- a/src/main/java/cloud/eppo/EppoClient.java +++ b/src/main/java/cloud/eppo/EppoClient.java @@ -37,7 +37,7 @@ public static EppoClient getInstance() { private EppoClient( String apiKey, - String host, + String baseUrl, String sdkName, String sdkVersion, @Nullable AssignmentLogger assignmentLogger, @@ -47,7 +47,7 @@ private EppoClient( @Nullable IAssignmentCache banditAssignmentCache) { super( apiKey, - host, + baseUrl, sdkName, sdkVersion, assignmentLogger, From d00fc2e01baa404c22182581c799d398b28dc1d3 Mon Sep 17 00:00:00 2001 From: Ty Potter Date: Mon, 6 Jan 2025 12:18:04 -0700 Subject: [PATCH 5/7] integrate latest --- src/main/java/cloud/eppo/EppoClient.java | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/main/java/cloud/eppo/EppoClient.java b/src/main/java/cloud/eppo/EppoClient.java index cad1e65..0422ea0 100644 --- a/src/main/java/cloud/eppo/EppoClient.java +++ b/src/main/java/cloud/eppo/EppoClient.java @@ -37,9 +37,10 @@ public static EppoClient getInstance() { private EppoClient( String apiKey, - String baseUrl, String sdkName, String sdkVersion, + @Nullable @Deprecated String host, + @Nullable String baseUrl, @Nullable AssignmentLogger assignmentLogger, @Nullable BanditLogger banditLogger, boolean isGracefulMode, @@ -47,9 +48,10 @@ private EppoClient( @Nullable IAssignmentCache banditAssignmentCache) { super( apiKey, - baseUrl, sdkName, sdkVersion, + host, + baseUrl, assignmentLogger, banditLogger, null, @@ -76,7 +78,8 @@ public static class Builder { private boolean isGracefulMode = DEFAULT_IS_GRACEFUL_MODE; private boolean forceReinitialize = DEFAULT_FORCE_REINITIALIZE; private long pollingIntervalMs = DEFAULT_POLLING_INTERVAL_MS; - private String host = Constants.DEFAULT_BASE_URL; + private String host = null; // TODO remove with next major version bump. + private String apiBaseUrl = null; // Assignment and bandit caching on by default. To disable, call // `builder.assignmentCache(null).banditAssignmentCache(null);` @@ -139,13 +142,23 @@ public Builder pollingIntervalMs(long pollingIntervalMs) { /** * Overrides the host from where it fetches configurations. This typically should not be - * explicitly set so that the default of the Fastly CDN is used. + * explicitly set so that the default of the Fastly CDN is used. @Deprecated - use `apiBaseUrl` + * instead */ public Builder host(String host) { this.host = host; return this; } + /** + * Overrides the base URL from where the SDK fetches configurations. This typically should not + * be explicitly set so that the default API URL is used. + */ + public Builder apiBaseUrl(String apiBaseUrl) { + this.apiBaseUrl = apiBaseUrl; + return this; + } + public Builder assignmentCache(IAssignmentCache assignmentCache) { this.assignmentCache = assignmentCache; return this; @@ -177,7 +190,8 @@ public EppoClient buildAndInit() { apiKey, sdkName, sdkVersion, - host, + host, // TODO remove with next major version bump. + apiBaseUrl, assignmentLogger, banditLogger, isGracefulMode, From c9e4d75a7103d15c529ba051e3bf685d514e04ca Mon Sep 17 00:00:00 2001 From: Ty Potter Date: Mon, 6 Jan 2025 12:21:21 -0700 Subject: [PATCH 6/7] remove host since we're major bumping --- src/main/java/cloud/eppo/EppoClient.java | 15 +-------------- src/test/java/cloud/eppo/EppoClientTest.java | 4 ++-- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/src/main/java/cloud/eppo/EppoClient.java b/src/main/java/cloud/eppo/EppoClient.java index 0422ea0..b16d323 100644 --- a/src/main/java/cloud/eppo/EppoClient.java +++ b/src/main/java/cloud/eppo/EppoClient.java @@ -39,7 +39,6 @@ private EppoClient( String apiKey, String sdkName, String sdkVersion, - @Nullable @Deprecated String host, @Nullable String baseUrl, @Nullable AssignmentLogger assignmentLogger, @Nullable BanditLogger banditLogger, @@ -50,7 +49,7 @@ private EppoClient( apiKey, sdkName, sdkVersion, - host, + null, baseUrl, assignmentLogger, banditLogger, @@ -78,7 +77,6 @@ public static class Builder { private boolean isGracefulMode = DEFAULT_IS_GRACEFUL_MODE; private boolean forceReinitialize = DEFAULT_FORCE_REINITIALIZE; private long pollingIntervalMs = DEFAULT_POLLING_INTERVAL_MS; - private String host = null; // TODO remove with next major version bump. private String apiBaseUrl = null; // Assignment and bandit caching on by default. To disable, call @@ -140,16 +138,6 @@ public Builder pollingIntervalMs(long pollingIntervalMs) { return this; } - /** - * Overrides the host from where it fetches configurations. This typically should not be - * explicitly set so that the default of the Fastly CDN is used. @Deprecated - use `apiBaseUrl` - * instead - */ - public Builder host(String host) { - this.host = host; - return this; - } - /** * Overrides the base URL from where the SDK fetches configurations. This typically should not * be explicitly set so that the default API URL is used. @@ -190,7 +178,6 @@ public EppoClient buildAndInit() { apiKey, sdkName, sdkVersion, - host, // TODO remove with next major version bump. apiBaseUrl, assignmentLogger, banditLogger, diff --git a/src/test/java/cloud/eppo/EppoClientTest.java b/src/test/java/cloud/eppo/EppoClientTest.java index 924bd86..db94f0e 100644 --- a/src/test/java/cloud/eppo/EppoClientTest.java +++ b/src/test/java/cloud/eppo/EppoClientTest.java @@ -287,7 +287,7 @@ private EppoClient initClient(String apiKey) { return new EppoClient.Builder() .apiKey(apiKey) - .host(TEST_HOST) + .apiBaseUrl(Constants.appendApiPathToHost(TEST_HOST)) .assignmentLogger(mockAssignmentLogger) .banditLogger(mockBanditLogger) .isGracefulMode(false) @@ -301,7 +301,7 @@ private EppoClient initFailingGracefulClient(boolean isGracefulMode) { return new EppoClient.Builder() .apiKey(DUMMY_FLAG_API_KEY) - .host("blag") + .apiBaseUrl("blag") .assignmentLogger(mockAssignmentLogger) .banditLogger(mockBanditLogger) .isGracefulMode(isGracefulMode) From 732cec9c3e11039eb5cf4451b77298b3da08dd84 Mon Sep 17 00:00:00 2001 From: Ty Potter Date: Mon, 6 Jan 2025 12:24:05 -0700 Subject: [PATCH 7/7] versions --- README.md | 4 ++-- build.gradle | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 79d90e3..870c48d 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ ```groovy dependencies { - implementation 'cloud.eppo:eppo-server-sdk:3.1.0' + implementation 'cloud.eppo:eppo-server-sdk:4.0.0' } ``` @@ -58,6 +58,6 @@ repositories { } dependencies { - implementation 'cloud.eppo:eppo-server-sdk:3.2.0-SNAPSHOT' + implementation 'cloud.eppo:eppo-server-sdk:4.0.1-SNAPSHOT' } ``` diff --git a/build.gradle b/build.gradle index 5f4e375..b4c6c99 100644 --- a/build.gradle +++ b/build.gradle @@ -30,7 +30,7 @@ repositories { } dependencies { - api 'cloud.eppo:sdk-common-jvm:3.6.1-SNAPSHOT' + api 'cloud.eppo:sdk-common-jvm:3.6.0' implementation 'com.github.zafarkhaja:java-semver:0.10.2' implementation 'com.fasterxml.jackson.core:jackson-databind:2.18.2'