All modules:
apollo-adapters contains adapters for common date and big decimal GraphQL scalars.
apollo-annotations is a very small artifact that contains contains @ApolloExperimental
and other annotations mainly useful for handling API lifecycle.
apollo-api contains the bare minimum symbols to compile the generated code. It does not contain any networking or caching code. For a more complete artifact, see apollo-runtime.
apollo-api-java contains adapters for Java Optional values.
apollo-ast contains code to work with the GraphQL Abstract Syntax Tree.
apollo-cli is a apollo-cli.jar
JVM application with helper commands to work with GraphQL schemas and APIs.
apollo-compiler is the low level compiler API used by apollo-gradle-plugin.
apollo-debug-server is a server that serves your normalized cache to the IntelliJ/Android Studio plugin.
apollo-engine-ktor is an implementation of HttpEngine
and WebSocketEngine
that use Ktor.
apollo-gradle-plugin-external contains the Apollo gradle plugin without the dependencies. It is smaller than apollo-gradle-plugin but more prone to Gradle classloader errors.
apollo-http-cache is a HTTP cache for your GraphQL operations. Compared to a regular HTTP cache, it also caches POST requests.
apollo-mockserver is a HTTP server for your tests. It supports multiplatform and websockets.
apollo-mpp-utils contains a few utilities for working with multiplatform projects.
apollo-normalized-cache contains ApolloStore
, ApolloCacheInterceptor
. apollo-store
would be a better module name but there's just too much stuff out there that uses apollo-normalized-cache
.
apollo-normalized-cache-api is the low-level cache. It knows nothing about coroutines and/or apollo-runtime
and contains a memory implementation of NormalizedCache
apollo-normalized-cache-sqlite contains an implementation of NormalizedCache
that uses SQLite to persist the data across app restarts.
apollo-runtime contains networking code to execute your queries and subscriptions. This is the main entry point.
apollo-runtime-java is similar to apollo-runtime but doesn't use coroutines or extension functions, making it easier to consume from Java.
apollo-rx2-support-java contains code to use apollo-runtime-java with RxJava2.
apollo-rx3-support-java contains code to use apollo-runtime-java with RxJava3.
apollo-tooling contains APIs to work with GraphQL schemas and operations as well as the GraphOS API. It is used from the CLI and Gradle plugin