This repository houses the Java SDK for Optimizely's Full Stack product.
The SDK is available through Bintray. The core-api and httpclient Bintray packages are optimizely-sdk-core-api
and optimizely-sdk-httpclient respectively. To install, place the
following in your build.gradle
and substitute VERSION
for the latest SDK version available via Bintray:
repositories {
jcenter()
}
dependencies {
compile 'com.optimizely.ab:core-api:{VERSION}'
compile 'com.optimizely.ab:core-httpclient-impl:{VERSION}'
// The SDK integrates with multiple JSON parsers, here we use
// Jackson.
compile 'com.fasterxml.jackson.core:jackson-core:2.7.1'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.7.1'
compile 'com.fasterxml.jackson.core:jackson-databind:2.7.1'
}
core-api
requires org.slf4j:slf4j-api:1.7.16 and a supported JSON parser.
We currently integrate with Jackson, GSON, json.org,
and 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. core-httpclient-impl
is an optional
dependency that implements the event dispatcher and requires org.apache.httpcomponents:httpclient:4.5.2.
The supplied pom
files on Bintray define module dependencies.
To access the Feature Management configuration in the Optimizely dashboard, please contact your Optimizely account executive.
See the Optimizely Full Stack developer documentation to learn how to set up your first Java project and use the SDK.
To build local jars which are outputted into the respective modules' build/lib
directories:
./gradlew build
You can run all unit tests with:
./gradlew test
We utilize FindBugs to identify possible bugs in the SDK. To run the check:
./gradlew check
JMH benchmarks can be run through gradle:
./gradlew core-api:jmh
Results are generated in $buildDir/reports/jmh
.
Please see CONTRIBUTING.
Copyright 2016, Optimizely
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.