-
Notifications
You must be signed in to change notification settings - Fork 111
Managing Dependencies
Xodus artefacts are published to Maven Central. The latest version is 2.0.1
.
Your project can use different Xodus API layers consisting of API and implementation parts (subprojects, modules). Other parts of the project require different Xodus dependencies. If your project consists of an API and implementation parts, you probably want to define different dependencies for each.
API
Environments
Database Encryption
If you use Environments or Entity Stores, it is enough to make the API part of your project dependent on the xodus-openAPI
artifacts:
<!-- in Maven project -->
<dependency>
<groupId>org.jetbrains.xodus</groupId>
<artifactId>xodus-openAPI</artifactId>
<version>2.0.1</version>
</dependency>
// in Gradle project
dependencies {
api 'org.jetbrains.xodus:xodus-openAPI:2.0.1'
}
If your project uses the Environments API, define a dependency on the xodus-environment
artifacts for implementation:
<!-- in Maven project -->
<dependency>
<groupId>org.jetbrains.xodus</groupId>
<artifactId>xodus-environment</artifactId>
<version>2.0.1</version>
</dependency>
// in Gradle project
dependencies {
implementation 'org.jetbrains.xodus:xodus-environment:2.0.1'
}
If your project uses the Entity Stores API, define dependencies on the xodus-entity-store
, xodus-environment
artifacts for implementation:
<!-- in Maven project -->
<dependency>
<groupId>org.jetbrains.xodus</groupId>
<artifactId>xodus-entity-store</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.jetbrains.xodus</groupId>
<artifactId>xodus-environment</artifactId>
<version>2.0.1</version>
</dependency>
// in Gradle project
dependencies {
implementation 'org.jetbrains.xodus:xodus-entity-store:2.0.1'
implementation 'org.jetbrains.xodus:xodus-environment:2.0.1'
}
All the information that is provided above is summarized in the following table:
API Dependencies | Implementation Dependencies | |
---|---|---|
Environments | xodus-openAPI | xodus-environment |
Entity Stores | xodus-openAPI | xodus-entity-store, xodus-environment |
To use database encryption, define a dependency on the xodus-crypto
artifacts:
<!-- in Maven project -->
<dependency>
<groupId>org.jetbrains.xodus</groupId>
<artifactId>xodus-crypto</artifactId>
<version>2.0.1</version>
</dependency>
// in Gradle project
dependencies {
implementation 'org.jetbrains.xodus:crypto:2.0.1'
}
If you use built-in jetbrains.exodus.crypto.streamciphers.JBChaChaStreamCipherProvider
stream cipher provider (which is recommended) no other dependendecies are needed. Otherwise you have to define a dependency on the Legion of the Bouncy Castle artifacts:
<!-- in Maven project -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpg-jdk15on</artifactId>
<version>1.65</version>
</dependency>
// in Gradle project
dependencies {
implementation 'org.bouncycastle:bcpg-jdk15on:1.65'
}