Getting Started¶
Requirements:
- Instancio 5.x: Java 8 or higher.
- Instancio 6.x: Java 17 or higher.
Dependencies¶
The following dependencies are available from Maven central:
| Dependency | JPMS Module Name | Description |
|---|---|---|
instancio-bom | - | Bill Of Materials |
instancio-core | org.instancio.core | Core library |
instancio-junit | org.instancio.junit | JUnit framework integration |
instancio-guava | org.instancio.guava | Support for Google Guava |
instancio-kotlin | org.instancio.kotlin | Instancio Kotlin extension |
instancio-protobuf | org.instancio.protobuf | Instancio Protobuf support |
The org.instancio:instancio artifact on Maven central is an older dependency that should no longer be used.
instancio-junit¶
Use the instancio-junit dependency that matches your JUnit version:
- For JUnit 5, use
instancio-junit:5.x - For JUnit 6, use
instancio-junit:6.x
It includes a transitive dependency on instancio-core, therefore it is not necessary to import both.
instancio-core¶
If you use JUnit 4, TestNG, or would like to use Instancio standalone, then use instancio-core:
instancio-guava¶
Using instancio-guava requires the following dependencies on the classpath:
- either
instancio-coreorinstancio-junit com.google.guava:guavaversion23.1-jreor higher
instancio-kotlin¶
instancio-kotlin includes a transitive dependency on instancio-core, therefore it is not necessary to import both.
The following Kotlin dependencies are not included transitively. Please make sure they are available on the classpath:
org.jetbrains.kotlin:kotlin-stdliborg.jetbrains.kotlin:kotlin-reflect
instancio-protobuf¶
Using instancio-protobuf requires the following dependencies on the classpath:
- either
instancio-coreorinstancio-junit com.google.protobuf:protobuf-javaversion4.x
instancio-bom¶
Use instancio-bom to easily manage Instancio dependencies:
Versioning¶
Instancio version numbers adhere to the MAJOR.MINOR.PATCH format.
- Major versions are generally reserved for significant features and breaking changes.
- Minor and Patch versions include bug fixes, smaller new features, but may also include minor breaking changes.
In other words, the project does not follow Semantic Versioning, though the versioning scheme loosely resembles it.