Skip to content

Commit 2c0a47b

Browse files
authored
Merge pull request #108 from statsig-io/java8
Support java8
2 parents cde1f10 + 4cfb7cd commit 2c0a47b

File tree

5 files changed

+39
-22
lines changed

5 files changed

+39
-22
lines changed

.github/workflows/build-and-test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ jobs:
1616

1717
steps:
1818
- uses: actions/checkout@v2
19-
- name: Set up JDK 11
19+
- name: Set up JDK 8
2020
uses: actions/setup-java@v2
2121
with:
22-
java-version: '11'
22+
java-version: '8'
2323
distribution: 'adopt'
2424
- name: Validate Gradle wrapper
2525
uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b

build.gradle.kts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
22
import org.gradle.language.jvm.tasks.ProcessResources
3-
import org.jetbrains.kotlin.gradle.plugin.statistics.ReportStatisticsToElasticSearch.url
43
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
54

65
plugins {
76
kotlin("jvm") version "1.6.0"
87
idea
98
id("org.jlleitschuh.gradle.ktlint") version "11.0.0"
9+
id("com.vanniktech.maven.publish") version "0.22.0"
1010
id("maven-publish")
1111
}
1212

@@ -28,7 +28,7 @@ dependencies {
2828
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4")
2929
implementation("com.squareup.okhttp3:okhttp:4.10.0")
3030
implementation("com.github.ua-parser:uap-java:1.5.3")
31-
implementation("com.statsig:ip3country:0.1.3")
31+
implementation("com.statsig:ip3country:0.1.4")
3232
}
3333

3434
val sourcesJar by tasks.registering(Jar::class) {
@@ -68,10 +68,10 @@ inline fun <reified C> Project.configure(name: String, configuration: C.() -> Un
6868
}
6969

7070
tasks.withType<KotlinCompile>() {
71-
kotlinOptions.jvmTarget = "11"
71+
kotlinOptions.jvmTarget = "1.8"
7272
}
7373

7474
java {
75-
sourceCompatibility = JavaVersion.VERSION_11
76-
targetCompatibility = JavaVersion.VERSION_11
75+
sourceCompatibility = JavaVersion.VERSION_1_8
76+
targetCompatibility = JavaVersion.VERSION_1_8
7777
}

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ RELEASE_SIGNING_ENABLED=true
66

77
GROUP=com.statsig.serversdk
88
POM_ARTIFACT_ID=serversdk
9-
VERSION_NAME=0.19.0
9+
VERSION_NAME=0.19.2
1010

1111
POM_NAME=Statsig Server SDK
1212
POM_DESCRIPTION=A feature gating and a/b testing library for statsig

src/main/kotlin/com/statsig/sdk/StatsigMetadata.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package com.statsig.sdk
22

33
import java.util.Properties
44

5-
private const val VERSION = "0.19.0"
5+
private const val VERSION = "0.19.2"
66

77
internal class StatsigMetadata {
88
companion object {

src/test/java/com/statsig/sdk/ServerSDKConsistencyTest.java

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@
66
import org.junit.Before;
77
import org.junit.Test;
88

9+
import java.io.*;
910
import java.lang.reflect.Field;
10-
import java.net.URI;
11-
import java.net.http.HttpClient;
12-
import java.net.http.HttpRequest;
13-
import java.net.http.HttpResponse;
11+
import java.net.*;
12+
import java.nio.charset.StandardCharsets;
1413
import java.util.HashMap;
1514
import java.util.List;
1615
import java.util.Map;
1716
import java.util.concurrent.Future;
17+
import java.util.stream.Collectors;
1818

1919
import static org.junit.Assert.assertEquals;
2020

@@ -32,17 +32,34 @@ public void setUp() throws Exception {
3232
}
3333
}
3434

35+
private String postRequestRulesetsTest(String api) throws Exception {
36+
URL url = new URL(api + "/rulesets_e2e_test");
37+
URLConnection con = url.openConnection();
38+
HttpURLConnection http = (HttpURLConnection)con;
39+
http.setRequestMethod("POST");
40+
http.setDoOutput(true);
41+
42+
byte[] out = "{}".getBytes(StandardCharsets.UTF_8);
43+
int length = out.length;
44+
45+
http.setFixedLengthStreamingMode(length);
46+
http.setRequestProperty("STATSIG-API-KEY", secret);
47+
http.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
48+
http.connect();
49+
try(OutputStream os = http.getOutputStream()) {
50+
os.write(out);
51+
}
52+
try(InputStream in = http.getInputStream()) {
53+
String result = new BufferedReader(new InputStreamReader(in))
54+
.lines().collect(Collectors.joining("\n"));
55+
return result;
56+
}
57+
}
58+
3559
public void testConsistency(String api) throws Exception {
3660
System.out.println("Testing for " + api);
37-
HttpClient httpClient = HttpClient.newHttpClient();
38-
HttpRequest request = HttpRequest.newBuilder()
39-
.uri(URI.create(api + "/rulesets_e2e_test"))
40-
.headers("STATSIG-API-KEY", secret, "Content-Type", "application/json; charset=UTF-8")
41-
.POST(HttpRequest.BodyPublishers.ofString("{}"))
42-
.build();
43-
HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
44-
45-
APITestDataSet[] data = gson.fromJson(response.body(), APIEvaluationConsistencyTestData.class).getData();
61+
String response = this.postRequestRulesetsTest(api);
62+
APITestDataSet[] data = gson.fromJson(response, APIEvaluationConsistencyTestData.class).getData();
4663
StatsigServer driver = StatsigServer.create(secret, new StatsigOptions(api));
4764
Future initFuture = driver.initializeAsync();
4865
initFuture.get();

0 commit comments

Comments
 (0)