Skip to content

Latest commit

 

History

History
84 lines (66 loc) · 4.75 KB

README.md

File metadata and controls

84 lines (66 loc) · 4.75 KB

java-ecosystem-compatibility

This repository contains some scripting and base data to build a database that can answer questions like

  • Which version of Neo4j Database is still in support and which Driver version is recommended for this database or compatible with it?
  • A complete list of available releases of the Neo4j Java Driver and what servers they support
  • A complete list of combinations of Spring Boot, Spring Data Neo4j (SDN, Neo4j-OGM (if applicable) and the Neo4j Java Driver they shipped with
  • Support status for Spring Boot and SDN versions as communicated by Broadcom.

The data

All data files reside in data.

Static / artisanal maintained data

Those files are manually maintained and contain static information:

t_driver_java_matrix.csv
Minimum required Java version for releases of the Neo4j Java Driver, sourced by going through the corresponding tags of the readme
t_driver_server_matrix.csv
List of drivers and the server versions that they support, sourced from https://github.com/neo4j/neo4j-java-driver/wiki
t_driver_support_matrix.csv
List of supported driver versions, conversations and common sense
t_neo4j_versions.csv
All Neo4j versions and their support dates. End of support for the 5.x series is always null, as the release of the next version ends support of the previous. From https://neo4j.com/developer/kb/neo4j-supported-versions/
t_ogm_support_matrix.csv
The status of OGM support
t_spring_boot_java_matrix.csv
Minimum required Java version for various Spring Boot releases, sourced by going through the corresponding manuals

Version and support matrices

Those files are generated via export_database.sh and contain the following information:

v_java_driver_versions.csv
The full list of all released versions of the Java driver, server_versions is a nested attribute, containing a list of supported servers.
v_neo4j_driver_support_matrix.csv
Neo4j and driver support matrix
v_neo4j_ogm_support_matrix.csv
The list of Neo4j-OGM releases, their minimum required and maximum supported Java driver and the server version they can connect to
v_neo4j_versions.csv
All known Neo4j versions
v_sdn_versions.csv
The list of all combinations of Spring Boot and SDN versions and whether they are supported in either an OSS or commercially way.
v_sdn_versions_with_commercial_support.csv
The list of all combinations of Spring Boot and SDN versions that are still supported under a commercial Broadcom license.
v_sdn_versions_with_oss_support.csv
The list of all combinations of Spring Boot and SDN versions that are still OSS supported.
v_supported_java_driver_versions.csv
All supported driver versions

Create and populate a database yourself

Required tooling

Step by step

All scripts are idempotent and can be safely run multiple times. First create an empty database:

./bin/create_or_update_database.sh test.duckdb

Then populate it. The first run will take some time, as we grab data from Maven central and actually create some Java projects to have the actual shipped dependencies with Spring Boot and Neo4j-OGM projects:

./bin/import_and_update.sh test.duckdb