diff --git a/.gitignore b/.gitignore
index 3da0c7e1..34136a6a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,5 +3,6 @@
# specific files), please put them in your ~/.global-gitignore and not here!
.*
!.git*
-/target/
+**/target/
*.iml
+**/dependency-reduced-pom.xml
diff --git a/src/main/resources/checkstyle.xml b/checkstyle.xml
similarity index 100%
rename from src/main/resources/checkstyle.xml
rename to checkstyle.xml
diff --git a/openfeature-provider/pom.xml b/openfeature-provider/pom.xml
new file mode 100644
index 00000000..1b812ab0
--- /dev/null
+++ b/openfeature-provider/pom.xml
@@ -0,0 +1,14 @@
+
+
+ 4.0.0
+
+
+ com.spotify.confidence
+ confidence-sdk-java
+ 0.0.12-SNAPSHOT
+
+
+ openfeature-provider
+
\ No newline at end of file
diff --git a/openfeature-provider/src/main/java/com/spotify/confidence/Main.java b/openfeature-provider/src/main/java/com/spotify/confidence/Main.java
new file mode 100644
index 00000000..30f65650
--- /dev/null
+++ b/openfeature-provider/src/main/java/com/spotify/confidence/Main.java
@@ -0,0 +1,7 @@
+package com.spotify.confidence;
+
+public class Main {
+ public static void main(String[] args) {
+ System.out.println("Hello world!");
+ }
+}
diff --git a/pom.xml b/pom.xml
index 676091bd..955b727a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,6 +1,11 @@
4.0.0
+ pom
+
+ openfeature-provider
+ sdk-java
+
@@ -14,7 +19,7 @@
com.spotify.confidence
- openfeature-provider
+ confidence-sdk-java
0.0.12-SNAPSHOT
https://github.com/spotify/confidence-openfeature-provider-java
@@ -238,7 +243,7 @@
src/main/resources
true
- src/main/proto
+ confidence-sdk/src/main/proto
@@ -361,7 +366,7 @@
- src/main/resources/checkstyle.xml
+ checkstyle.xml
true
true
true
diff --git a/release-please-config.json b/release-please-config.json
index 7fb96d50..e6c3dc46 100644
--- a/release-please-config.json
+++ b/release-please-config.json
@@ -2,7 +2,7 @@
"bootstrap-sha": "188faf7e47b03bde3bf02c3521771301c77580d6",
"packages": {
".": {
- "package-name": "com.spotify.confidence.openfeature-provider",
+ "package-name": "com.spotify.confidence.sdk-java",
"release-type": "maven",
"monorepo-tags": false,
"include-component-in-tag": false,
diff --git a/sdk-java/pom.xml b/sdk-java/pom.xml
new file mode 100644
index 00000000..1491d617
--- /dev/null
+++ b/sdk-java/pom.xml
@@ -0,0 +1,14 @@
+
+
+ 4.0.0
+
+
+ com.spotify.confidence
+ confidence-sdk-java
+ 0.0.12-SNAPSHOT
+
+
+ sdk-java
+
\ No newline at end of file
diff --git a/src/main/java/com/spotify/confidence/Clock.java b/sdk-java/src/main/java/com/spotify/confidence/Clock.java
similarity index 100%
rename from src/main/java/com/spotify/confidence/Clock.java
rename to sdk-java/src/main/java/com/spotify/confidence/Clock.java
diff --git a/src/main/java/com/spotify/confidence/Confidence.java b/sdk-java/src/main/java/com/spotify/confidence/Confidence.java
similarity index 96%
rename from src/main/java/com/spotify/confidence/Confidence.java
rename to sdk-java/src/main/java/com/spotify/confidence/Confidence.java
index 6e66e5b3..2bc05173 100644
--- a/src/main/java/com/spotify/confidence/Confidence.java
+++ b/sdk-java/src/main/java/com/spotify/confidence/Confidence.java
@@ -5,7 +5,6 @@
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps;
import com.google.common.io.Closer;
-import com.spotify.confidence.shaded.flags.resolver.v1.ResolveFlagsResponse;
import io.grpc.ManagedChannel;
import io.grpc.ManagedChannelBuilder;
import java.io.Closeable;
@@ -98,7 +97,8 @@ public void send(String eventName, ConfidenceValue.Struct message) {
}
}
- CompletableFuture resolveFlags(String flagName) {
+ CompletableFuture
+ resolveFlags(String flagName) {
return client().resolveFlags(flagName, getContext());
}
@@ -136,8 +136,8 @@ public void send(
}
@Override
- public CompletableFuture resolveFlags(
- String flag, ConfidenceValue.Struct context) {
+ public CompletableFuture
+ resolveFlags(String flag, ConfidenceValue.Struct context) {
return flagResolverClient.resolveFlags(flag, context);
}
diff --git a/src/main/java/com/spotify/confidence/ConfidenceFeatureProvider.java b/sdk-java/src/main/java/com/spotify/confidence/ConfidenceFeatureProvider.java
similarity index 100%
rename from src/main/java/com/spotify/confidence/ConfidenceFeatureProvider.java
rename to sdk-java/src/main/java/com/spotify/confidence/ConfidenceFeatureProvider.java
diff --git a/src/main/java/com/spotify/confidence/ConfidenceValue.java b/sdk-java/src/main/java/com/spotify/confidence/ConfidenceValue.java
similarity index 100%
rename from src/main/java/com/spotify/confidence/ConfidenceValue.java
rename to sdk-java/src/main/java/com/spotify/confidence/ConfidenceValue.java
diff --git a/src/main/java/com/spotify/confidence/Contextual.java b/sdk-java/src/main/java/com/spotify/confidence/Contextual.java
similarity index 100%
rename from src/main/java/com/spotify/confidence/Contextual.java
rename to sdk-java/src/main/java/com/spotify/confidence/Contextual.java
diff --git a/src/main/java/com/spotify/confidence/EventSender.java b/sdk-java/src/main/java/com/spotify/confidence/EventSender.java
similarity index 100%
rename from src/main/java/com/spotify/confidence/EventSender.java
rename to sdk-java/src/main/java/com/spotify/confidence/EventSender.java
diff --git a/src/main/java/com/spotify/confidence/EventSenderEngine.java b/sdk-java/src/main/java/com/spotify/confidence/EventSenderEngine.java
similarity index 100%
rename from src/main/java/com/spotify/confidence/EventSenderEngine.java
rename to sdk-java/src/main/java/com/spotify/confidence/EventSenderEngine.java
diff --git a/src/main/java/com/spotify/confidence/EventSenderEngineImpl.java b/sdk-java/src/main/java/com/spotify/confidence/EventSenderEngineImpl.java
similarity index 100%
rename from src/main/java/com/spotify/confidence/EventSenderEngineImpl.java
rename to sdk-java/src/main/java/com/spotify/confidence/EventSenderEngineImpl.java
diff --git a/src/main/java/com/spotify/confidence/EventUploader.java b/sdk-java/src/main/java/com/spotify/confidence/EventUploader.java
similarity index 100%
rename from src/main/java/com/spotify/confidence/EventUploader.java
rename to sdk-java/src/main/java/com/spotify/confidence/EventUploader.java
diff --git a/src/main/java/com/spotify/confidence/FlagResolver.java b/sdk-java/src/main/java/com/spotify/confidence/FlagResolver.java
similarity index 100%
rename from src/main/java/com/spotify/confidence/FlagResolver.java
rename to sdk-java/src/main/java/com/spotify/confidence/FlagResolver.java
diff --git a/src/main/java/com/spotify/confidence/FlagResolverClient.java b/sdk-java/src/main/java/com/spotify/confidence/FlagResolverClient.java
similarity index 100%
rename from src/main/java/com/spotify/confidence/FlagResolverClient.java
rename to sdk-java/src/main/java/com/spotify/confidence/FlagResolverClient.java
diff --git a/src/main/java/com/spotify/confidence/FlagResolverClientImpl.java b/sdk-java/src/main/java/com/spotify/confidence/FlagResolverClientImpl.java
similarity index 100%
rename from src/main/java/com/spotify/confidence/FlagResolverClientImpl.java
rename to sdk-java/src/main/java/com/spotify/confidence/FlagResolverClientImpl.java
diff --git a/src/main/java/com/spotify/confidence/GrpcEventUploader.java b/sdk-java/src/main/java/com/spotify/confidence/GrpcEventUploader.java
similarity index 100%
rename from src/main/java/com/spotify/confidence/GrpcEventUploader.java
rename to sdk-java/src/main/java/com/spotify/confidence/GrpcEventUploader.java
diff --git a/src/main/java/com/spotify/confidence/GrpcFlagResolver.java b/sdk-java/src/main/java/com/spotify/confidence/GrpcFlagResolver.java
similarity index 61%
rename from src/main/java/com/spotify/confidence/GrpcFlagResolver.java
rename to sdk-java/src/main/java/com/spotify/confidence/GrpcFlagResolver.java
index c0eb4ca8..4ea4b092 100644
--- a/src/main/java/com/spotify/confidence/GrpcFlagResolver.java
+++ b/sdk-java/src/main/java/com/spotify/confidence/GrpcFlagResolver.java
@@ -1,8 +1,9 @@
package com.spotify.confidence;
+import static com.spotify.confidence.shaded.flags.resolver.v1.FlagResolverServiceGrpc.*;
+
import com.google.common.base.Strings;
import com.google.protobuf.Struct;
-import com.spotify.confidence.shaded.flags.resolver.v1.*;
import io.grpc.ManagedChannel;
import java.util.List;
import java.util.concurrent.CompletableFuture;
@@ -11,9 +12,9 @@
public class GrpcFlagResolver implements FlagResolver {
private final ManagedChannel managedChannel;
private final String clientSecret;
- private final Sdk sdk;
+ private final com.spotify.confidence.shaded.flags.resolver.v1.Sdk sdk;
- private final FlagResolverServiceGrpc.FlagResolverServiceFutureStub stub;
+ private final FlagResolverServiceFutureStub stub;
public GrpcFlagResolver(String clientSecret, ManagedChannel managedChannel) {
if (Strings.isNullOrEmpty(clientSecret)) {
@@ -21,19 +22,22 @@ public GrpcFlagResolver(String clientSecret, ManagedChannel managedChannel) {
}
this.clientSecret = clientSecret;
this.sdk =
- Sdk.newBuilder()
- .setId(SdkId.SDK_ID_JAVA_PROVIDER)
+ com.spotify.confidence.shaded.flags.resolver.v1.Sdk.newBuilder()
+ .setId(com.spotify.confidence.shaded.flags.resolver.v1.SdkId.SDK_ID_JAVA_PROVIDER)
.setVersion(SdkUtils.getSdkVersion())
.build();
this.managedChannel = managedChannel;
- this.stub = FlagResolverServiceGrpc.newFutureStub(managedChannel);
+ this.stub =
+ com.spotify.confidence.shaded.flags.resolver.v1.FlagResolverServiceGrpc.newFutureStub(
+ managedChannel);
}
- public CompletableFuture resolve(String flag, Struct context) {
+ public CompletableFuture
+ resolve(String flag, Struct context) {
return GrpcUtil.toCompletableFuture(
stub.withDeadlineAfter(10, TimeUnit.SECONDS)
.resolveFlags(
- ResolveFlagsRequest.newBuilder()
+ com.spotify.confidence.shaded.flags.resolver.v1.ResolveFlagsRequest.newBuilder()
.setClientSecret(this.clientSecret)
.addAllFlags(List.of(flag))
.setEvaluationContext(context)
diff --git a/src/main/java/com/spotify/confidence/GrpcUtil.java b/sdk-java/src/main/java/com/spotify/confidence/GrpcUtil.java
similarity index 100%
rename from src/main/java/com/spotify/confidence/GrpcUtil.java
rename to sdk-java/src/main/java/com/spotify/confidence/GrpcUtil.java
diff --git a/src/main/java/com/spotify/confidence/OpenFeatureUtils.java b/sdk-java/src/main/java/com/spotify/confidence/OpenFeatureUtils.java
similarity index 100%
rename from src/main/java/com/spotify/confidence/OpenFeatureUtils.java
rename to sdk-java/src/main/java/com/spotify/confidence/OpenFeatureUtils.java
diff --git a/src/main/java/com/spotify/confidence/SdkUtils.java b/sdk-java/src/main/java/com/spotify/confidence/SdkUtils.java
similarity index 100%
rename from src/main/java/com/spotify/confidence/SdkUtils.java
rename to sdk-java/src/main/java/com/spotify/confidence/SdkUtils.java
diff --git a/src/main/java/com/spotify/confidence/TypeMapper.java b/sdk-java/src/main/java/com/spotify/confidence/TypeMapper.java
similarity index 100%
rename from src/main/java/com/spotify/confidence/TypeMapper.java
rename to sdk-java/src/main/java/com/spotify/confidence/TypeMapper.java
diff --git a/src/main/proto/confidence/events/v1/api.proto b/sdk-java/src/main/proto/confidence/events/v1/api.proto
similarity index 100%
rename from src/main/proto/confidence/events/v1/api.proto
rename to sdk-java/src/main/proto/confidence/events/v1/api.proto
diff --git a/src/main/proto/confidence/events/v1/types.proto b/sdk-java/src/main/proto/confidence/events/v1/types.proto
similarity index 100%
rename from src/main/proto/confidence/events/v1/types.proto
rename to sdk-java/src/main/proto/confidence/events/v1/types.proto
diff --git a/src/main/proto/confidence/flags/resolver/v1/api.proto b/sdk-java/src/main/proto/confidence/flags/resolver/v1/api.proto
similarity index 100%
rename from src/main/proto/confidence/flags/resolver/v1/api.proto
rename to sdk-java/src/main/proto/confidence/flags/resolver/v1/api.proto
diff --git a/src/main/proto/confidence/flags/resolver/v1/types.proto b/sdk-java/src/main/proto/confidence/flags/resolver/v1/types.proto
similarity index 100%
rename from src/main/proto/confidence/flags/resolver/v1/types.proto
rename to sdk-java/src/main/proto/confidence/flags/resolver/v1/types.proto
diff --git a/src/main/proto/confidence/flags/types/v1/target.proto b/sdk-java/src/main/proto/confidence/flags/types/v1/target.proto
similarity index 100%
rename from src/main/proto/confidence/flags/types/v1/target.proto
rename to sdk-java/src/main/proto/confidence/flags/types/v1/target.proto
diff --git a/src/main/proto/confidence/flags/types/v1/types.proto b/sdk-java/src/main/proto/confidence/flags/types/v1/types.proto
similarity index 100%
rename from src/main/proto/confidence/flags/types/v1/types.proto
rename to sdk-java/src/main/proto/confidence/flags/types/v1/types.proto
diff --git a/src/main/resources/version.properties b/sdk-java/src/main/resources/version.properties
similarity index 100%
rename from src/main/resources/version.properties
rename to sdk-java/src/main/resources/version.properties
diff --git a/src/test/java/com/spotify/confidence/ConfidenceContextTest.java b/sdk-java/src/test/java/com/spotify/confidence/ConfidenceContextTest.java
similarity index 100%
rename from src/test/java/com/spotify/confidence/ConfidenceContextTest.java
rename to sdk-java/src/test/java/com/spotify/confidence/ConfidenceContextTest.java
diff --git a/src/test/java/com/spotify/confidence/ConfidenceResourceManagementTest.java b/sdk-java/src/test/java/com/spotify/confidence/ConfidenceResourceManagementTest.java
similarity index 100%
rename from src/test/java/com/spotify/confidence/ConfidenceResourceManagementTest.java
rename to sdk-java/src/test/java/com/spotify/confidence/ConfidenceResourceManagementTest.java
diff --git a/src/test/java/com/spotify/confidence/ConfidenceValueTest.java b/sdk-java/src/test/java/com/spotify/confidence/ConfidenceValueTest.java
similarity index 100%
rename from src/test/java/com/spotify/confidence/ConfidenceValueTest.java
rename to sdk-java/src/test/java/com/spotify/confidence/ConfidenceValueTest.java
diff --git a/src/test/java/com/spotify/confidence/EventSenderEngineTest.java b/sdk-java/src/test/java/com/spotify/confidence/EventSenderEngineTest.java
similarity index 100%
rename from src/test/java/com/spotify/confidence/EventSenderEngineTest.java
rename to sdk-java/src/test/java/com/spotify/confidence/EventSenderEngineTest.java
diff --git a/src/test/java/com/spotify/confidence/FakeClock.java b/sdk-java/src/test/java/com/spotify/confidence/FakeClock.java
similarity index 100%
rename from src/test/java/com/spotify/confidence/FakeClock.java
rename to sdk-java/src/test/java/com/spotify/confidence/FakeClock.java
diff --git a/src/test/java/com/spotify/confidence/FakeEventSenderEngine.java b/sdk-java/src/test/java/com/spotify/confidence/FakeEventSenderEngine.java
similarity index 100%
rename from src/test/java/com/spotify/confidence/FakeEventSenderEngine.java
rename to sdk-java/src/test/java/com/spotify/confidence/FakeEventSenderEngine.java
diff --git a/src/test/java/com/spotify/confidence/FakeUploader.java b/sdk-java/src/test/java/com/spotify/confidence/FakeUploader.java
similarity index 100%
rename from src/test/java/com/spotify/confidence/FakeUploader.java
rename to sdk-java/src/test/java/com/spotify/confidence/FakeUploader.java
diff --git a/src/test/java/com/spotify/confidence/FeatureProviderTest.java b/sdk-java/src/test/java/com/spotify/confidence/FeatureProviderTest.java
similarity index 100%
rename from src/test/java/com/spotify/confidence/FeatureProviderTest.java
rename to sdk-java/src/test/java/com/spotify/confidence/FeatureProviderTest.java
diff --git a/src/test/java/com/spotify/confidence/FlagResolverContextTest.java b/sdk-java/src/test/java/com/spotify/confidence/FlagResolverContextTest.java
similarity index 100%
rename from src/test/java/com/spotify/confidence/FlagResolverContextTest.java
rename to sdk-java/src/test/java/com/spotify/confidence/FlagResolverContextTest.java
diff --git a/src/test/java/com/spotify/confidence/GrpcEventUploaderTest.java b/sdk-java/src/test/java/com/spotify/confidence/GrpcEventUploaderTest.java
similarity index 100%
rename from src/test/java/com/spotify/confidence/GrpcEventUploaderTest.java
rename to sdk-java/src/test/java/com/spotify/confidence/GrpcEventUploaderTest.java
diff --git a/src/test/java/com/spotify/confidence/OpenFeatureUtilsTest.java b/sdk-java/src/test/java/com/spotify/confidence/OpenFeatureUtilsTest.java
similarity index 100%
rename from src/test/java/com/spotify/confidence/OpenFeatureUtilsTest.java
rename to sdk-java/src/test/java/com/spotify/confidence/OpenFeatureUtilsTest.java
diff --git a/src/test/java/com/spotify/confidence/ResolverClientTestUtils.java b/sdk-java/src/test/java/com/spotify/confidence/ResolverClientTestUtils.java
similarity index 100%
rename from src/test/java/com/spotify/confidence/ResolverClientTestUtils.java
rename to sdk-java/src/test/java/com/spotify/confidence/ResolverClientTestUtils.java
diff --git a/src/test/java/com/spotify/confidence/TypeMapperTest.java b/sdk-java/src/test/java/com/spotify/confidence/TypeMapperTest.java
similarity index 100%
rename from src/test/java/com/spotify/confidence/TypeMapperTest.java
rename to sdk-java/src/test/java/com/spotify/confidence/TypeMapperTest.java
diff --git a/src/test/resources/logback-test.xml b/sdk-java/src/test/resources/logback-test.xml
similarity index 100%
rename from src/test/resources/logback-test.xml
rename to sdk-java/src/test/resources/logback-test.xml