You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repository houses the Java SDK for use with Optimizely Full Stack and Optimizely Rollouts.
6
+
This repository houses the Java SDK for use with Optimizely Feature Experimentation and Optimizely Full Stack (legacy).
7
+
8
+
Optimizely Feature Experimentation is an A/B testing and feature management tool for product development teams that enables you to experiment at every step. Using Optimizely Feature Experimentation allows for every feature on your roadmap to be an opportunity to discover hidden insights. Learn more at [Optimizely.com](https://www.optimizely.com/products/experiment/feature-experimentation/), or see the [developer documentation](https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/welcome).
9
+
10
+
Optimizely Rollouts is [free feature flags](https://www.optimizely.com/free-feature-flagging/) for development teams. You can easily roll out and roll back features in any application without code deploys, mitigating risk for every feature on your roadmap.
11
+
12
+
## Get started
7
13
8
-
Optimizely Full Stack is A/B testing and feature flag management for product development teams. Experiment in any application. Make every feature on your roadmap an opportunity to learn. Learn more at https://www.optimizely.com/platform/full-stack/, or see the [documentation](https://docs.developers.optimizely.com/full-stack/docs).
14
+
Refer to the [Java SDK's developer documentation](https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/java-sdk) for detailed instructions on getting started with using the SDK.
9
15
10
-
Optimizely Rollouts is free feature flags for development teams. Easily roll out and roll back features in any application without code deploys. Mitigate risk for every feature on your roadmap. Learn more at https://www.optimizely.com/rollouts/, or see the [documentation](https://docs.developers.optimizely.com/rollouts/docs).
16
+
### Requirements
11
17
18
+
Java 8 or higher versions.
12
19
13
-
##Getting Started
20
+
### Install the SDK
14
21
15
-
### Installing the SDK
22
+
The Java SDK is distributed through Maven Central and is created with source and target compatibility of Java 1.8. The `core-api` and `httpclient` packages are [optimizely-sdk-core-api](https://mvnrepository.com/artifact/com.optimizely.ab/core-api) and [optimizely-sdk-httpclient](https://mvnrepository.com/artifact/com.optimizely.ab/core-httpclient-impl), respectively.
16
23
17
-
#### Gradle
18
24
19
-
The Java SDK is distributed through Maven Central and is created with source and target compatibility of Java 1.8. The `core-api` and `httpclient` packages are [optimizely-sdk-core-api](https://mvnrepository.com/artifact/com.optimizely.ab/core-api) and [optimizely-sdk-httpclient](https://mvnrepository.com/artifact/com.optimizely.ab/core-httpclient-impl), respectively.
25
+
`core-api` requires [org.slf4j:slf4j-api:1.7.16](https://mvnrepository.com/artifact/org.slf4j/slf4j-api/1.7.16) and a supported JSON parser.
26
+
We currently integrate with [Jackson](https://github.com/FasterXML/jackson), [GSON](https://github.com/google/gson), [json.org](http://www.json.org), and [json-simple](https://code.google.com/archive/p/json-simple); if any of those packages are available at runtime, they will be used by `core-api`. If none of those packages are already provided in your project's classpath, one will need to be added.
27
+
28
+
`core-httpclient-impl` is an optional dependency that implements the event dispatcher and requires [org.apache.httpcomponents:httpclient:4.5.2](https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient/4.5.2).
20
29
21
30
---
31
+
22
32
**NOTE**
23
33
24
34
Optimizely previously distributed the Java SDK through Bintray/JCenter. But, as of April 27, 2021, [Bintray/JCenter will become a read-only repository indefinitely](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/). The publish repository has been migrated to [MavenCentral](https://mvnrepository.com/artifact/com.optimizely.ab) for the SDK version 3.8.1 or later.
`core-api` requires [org.slf4j:slf4j-api:1.7.16](https://mvnrepository.com/artifact/org.slf4j/slf4j-api/1.7.16) and a supported JSON parser.
49
-
We currently integrate with [Jackson](https://github.com/FasterXML/jackson), [GSON](https://github.com/google/gson), [json.org](http://www.json.org),
50
-
and [json-simple](https://code.google.com/archive/p/json-simple); if any of those packages are available at runtime, they will be used by `core-api`.
51
-
If none of those packages are already provided in your project's classpath, one will need to be added. `core-httpclient-impl` is an optional
52
-
dependency that implements the event dispatcher and requires [org.apache.httpcomponents:httpclient:4.5.2](https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient/4.5.2).
53
-
The supplied `pom` files on Bintray define module dependencies.
54
-
55
-
### Feature Management Access
56
-
To access the Feature Management configuration in the Optimizely dashboard, please contact your Optimizely account executive.
52
+
```
57
53
58
-
### Using the SDK
59
54
60
-
See the Optimizely Full Stack [developer documentation](http://developers.optimizely.com/server/reference/index.html) to learn how to set
61
-
up your first Java project and use the SDK.
55
+
## Use the Java SDK
62
56
63
-
## Development
57
+
See the Optimizely Feature Experimentation [developer documentation](https://docs.developers.optimizely.com/experimentation/v4.0-full-stack/docs/java-sdk) to learn how to set up your first Java project and use the SDK.
64
58
65
-
### Building the SDK
66
59
67
-
To build local jars which are outputted into the respective modules' `build/lib` directories:
68
-
69
-
```
70
-
./gradlew build
71
-
```
60
+
## SDK Development
72
61
73
62
### Unit tests
74
63
75
-
#### Running all tests
76
-
77
64
You can run all unit tests with:
78
65
79
66
```
67
+
80
68
./gradlew test
69
+
81
70
```
82
71
83
72
### Checking for bugs
84
73
85
74
We utilize [FindBugs](http://findbugs.sourceforge.net/) to identify possible bugs in the SDK. To run the check:
86
75
87
76
```
77
+
88
78
./gradlew check
79
+
89
80
```
90
81
91
82
### Benchmarking
92
83
93
84
[JMH](http://openjdk.java.net/projects/code-tools/jmh/) benchmarks can be run through gradle:
94
85
95
86
```
87
+
96
88
./gradlew core-api:jmh
89
+
97
90
```
98
91
99
92
Results are generated in `$buildDir/reports/jmh`.
@@ -112,34 +105,74 @@ This software incorporates code from the following open source projects:
Copy file name to clipboardExpand all lines: core-api/README.md
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
# Java SDK Core API
2
-
This package contains the core APIs and interfaces for the Optimizely Full Stack API in Java.
2
+
This package contains the core APIs and interfaces for the Optimizely Feature Experimentation API in Java.
3
3
4
-
Full product documentation is in the [Optimizely developers documentation](https://docs.developers.optimizely.com/full-stack/docs/welcome).
4
+
Full product documentation is in the [Optimizely developers documentation](https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/welcome).
0 commit comments